Game Development Interactive Animation Yingcai Xiao Video Game

  • Slides: 18
Download presentation
Game Development Interactive Animation Yingcai Xiao

Game Development Interactive Animation Yingcai Xiao

Video Game Interactive Animation: user-> interface (look) -> action (feel) -> feedback (A/V, haptic)

Video Game Interactive Animation: user-> interface (look) -> action (feel) -> feedback (A/V, haptic)

Video Game User Controller Display Game (Software)

Video Game User Controller Display Game (Software)

Video Game Display Device Driver (GDI) Input Device Driver Game (Software)

Video Game Display Device Driver (GDI) Input Device Driver Game (Software)

Game Programming Components The Gang of Four (G 4) for Interactive Animation 1. 2.

Game Programming Components The Gang of Four (G 4) for Interactive Animation 1. 2. 3. 4. Controller (Input) Game Objects (Geometry and Attributes) Dynamics (Key Frame Animation) Event-driven Programming (EDP: connects inputs to animation scripts)

Game controllers: input devices The evolution of input devices: CLI (Commend Line Input) GUI

Game controllers: input devices The evolution of input devices: CLI (Commend Line Input) GUI (Graphical User Interface) NUI (Natural Interface)

Animation: any change that has a visual effect. Motion Dynamics: movements (geometry change) Update

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 Animation • • Defining key-frames Inbetweening with interpolations: Lerping (linear interpolation) parabola interpolation

Key-frame Animation • • Defining key-frames Inbetweening with interpolations: Lerping (linear interpolation) parabola interpolation

Key-frame Animation

Key-frame Animation

Neighborhood skeletons: define interpolated shapes

Neighborhood skeletons: define interpolated shapes

Graphical languages P-curves (parametric representation of motion)

Graphical languages P-curves (parametric representation of motion)

Animation Control • Explicit: animator provides a description of everything that occurs in the

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.

Double Buffering Why? To reduce flickering How? Draw to the invisible back buffer Copy

Double Buffering 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 Code void Draw() { use. Canvas(bbfr); Draw. Objects(); use. Canvas(SCREEN_CANVAS);

Double Buffering – Pseudo Code void Draw() { use. Canvas(bbfr); Draw. Objects(); use. Canvas(SCREEN_CANVAS); copy. Pixel(bbfr, viewing-rectagle); }

Separation of Development Tasks The Gang of Four (G 4) for Interactive Animation 1.

Separation of Development Tasks The Gang of Four (G 4) for Interactive Animation 1. 2. 3. 4. Controller (Input) Game Objects (Geometry and Attributes) Dynamics (Key Frame Animation) Event-driven Programming (EDP: connects inputs to animation scripts)

Two Aspects of Game Development Look + Feel Look: Appearance • Game Objects (Geometry

Two 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/)

Two Aspects of Game Development Feel: Controlled Animation • • • animation scripts connected

Two 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 Unity 3 D

Graphics HW and SW Layers Application Game Graphics SW Application Initialization Utility Game IDE

Graphics HW and SW Layers Application Game Graphics SW Application Initialization Utility Game IDE OS GUI API Event Loop Game Engine OS EQ Interface Graphics Library Graphics Engine Event Queue GDI Application Library OS OS GPU Graphics Card Graphics HW