TAILIEUCHUNG - Character Animation with Direct3D- P12

Character Animation with Direct3D- P12 | 206 Character Animation with Direct3D I suppose Figure requires some additional explanation. Blink Channel This channel uses only one render target the face with the eyelids closed . In Figure there are two times that the eyes blink B1 and B2 . You see the weights go up and down in a nice bell-shaped curve when this happens. Emotion Channel The emotion channel can be used by many different render targets but only one at a time. This means that if you want to change from a happy to a sad render target you first have to fade out the happy render target to 0 before fading in the sad render target. You can see an example of this in Figure where E1 is faded out to give way for E2. Speech Channels To create nice-looking speech you ll need at least two animation channels. This is to avoid always fading out a render target before starting the next. You can see this in Figure with S1 S2 and S3. See how S2 starts before S1 has ended same with S3 and S2 . This is possible because more than one animation channel is used. Each animation channel has one render target and one render weight at all times. The Facecontroller simply keeps track of this information and renders a Face by first setting the correct render targets and their corresponding weights. The definition of the Facecontroller class is as follows class Facecontroller friend class Face public FaceController D3DXVECTOR3 pos FACE pFace void Update float deltaTime void Render public Face m_pFace int m_emotionIndex int m_speechIndices 2 D3DXVECTOR4 m_morphWeights D3DXMATRIX m_headMatrix Eye m_eyes 2 lease purchase PDF Split-Merge on to remove this watermark. Chapter 9 Facial Animation 207 Table describes the Facecontroller members. TABLE FACECONTROLLER MEMBERS sase purchase PDF Split-Merge on to remove this watermark. 208 Character Animation with Direct3D Face Factory Anyone who has modeled a face for a game knows it takes a long time to get right. First you ll have