180 likes | 192 Views
Game Development Interactive Animation. Yingcai Xiao. Video Game. Interactive Animation: user-> interface (look) -> action (feel) -> feedback (A/V, haptic). Video Game. Display. User. Controller. Game (Software). Video Game. Display Device Driver (GDI).
E N D
Game Development Interactive Animation • Yingcai Xiao
Video Game Interactive Animation: user-> interface (look) -> action (feel) -> feedback (A/V, haptic)
Video Game Display User Controller Game (Software)
Video Game Display Device Driver (GDI) Input Device Driver Game (Software)
Game Programming Components • The Gang of Four (G4) for Interactive Animation • 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 (Graphical User Interface) • NUI (Natural Interface)
Animation 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
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.
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() { useCanvas(bbfr); DrawObjects(); useCanvas(SCREEN_CANVAS); copyPixel(bbfr, viewing-rectagle); }
Separation of Development Tasks • The Gang of Four (G4) for Interactive Animation • 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 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 to input events via EDP • implemented by programmers • though a programming language • or a visual interface like Unity3D