Demo video
Programming
1. Expression system
Recorded expressions are applied to characters who are speaking and can reflect dynamic facial expressions, including mouth movements. This is achieved through pre-recording and playback within the blueprint of each line. Parameter expressions are used for characters who do not speak in the following line. The implementation method involves using Happy and Amazement as indicators to set up a two-dimensional Blendspace. Four expressions, Amaze, Lost, Smile, and Expressionless, are pre-recorded as three endpoints and one central point on the coordinate axes. Happy and Amazement parameters are individually set on each character, with their initial values representing their expressions at the beginning of the first line. Subsequent lines change the characters' expressions by modifying these two parameters at the end of each line.
Livelink-recorded facial expressions
2D Blendspace parameter expressions
4 preset Blendspace expressions
Blueprint for controlling expressions
2. Dialogue system
Store dialogues in an array, click the play button to iterate through the array elements for playing dialogues and adjusting character expressions, while also determining if it's time for a branching decision. After making a choice, remove array elements that do not belong to the selected branch to proceed with the chosen path.