yingcai xiao game development interactive animation
TRANSCRIPT
Video GameVideo Game
Interactive Animation: Interactive Animation:
user->user->interface (look) -> interface (look) ->
action (feel) -> action (feel) -> feedback (A/V, haptic)feedback (A/V, haptic)
Video GameVideo Game
Input Device Driver
Input Device Driver
DisplayDeviceDriver (GDI)
DisplayDeviceDriver (GDI)
Game (Software)
Game (Software)
Game Programming ComponentsGame Programming Components
The Gang of Four (G4) for Interactive Animation
1. Controller (Input)2. Game Objects (Geometry and Attributes)3. Dynamics (Key Frame Animation)4. Event-driven Programming (EDP: connects
inputs to animation scripts)
The Gang of Four (G4) for Interactive Animation
1. Controller (Input)2. Game Objects (Geometry and Attributes)3. Dynamics (Key Frame Animation)4. Event-driven Programming (EDP: connects
inputs to animation scripts)
Game controllers: input devicesGame controllers: input devices
The evolution of input devices:
CL (Commend Line Input)GUI (Graphical User Interface)NUI (Natural Interface)
The evolution of input devices:
CL (Commend Line Input)GUI (Graphical User Interface)NUI (Natural Interface)
AnimationAnimation
Animation: any change that has a visual effect.
Motion Dynamics: movements (geometry change)
Update Dynamics: attribute change (color, texture, …)
Others: camera position, lighting, rendering techniques, …
Animation: any change that has a visual effect.
Motion Dynamics: movements (geometry change)
Update Dynamics: attribute change (color, texture, …)
Others: camera position, lighting, rendering techniques, …
Key-frame AnimationKey-frame Animation
• Defining key-frames• Inbetweening with interpolations:
Lerping (linear interpolation)parabola interpolation
• Defining key-frames• Inbetweening with interpolations:
Lerping (linear interpolation)parabola interpolation
Animation Control • Explicit: animator provides a description of everything
that occurs in the animation.• Tracking live action.• Procedural: movement computed by a procedure. • Actors (Object-oriented high-level procedural control)• Kinematics: positions and velocities of points.• Dynamics: physical laws that govern kinematics.• Physically based: cloth draping, plastics bending, …• Constraint-based: constraint movements.
• Explicit: animator provides a description of everything that occurs in the animation.
• Tracking live action.• Procedural: movement computed by a procedure. • Actors (Object-oriented high-level procedural control)• Kinematics: positions and velocities of points.• Dynamics: physical laws that govern kinematics.• Physically based: cloth draping, plastics bending, …• Constraint-based: constraint movements.
Double BufferingWhy?
To reduce flickeringHow? Draw to the invisible back buffer
Copy to the visible front buffer. (Btblt)==>very fast with HW assistance
Why? To reduce flickering
How? Draw to the invisible back buffer
Copy to the visible front buffer. (Btblt)==>very fast with HW assistance
Double Buffering – Pseudo Codevoid Draw(){ useCanvas(bbfr); DrawObjects(); useCanvas(SCREEN_CANVAS); copyPixel(bbfr, viewing-rectagle);}
void Draw(){ useCanvas(bbfr); DrawObjects(); useCanvas(SCREEN_CANVAS); copyPixel(bbfr, viewing-rectagle);}
Separation of Development TasksSeparation of Development Tasks
The Gang of Four (G4) for Interactive Animation
1. Controller (Input)2. Game Objects (Geometry and Attributes)3. Dynamics (Key Frame Animation)4. Event-driven Programming (EDP: connects
inputs to animation scripts)
The Gang of Four (G4) for Interactive Animation
1. Controller (Input)2. Game Objects (Geometry and Attributes)3. Dynamics (Key Frame Animation)4. Event-driven Programming (EDP: connects
inputs to animation scripts)
Two Aspects of Game DevelopmentTwo Aspects of Game Development
Look + Feel
Look: Appearance
•Game Objects (Geometry and Attributes)•can be created by artists •though a visual interface like Blender and Maya •or download prebuilt ones online (e.g. http://www.turbosquid.com/)
Look + Feel
Look: Appearance
•Game Objects (Geometry and Attributes)•can be created by artists •though a visual interface like Blender and Maya •or download prebuilt ones online (e.g. http://www.turbosquid.com/)
Two Aspects of Game DevelopmentTwo Aspects of Game Development
Feel: Controlled Animation
•animation scripts•connected to input events via EDP •implemented by programmers•though a programming language •or a visual interface like Unity3D
Feel: Controlled Animation
•animation scripts•connected to input events via EDP •implemented by programmers•though a programming language •or a visual interface like Unity3D