Tải bản đầy đủ (.pdf) (7 trang)

a0002 advanced animation with direct morebook vn 5573

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (72.42 KB, 7 trang )


Table of Contents
Advanced Animation with DirectX..................................................................................................................1
Introduction.........................................................................................................................................................4
Part One: Preparations.....................................................................................................................................7
Chapter 1: Preparing for the Book..................................................................................................................8
Overview.................................................................................................................................................8
Installing the DirectX SDK.....................................................................................................................8
Choosing the Debug or Retail Libraries...............................................................................................10
Configuring Your Compiler..................................................................................................................11
Setting the DirectX SDK Directories.............................................................................................11
Linking to the DirectX Libraries....................................................................................................12
Setting the Default char State.........................................................................................................14
Using the Book's Helper Code..............................................................................................................15
Using the Helper Objects...............................................................................................................15
Checking Out the Helper Functions...............................................................................................21
Moving On with the Book....................................................................................................................34
Part Two: Animation Basics...........................................................................................................................36
Chapter 2: Timing in Animation and Movement.........................................................................................37
Using Time−Based Motion...................................................................................................................37
Reading Time in Windows...................................................................................................................37
Animating with Time............................................................................................................................38
Moving with Time................................................................................................................................41
Moving along Paths........................................................................................................................41
Creating an .X Path Parser.............................................................................................................48
Creating In−Game Cinematic Sequences.......................................................................................53
Check Out the Demos...........................................................................................................................54
TimedAnim....................................................................................................................................54
TimedMovement............................................................................................................................55
Route..............................................................................................................................................55
Cinematic........................................................................................................................................56


Chapter 3: Using the .X File Format..............................................................................................................58
Working with .X Templates and Data Objects.....................................................................................58
Defining Templates........................................................................................................................61
Creating Data Objects from Templates..........................................................................................63
Embedding Data Objects and Template Restrictions.....................................................................64
Working with the DirectX Standard Templates.............................................................................65
Accessing .X Files................................................................................................................................66
Registering Custom and Standard Templates................................................................................66
Opening an .X File.........................................................................................................................67
Enumerating Data Objects..............................................................................................................68
Retrieving Data from a Data Object...............................................................................................72
Constructing an .X Parser Class.....................................................................................................75
Loading Meshes from .X......................................................................................................................79
Loading Meshes Using D3DX.......................................................................................................79
Loading Meshes with Your .X Parser............................................................................................82
i


Table of Contents
Chapter 3: Using the .X File Format
Loading Skinned Meshes...............................................................................................................83
Loading Frame Hierarchies from .X.....................................................................................................84
Loading Animations from .X................................................................................................................86
Loading Custom Data from .X..............................................................................................................86
Check Out the Demos...........................................................................................................................88
ParseFrame.....................................................................................................................................88
ParseMesh......................................................................................................................................88
Part Three: Skeletal Animation......................................................................................................................90
Chapter 4: Working with Skeletal Animation..............................................................................................91
Overview...............................................................................................................................................91

Taking on Skeletal Animation..............................................................................................................91
Using Skeletal Structures and Bone Hierarchies..................................................................................92
Loading Hierarchies from .X..........................................................................................................93
Modifying Bone Orientation..........................................................................................................95
Updating the Hierarchy..................................................................................................................96
Working with Skinned Meshes.............................................................................................................97
Loading Skinned Meshes from .X................................................................................................100
Creating a Secondary Mesh Container.........................................................................................101
Mapping Bones to Frames............................................................................................................102
Manipulating the Skinned Mesh...................................................................................................103
Updating the Skinned Mesh.........................................................................................................104
Rendering the Skinned Mesh.......................................................................................................106
Check Out the Demo...........................................................................................................................106
Chapter 5: Using Key−Framed Skeletal Animation...................................................................................108
Using Key−Framed Skeletal Animation Sets.....................................................................................108
Using Keys in Animation...................................................................................................................109
Working with the Four Key Types.....................................................................................................110
Reading Animation Data from .X Files..............................................................................................112
Matching Animations to Bones..........................................................................................................119
Updating Animations..........................................................................................................................121
Obtaining Skeletal Mesh Data from Alternative Sources...................................................................122
Check Out the Demos.........................................................................................................................123
Chapter 6: Blending Skeletal Animations...................................................................................................125
Overview.............................................................................................................................................125
Blending Skeletal Animations............................................................................................................125
Combining Transformations...............................................................................................................126
Enhancing Skeletal Animation Objects..............................................................................................127
Check Out the Demo...........................................................................................................................132
Chapter 7: Implementing Rag Doll Animation...........................................................................................134
Overview.............................................................................................................................................134

Creating Dolls from Characters..........................................................................................................134
Working with Rigid−Body Physics....................................................................................................137
Creating a Rigid Body..................................................................................................................138
Positioning and Orienting Your Rigid Bodies.............................................................................140
ii


Table of Contents
Chapter 7: Implementing Rag Doll Animation
Processing the Motion of Rigid Bodies........................................................................................143
Using Forces to Create Motion....................................................................................................150
Connecting Rigid Bodies with Springs........................................................................................151
Providing Collision Detection and Response...............................................................................154
Creating a Rag Doll Animation System.............................................................................................160
Defining the Rigid Body State.....................................................................................................160
Containing Bones.........................................................................................................................161
Creating the Rag Doll Controller Class........................................................................................162
Building Bone Data......................................................................................................................165
Computing the Bone Bounding Box............................................................................................166
Setting the Forces.........................................................................................................................169
Integrating the Bones....................................................................................................................170
Processing Collisions...................................................................................................................172
Enforcing Bone−to−Bone Connections.......................................................................................174
Rebuilding the Hierarchy.............................................................................................................175
Check Out the Demo...........................................................................................................................176
Part Four: Morphing Animation..................................................................................................................178
Chapter 8: Working with Morphing Animation.........................................................................................179
Morphing in Action............................................................................................................................179
Defining Source and Target Meshes............................................................................................180
Morphing the Meshes...................................................................................................................180

