18
Yingcai Xiao Game Development Interactive Animation

Yingcai Xiao Game Development Interactive Animation

Embed Size (px)

Citation preview

Yingcai Xiao

Game DevelopmentInteractive Animation

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

UserUser

ControllerController

DisplayDisplay

Game (Software)

Game (Software)

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

Key-frame AnimationKey-frame Animation

Neighborhoodskeletons: defineinterpolatedshapes

Graphical languages P-curves (parametric representation of motion)

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

Graphics HW and SW LayersGraphics HW and SW Layers

Application Game Graphics SW

ApplicationInitialization

Utility

Game IDE

Application Library

OS GUI APIEvent Loop

Game Engine

OS EQ Interface Graphics Library Graphics Engine

Event Queue GDI GDI

OS OS

GPUGraphics HWGraphics Card