Building a Morphed Mesh through Manipulation..............................................................................182
Drawing Morphed Meshes..................................................................................................................185
Dissecting the Subsets..................................................................................................................185
Creating a Morphing Vertex Shader............................................................................................187
Check Out the Demos.........................................................................................................................190
Chapter 9: Using Key−Framed Morphing Animation...............................................................................192
Using Morphing Animation Sets........................................................................................................192
Creating .X Morphing Animation Templates.....................................................................................192
Loading Morphing Animation Data....................................................................................................194
Rendering the Morphing Mesh...........................................................................................................198
Obtaining Morphing Mesh Data from Alternative Sources................................................................201
Check Out the Demos.........................................................................................................................202
Chapter 10: Blending Morphing Animations..............................................................................................204
Blending Morphing Animations.........................................................................................................204
Using a Base Mesh in Blended Morphing Animation.................................................................205
Calculating the Differences..........................................................................................................205
Blending the Differences..............................................................................................................207
Building a Blending Morph Vertex Shader..................................................................................208
Using the Blending Morph Vertex Shader...................................................................................213
Check Out the Demos.........................................................................................................................215
Chapter 11: Morphing Facial Animation....................................................................................................216
The Basics of Facial Animation..........................................................................................................216
Blended Morphing Back in Action..............................................................................................216
iii


Table of Contents
Chapter 11: Morphing Facial Animation
Using Phonemes for Speech.........................................................................................................218
Building Facial Meshes......................................................................................................................220

Creating the Base Mesh................................................................................................................220
Creating Facial Expressions.........................................................................................................221
Creating Viseme Meshes..............................................................................................................223
Creating Animation Sequences...........................................................................................................225
Automating Basic Features..........................................................................................................225
Building Phoneme Sequences......................................................................................................226
Using an .X Parser for Sequences................................................................................................233
Playing Facial Sequences with Sound................................................................................................237
Using DirectShow for Sound.......................................................................................................238
Synchronizing Animation with Sound.........................................................................................239
Looping Sound Playback..............................................................................................................240
Check Out the Demo...........................................................................................................................241
Part Five: Miscellaneous Animation............................................................................................................243
Chapter 12: Using Particles in Animation...................................................................................................244
Working with Particles.......................................................................................................................244
Starting with the Basics................................................................................................................245
Drawing Particles with Quad Polygons........................................................................................246
Working with Point Sprites..........................................................................................................250
Improving Particle Rendering with Vertex Shaders.....................................................................253
Bringing Your Particles to Life...........................................................................................................260
Moving Particles Using Velocity.................................................................................................261
Using Intelligence in Processing..................................................................................................262
Creating and Destroying Particles................................................................................................263
Drawing Your Particles................................................................................................................264
Controlling Particles with Class.........................................................................................................267
Using the Emitter in Your Project......................................................................................................270
Creating Particle Engines in Vertex Shaders......................................................................................270
Check Out the Demos.........................................................................................................................271
Chapter 13: Simulating Cloth and Soft Body Mesh Animation................................................................273
Simulating Cloth in Your Projects......................................................................................................273

Defining Cloth Points and Springs...............................................................................................274
Obtaining Cloth Data from Meshes..............................................................................................275
Applying Force to Create Motion................................................................................................278
Rebuilding and Rendering the Cloth Mesh..................................................................................286
Restoring the Original Mesh........................................................................................................287
Adding More Springs...................................................................................................................288
Loading Mass and Spring Data from .X.............................................................................................289
Building an .X Parser for Cloth Data...........................................................................................290
Working with Collision Detection and Response...............................................................................292
Defining Collision Objects...........................................................................................................292
Detecting and Responding to Collisions......................................................................................295
Creating a Cloth Mesh Class..............................................................................................................298
Using Soft Body Meshes....................................................................................................................307
Reverting a Soft Body Mesh........................................................................................................307
iv


List of Sidebars
Chapter 1: Preparing for the Book
Programs on the CD

Chapter 2: Timing in Animation and Movement
Programs on the CD

Chapter 3: Using the .X File Format
Programs on the CD

Chapter 4: Working with Skeletal Animation
Programs on the CD


Chapter 5: Using Key−Framed Skeletal Animation
Programs on the CD

Chapter 6: Blending Skeletal Animations
Programs on the CD

Chapter 7: Implementing Rag Doll Animation
Programs on the CD

Chapter 8: Working with Morphing Animation
Programs on the CD

345


Chapter 9: Using Key−Framed Morphing Animation

Chapter 9: Using Key−Framed Morphing Animation
Programs on the CD

Chapter 10: Blending Morphing Animations
Programs on the CD

Chapter 11: Morphing Facial Animation
Programs on the CD

Chapter 12: Using Particles in Animation
Programs on the CD

Chapter 13: Simulating Cloth and Soft Body Mesh Animation

Programs on the CD

Chapter 14: Using Animated Textures
Programs on the CD

346



×