Ryan Marcotte CS 499 (Honours Seminar) March 16, 2011
|
|
- Ruby Annice Fields
- 5 years ago
- Views:
Transcription
1 Ryan Marcotte CS 499 (Honours Seminar) March 16, 2011
2 Outline Introduction to the problem Basic principles of skeletal animation, tag points Description of animation algorithm Demo Future research 2
3 3
4 Application Most games use 3D models to represent characters, items Some items can be equipped by the player Equipment changes the appearance of the player s avatar 4
5 Example Source: pso-world.com, Phantasy Star Universe 5
6 Problem Many different equipment items = many different (unique) combinations Impractical to model each combination Example 5 swords (must equip one) 4 shields (must equip one) 12 accessories (equip up to three) Result 6
7 Problem How to represent all equipment combinations? Unfeasible to use a unique model for each combination Equipment is subject to player movement and animation Equipment may have own animations independent of the player s avatar Algorithm must be fast 7
8 Proposed Solution Skeletal animation (for animating 3D models via a skeleton) Tag points (for providing attachment points subject to the animation of a model s skeleton) 8
9 9
10 What is skeletal animation? Uses bones and joints to manipulate vertices (the skin) A bone hierarchy exists (analogous to own skeleton) Animation produced by interpolating joint translations and rotations between keyframes 10
11 What is a bone? A bone is a frame of reference for a group of vertices Conceptual in nature 11
12 What is a joint? Joints define points of manipulation in the skeleton Bones are connected by joints Joints may be rotated or translated 12
13 How to construct skeleton? Skeleton is constructed as a tree Individual joints are manipulated by their parent joints 13
14 How to construct skeleton? 14
15 How to construct skeleton? Where should the root node be placed? How many joints are needed? 15
16 Why is this useful? Animators manipulate bones instead of individual vertices Animation appears more realistic Animations can be generated at runtime (rag-doll physics) Less space is required to store animations 16
17 What are potential drawbacks? Additional computations are needed at runtime More complex animations (such as facial animation or those for invertebrates) may be difficult to model using skeletal animation techniques 17
18 Computer Representations No fixed representation The representation used for the MS3D model format will be discussed here C++ structures will be used 18
19 How to represent bones? struct MS3D_Vertex { byte flags; // SELECTED SELECTED2 HIDDEN float vertex[3]; // position char boneid; // -1 = no bone byte referencecount; // editor use only }; 19
20 How to represent joints? struct MS3D_KeyFrame_Rotation { float time; // time in seconds float _3D[3]; // x, y, z angles OR- position }; typedef MS3D_KeyFrame_Position MS3D_KeyFrame_Rotation; struct MS3D_Joint { unsigned char flags; // SELECTED DIRTY char name[32]; // name of joint char parentname[32]; // name of parent joint float rotation[3]; // initial local reference matrix float position[3]; // initial local reference matrix int numkeyframesrot; // number of rotation keyframes int numkeyframestrans; // number of translation keyframes MS3D_KeyFrame_Rotation keyrotation[numkeyframesrot]; // local animation matrices MS3D_KeyFrame_Position keyposition[numkeyframestrans]; // local animation matrices }; 20
21 How to represent joints? struct MS3D_Runtime_Joint { std::string name; // name of joint std::string parentname; // name of parent joint int parentid; // index of parent joint float startrotation[3]; // initial local reference matrix float startposition[3]; // initial local reference matrix int numkeyframesrot; // number of rotation keyframes int numkeyframestrans; // number of translation keyframes MS3D_KeyFrame_Rotation keyrotation[numkeyframesrot]; // local animation parameters MS3D_KeyFrame_Position keyposition[numkeyframestrans]; // local animation parameters matrix4x4 skeletonlocalmatrix, skeletonglobalmatrix; // matrices for initial pose matrix4x4 localmatrix, globalmatrix; // matrices for new pose }; 21
22 Tying It Together Need the following information stored at runtime Initial vertex positions and their corresponding normals Texture coordinates and materials for vertices Animation data Initial position and orientation of joints Position and rotation data for keyframes 22
23 How to produce animation? Use linear transformations (matrix multiplication) stored in joints Joints move or rotate bones Vertices move with the bones A series of matrix multiplications are used for handling the parent-child relationship among joints 23
24 What about tag points? Also known as attachment points Applies translation and rotation transformations to a secondary mesh such that it appears to be attached to the original mesh 24
25 What about tag points? We will use existing joints within the skeleton to attach other models Simply store a pointer to the joint where other models will be attached 25
26 26
27 Algorithm (Initialization) Load model information from file Store model information in a format more optimal for runtime use Build bone/joint hierarchy for initial pose 27
28 Algorithm (Initialization) Algorithm : InitializeJoints Input : MESH (a model loaded from disk, stored in memory) Output : MESH, with an initialized bone/joint hierarchy for the initial pose Return : void // Use integers to store reference to parent joint (joints stored in array) for all joints in MESH joint[x].parentid = IndexOfJointWithName(joint[X].parentName); // -1 if no parent // Compute transformation matrices for each joint for all joints in MESH joint[x].skeletonlocalmatrix.initwithrotation(joint[x].startrotation); joint[x].skeletonlocalmatrix.initwithposition(joint[x].startposition); int PID = joint[x].parentid; if PID = -1 joint[x].skeletonglobalmatrix = joint[x].skeletonlocalmatrix; else joint[x].skeletonglobalmatrix = joint[pid].skeletonglobalmatrix * joint[x].skeletonlocalmatrix; 28
29 Algorithm (Initialization) initwithrotation and initwithposition only affect specific matrix entries initwithrotation initwithposition 29
30 Algorithm (Tag Points) Each model maintains a hash table of pointers to joints (using string-based IDs) for fast retrieval Creating a tag point only involves retrieving a pointer to the intended joint Pointer will be used to access joint s global matrix (stores joint s position and rotation with respect to the origin) The joint s matrix will be passed as a parameter into the animation algorithm 30
31 Algorithm (Animation) Manipulate the skeleton into new pose according to the current frame Transform vertices and normals using new pose Render the model in new pose 31
32 Algorithm (Animation) Algorithm : SetFrame Input : MESH (a model loaded from disk, stored in memory) FRAME (floating point number representing animation frame) BASE_MATRIX (initial translation / rotation matrix (for tagging)) Output : MESH, with an initialized bone/joint hierarchy for the specified pose Return : void if FRAME < 0.0f for all joints in MESH joint[x].localmatrix = joint[x].skeletonlocalmatrix; joint[x].globalmatrix = joint[x].skeletonglobalmatrix; else for all joints in MESH TransformJoint(MESH, joint[x], FRAME, BASE_MATRIX); 32
33 Animation (Animation) Determine the keyframes that the current frame lies between Get position and rotation information from keyframes and store in matrices (initwithposition, initwithrotation) Interpolate between the resultant matrices; store in TransformMatrix 33
34 Algorithm (Animation) Algorithm : TransformJoint Input : MESH (a model loaded from disk, stored in memory) JOINT (joint currently being processed) FRAME (floating point number representing animation frame) BASE_MATRIX (initial translation / rotation matrix (for tagging)) Output : JOINT, with initialized transformation matrices for the specified pose Return : void 34
35 Algorithm (Animation) float pos[3]; // Stores transformed position if JOINT.numKeyPositions > 0 int i1 = -1, i2 = -1; for all keyframes (except LAST) in JOINT if((frame >= JOINT.keyPosition[X].time) and (FRAME < JOINT.keyPosition[X+1].time)) i1 = X; i2 = X + 1; break; if((i1 = -1) or (i2 = -1)) if FRAME >= JOINT.keyPosition[LAST].time { pos = JOINT.keyPosition[LAST]._3D; } else if FRAME < JOINT.keyPosition[0].time { pos = JOINT.keyPosition[0]._3D; } else MS3D_KeyFramePosition *PrevFrame = &JOINT.keyPosition[i1], *CurFrame = &JOINT.keyPosition[i2]; float DELTA = ((FRAME PrevFrame.time) / (CurFrame.time PrevFrame.time)); pos = (PrevFrame._3D + (CurFrame._3D PrevFrame._3D)) * DELTA; 35
36 Algorithm (Animation) matrix4x4 transformmatrix; // Final transformation matrix if JOINT.numKeyRotations > 0 int i1 = -1, i2 = -1; for all keyframes (except LAST) in JOINT if((frame >= JOINT.keyRotation[X].time) and (FRAME < JOINT.keyRotation[X+1].time)) i1 = X; i2 = X + 1; break; if((i1 = -1) or (i2 = -1)) if FRAME >= JOINT.keyRotation[LAST].time transformmatrix.initwithrotation(joint.keyrotation[last]._3d); else if FRAME < JOINT.keyRotation[0].time transformmatrix.initwithrotation(joint.keyrotation[0]._3d); else MS3D_KeyFrameRotation *PrevFrame = &JOINT.keyPosition[i1], *CurFrame = &JOINT.keyPosition[i2]; float DELTA = ((FRAME PrevFrame.time) / (CurFrame.time PrevFrame.time)); matrix4x4 prevmatrix, curmatrix; prevmatrix.initwithrotation(prevframe._3d); curmatrix.initwithrotation(curframe._3d); transformmatrix = prevmatrix + ((curmatrix prevmatrix) * DELTA); 36
37 Algorithm (Animation) transformmatrix.initwithposition(pos); JOINT.localMatrix = JOINT.skeletonLocalMatrix * transformmatrix; if JOINT.parentID = -1 JOINT.globalMatrix = JOINT.localMatrix * BASE_MATRIX; else JOINT.globalMatrix = MESH.joints[JOINT.parentID].globalMatrix * JOINT.localMatrix; 37
38 Link 38
39 Considerations The MS3D model file format does not support tag points, but formats exist that do support this feature Linear interpolation (LERP) can cause distortions during animation; fix by using spherical linear interpolation (SLERP) or by increasing the number of keyframes 39
40 Future Research GPU-based skeletal animation GPU-based particle systems Normal mapping 40
41 Do you have any questions? 41
Chapter 9 Animation System
Chapter 9 Animation System 9.1 Types of Character Animation Cel Animation Cel animation is a specific type of traditional animation. A cel is a transparent sheet of plastic on which images can be painted
More informationAdvanced Graphics and Animation
Advanced Graphics and Animation Character Marco Gillies and Dan Jones Goldsmiths Aims and objectives By the end of the lecture you will be able to describe How 3D characters are animated Skeletal animation
More informationCS354 Computer Graphics Character Animation and Skinning
Slide Credit: Don Fussell CS354 Computer Graphics Character Animation and Skinning Qixing Huang April 9th 2018 Instance Transformation Start with a prototype object (a symbol) Each appearance of the object
More informationAnimation COM3404. Richard Everson. School of Engineering, Computer Science and Mathematics University of Exeter
Animation COM3404 Richard Everson School of Engineering, Computer Science and Mathematics University of Exeter R.M.Everson@exeter.ac.uk http://www.secamlocal.ex.ac.uk/studyres/com304 Richard Everson Animation
More informationCharacter animation Christian Miller CS Fall 2011
Character animation Christian Miller CS 354 - Fall 2011 Exam 2 grades Avg = 74.4, std. dev. = 14.4, min = 42, max = 99 Characters Everything is important in an animation But people are especially sensitive
More informationAnimation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation
Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate
More information3D Modeling: Skinning
3D Modeling: Skinning CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. The second half of this lecture was extracted from the
More informationContent Loader Introduction
Content Loader Introduction by G.Paskaleva Vienna University of Technology Model Formats Quake II / III (md2 / md3, md4) Doom 3 (md5) FBX Ogre XML Collada (dae) Wavefront (obj) 1 Must-Have Geometry Information
More informationReal Time Skin Deformation with Bones Blending
Real Time Skin Deformation with Bones Blending Ladislav Kavan Charles University Faculty of Mathematics and Physics Malostranske nam. 25 118 00 Prague 1, Czech Republic lkav8604@ss1000.ms.mff.cuni.cz Jiří
More informationAnimations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala
Animations Hakan Bilen University of Edinburgh Computer Graphics Fall 2017 Some slides are courtesy of Steve Marschner and Kavita Bala Animation Artistic process What are animators trying to do? What tools
More informationCOMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION. Rémi Ronfard, Animation, M2R MOSIG
COMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION Rémi Ronfard, Animation, M2R MOSIG 2 Outline Principles of animation Keyframe interpolation Rigging, skinning and walking
More informationApplications of Dual Quaternions in Three Dimensional Transformation and Interpolation
Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation November 11, 2013 Matthew Smith mrs126@uclive.ac.nz Department of Computer Science and Software Engineering University
More informationThe Skeleton Assembly Line
The Skeleton Assembly Line February 27th 2005 J.M.P. van Waveren 2005, Id Software, Inc. Abstract Optimized routines to transform the skeletons and joints for a skeletal animation system are presented.
More informationCMSC 425: Lecture 10 Skeletal Animation and Skinning
CMSC 425: Lecture 10 Skeletal Animation and Skinning Reading: Chapt 11 of Gregory, Game Engine Architecture. Recap: Last time we introduced the principal elements of skeletal models and discussed forward
More informationMaya Lesson 8 Notes - Animated Adjustable Desk Lamp
Maya Lesson 8 Notes - Animated Adjustable Desk Lamp To Model the Lamp: 1. Research: Google images - adjustable desk lamp. 2. Print several images of lamps for ideas to model. 3. Make a sketch of the lamp
More informationChapter 5.2 Character Animation
Chapter 5.2 Character Animation Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh Deformation Inverse Kinematics Attachments & Collision Detection
More information3D Modelling: Animation Fundamentals & Unit Quaternions
3D Modelling: Animation Fundamentals & Unit Quaternions CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. Static objects are boring
More informationCS 775: Advanced Computer Graphics. Lecture 4: Skinning
CS 775: Advanced Computer Graphics Lecture 4: http://www.okino.com/conv/skinning.htm Binding Binding Always done in a standard rest or bind pose. Binding Always done in a standard rest or bind pose. Associate
More informationCSCI E-74. Simulation and Gaming
CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming Fall term 2017 Gianluca De Novi, PhD Lesson 6 Basic Texturing Data Structures in a 3D Engine Vertices/Vectors Segments Matrices Polygons
More informationExample-Based Skeleton Extraction. Scott Schaefer Can Yuksel
Example-Based Skeleton Extraction Scott Schaefer Can Yuksel Example-Based Deformation Examples Previous Work Mesh-based Inverse Kinematics [Sumner et al. 2005], [Der et al. 2006] Example-based deformation
More informationAnimation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions
More informationBreathing life into your applications: Animation with Qt 3D. Dr Sean Harmer Managing Director, KDAB (UK)
Breathing life into your applications: Animation with Qt 3D Dr Sean Harmer Managing Director, KDAB (UK) sean.harmer@kdab.com Contents Overview of Animations in Qt 3D Simple Animations Skeletal Animations
More informationAbout this document. Introduction. Where does Life Forms fit? Prev Menu Next Back p. 2
Prev Menu Next Back p. 2 About this document This document explains how to use Life Forms Studio with LightWave 5.5-6.5. It also contains short examples of how to use LightWave and Life Forms together.
More informationCSE452 Computer Graphics
CSE452 Computer Graphics Lecture 19: From Morphing To Animation Capturing and Animating Skin Deformation in Human Motion, Park and Hodgins, SIGGRAPH 2006 CSE452 Lecture 19: From Morphing to Animation 1
More informationYou can also export a video of what one of the cameras in the scene was seeing while you were recording your animations.[2]
Scene Track for Unity User Manual Scene Track Plugin (Beta) The scene track plugin allows you to record live, textured, skinned mesh animation data, transform, rotation and scale animation, event data
More informationAnimation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape
More informationAnimation Essentially a question of flipping between many still images, fast enough
33(70) Information Coding / Computer Graphics, ISY, LiTH Animation Essentially a question of flipping between many still images, fast enough 33(70) Animation as a topic Page flipping, double-buffering
More informationBlending & State Machines. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017
Blending & State Machines CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017 Blending & Sequencing Now that we understand how a character rig works and how to manipulate animation
More informationTo Do. Advanced Computer Graphics. The Story So Far. Course Outline. Rendering (Creating, shading images from geometry, lighting, materials)
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 16 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir To Do Assignment 3 milestone due May 29 Should already be well on way Contact us for difficulties
More informationDesigning the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and
Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and lessons learned attempting to make something new Defining
More informationCSCI E-74. Simulation and Gaming
CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming Fall term 2017 Gianluca De Novi, PhD Lesson 5 Basic Lighting and Materials Data Structures in a 3D Engine Vertices/Vectors Segments Matrices
More informationIMAGE-BASED RENDERING AND ANIMATION
DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters
More informationComputer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics
Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control
More informationCS-184: Computer Graphics. Today. Forward kinematics Inverse kinematics. Wednesday, November 12, Pin joints Ball joints Prismatic joints
CS-184: Computer Graphics Lecture #18: Forward and Prof. James O Brien University of California, Berkeley V2008-F-18-1.0 1 Today Forward kinematics Inverse kinematics Pin joints Ball joints Prismatic joints
More informationFrom Art to Engine with Model I/O
Session Graphics and Games #WWDC17 From Art to Engine with Model I/O 610 Nick Porcino, Game Technologies Engineer Nicholas Blasingame, Game Technologies Engineer 2017 Apple Inc. All rights reserved. Redistribution
More informationanimation projects in digital art animation 2009 fabio pellacini 1
animation projects in digital art animation 2009 fabio pellacini 1 animation shape specification as a function of time projects in digital art animation 2009 fabio pellacini 2 how animation works? flip
More informationPrinciples of Computer Game Design and Implementation. Revision Lecture
Principles of Computer Game Design and Implementation Revision Lecture Introduction Brief history; game genres Game structure A series of interesting choices Series of convexities Variable difficulty increase
More informationAdvanced Computer Graphics Transformations. Matthias Teschner
Advanced Computer Graphics Transformations Matthias Teschner Motivation Transformations are used To convert between arbitrary spaces, e.g. world space and other spaces, such as object space, camera space
More informationGame Programming. Bing-Yu Chen National Taiwan University
Game Programming Bing-Yu Chen National Taiwan University Character Motion Hierarchical Modeling Character Animation Motion Editing 1 Hierarchical Modeling Connected primitives 2 3D Example: A robot arm
More informationMotus Unitatis, an Animation Editor
Motus Unitatis, an Animation Editor Bryan Castillo, Timothy Elmer Purpose The Motus Unitatis Animator Editor allows artists and designers to edit and create short animated clips. With MU, a designer has
More informationLecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader
Scene Graphs: Rendering Lab 3b: Shader William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public mirror web site: http://www.kddresearch.org/courses/cis636
More informationAnimation. CS 465 Lecture 22
Animation CS 465 Lecture 22 Animation Industry production process leading up to animation What animation is How animation works (very generally) Artistic process of animation Further topics in how it works
More information05 Mesh Animation. Steve Marschner CS5625 Spring 2016
05 Mesh Animation Steve Marschner CS5625 Spring 2016 Basic surface deformation methods Blend shapes: make a mesh by combining several meshes Mesh skinning: deform a mesh based on an underlying skeleton
More informationCS 352: Computer Graphics. Hierarchical Graphics, Modeling, And Animation
CS 352: Computer Graphics Hierarchical Graphics, Modeling, And Animation Chapter 9-2 Overview Modeling Animation Data structures for interactive graphics CSG-tree BSP-tree Quadtrees and Octrees Visibility
More informationProcedures, Parameters, Values and Variables. Steven R. Bagley
Procedures, Parameters, Values and Variables Steven R. Bagley Recap A Program is a sequence of statements (instructions) Statements executed one-by-one in order Unless it is changed by the programmer e.g.
More informationCGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing
CGDD 4113 Final Review Chapter 7: Maya Shading and Texturing Maya topics covered in this chapter include the following: Shader Types Shader Attributes Texturing the Axe Life, Love, Textures and Surfaces
More informationCharacter Animation COS 426
Character Animation COS 426 Syllabus I. Image processing II. Modeling III. Rendering IV. Animation Image Processing (Rusty Coleman, CS426, Fall99) Rendering (Michael Bostock, CS426, Fall99) Modeling (Dennis
More informationIntegrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object:
Integrating Physics into a Modern Game Engine Object Collision Various types of collision for an object: Sphere Bounding box Convex hull based on rendered model List of convex hull(s) based on special
More informationThe Illusion of Motion Making magic with textures in the vertex shader. Mario Palmero Lead Programmer at Tequila Works
The Illusion of Motion Making magic with textures in the vertex shader Mario Palmero Lead Programmer at Tequila Works Dark Ages before Textures in the Vertex Shader What is the Vertex Shader? A programmable
More informationAgenda. Introduction Curve implementation. Particle System. - Requirements -What are all those vectors? -Where should I put things?
Agenda Introduction Curve implementation - Requirements -What are all those vectors? -Where should I put things? Particle System - Requirements -What should I implement? - Suggestions - Cool forces Agenda
More informationHuman body animation. Computer Animation. Human Body Animation. Skeletal Animation
Computer Animation Aitor Rovira March 2010 Human body animation Based on slides by Marco Gillies Human Body Animation Skeletal Animation Skeletal Animation (FK, IK) Motion Capture Motion Editing (retargeting,
More informationSkinning Mesh Animations
Doug L. James, Christopher D. Twigg Carnegie Mellon University presented by Johannes Schmid 1 Outline Introduction & Motivation Overview & Details Results Discussion 2 Introduction Mesh sequence: 3 General
More informationCS 231. Basics of Computer Animation
CS 231 Basics of Computer Animation Animation Techniques Keyframing Motion capture Physics models Keyframe animation Highest degree of control, also difficult Interpolation affects end result Timing must
More informationPlatformer Tutorial 8 - Adding Mr.Green and Character Animation. Last month. Character FX
Last month Things became a lot more dangerous as traps and deadly particles were added. It just wouldn t be the same without Mr.Green so he s making his debut this month. As this has always been the plan,
More informationCourse Outline. Advanced Computer Graphics. Animation. The Story So Far. Animation. To Do
Advanced Computer Graphics CSE 163 [Spring 2017], Lecture 18 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir 3D Graphics Pipeline Modeling (Creating 3D Geometry) Course Outline Rendering (Creating, shading
More informationthe gamedesigninitiative at cornell university Lecture 12 2D Animation
Lecture 12 2D Animation Animation Basics: The FilmStrip Animation is a sequence of hand-drawn frames Smoothly displays action when change quickly Also called flipbook animation Arrange animation in a sprite
More information3D Modeling Course Outline
3D Modeling Course Outline Points Possible Course Hours Course Overview 4 Lab 1: Start the Course Identify computer requirements. Learn how to move through the course. Switch between windows. Lab 2: Set
More informationCS230 : Computer Graphics Lecture 12: Introduction to Animation. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 12: Introduction to Animation Tamar Shinar Computer Science & Engineering UC Riverside Types of animation keyframing rotoscoping stop motion procedural simulation motion
More informationHomework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC
Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics Velocity Interpolation Original image from Foster & Metaxas, 1996 In 2D: For each axis, find the 4 closest face velocity samples: Self-intersecting
More informationRenderMonkey 1.6. Natalya Tatarchuk ATI Research
RenderMonkey 1.6 Natalya Tatarchuk ATI Research Game Developer Conference, San Francisco, CA, March 2005 Overview > What is RenderMonkey? > What s New In RenderMonkey 1.6? 2 What is RenderMonkey? > Shader
More informationMODELING AND HIERARCHY
MODELING AND HIERARCHY Introduction Models are abstractions of the world both of the real world in which we live and of virtual worlds that we create with computers. We are all familiar with mathematical
More informationgltf - what the? Concepts An overview of the basics of the GL Transmission Format Page 1 gltf 2.0 Quick Reference Guide Binary data references
gltf 2.0 Quick Reference Guide gltf - what the? An overview of the basics of the GL Transmission Format For gltf 2.0! Concepts Page 1 The conceptual relationships between the top-level elements of a gltf
More informationAnimations. 1. Ogre Animation 2. Frames and Keyframes 3. Bind Pose and skinning 4. Clip Continuity and Additive Blending
Animation Animations 1. Ogre Animation 2. Frames and Keyframes 3. Bind Pose and skinning 4. Clip Continuity and Additive Blending Skeleton Graphics Pipeline void skeleton(void){ glpushmatrix();
More informationOverview. Animation is a big topic We will concentrate on character animation as is used in many games today. humans, animals, monsters, robots, etc.
ANIMATION Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. Character Representation A character is represented
More informationTransforms Transform
Transforms The Transform is used to store a GameObject s position, rotation, scale and parenting state and is thus very important. A GameObject will always have a Transform component attached - it is not
More informationTopics in Computer Animation
Topics in Computer Animation Animation Techniques Artist Driven animation The artist draws some frames (keyframing) Usually in 2D The computer generates intermediate frames using interpolation The old
More informationAnnouncements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation
Announcements: Quiz Animation, Motion Capture, & Inverse Kinematics On Friday (3/1), in class One 8.5x11 sheet of notes allowed Sample quiz (from a previous year) on website Focus on reading comprehension
More informationPose Space Deformation A unified Approach to Shape Interpolation and Skeleton-Driven Deformation
Pose Space Deformation A unified Approach to Shape Interpolation and Skeleton-Driven Deformation J.P. Lewis Matt Cordner Nickson Fong Presented by 1 Talk Outline Character Animation Overview Problem Statement
More information- TinyXML2 to parse xml in preparation for next week (skin weights are stored in XML) -
Lab 9: HTR Files Objective & Goals - Understand how animation data is stored in the H ierarchical T ranslation- R otation (HTR) file format - Implement an HTR file loader - Create a hierarchy of GameObjects
More informationVANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction
VANSTEENKISTE LEO 2015 G E O M E T RY S H A D E R 2 DAE GD ENG UNFOLD SHADER Introduction Geometry shaders are a powerful tool for technical artists, but they always seem to be used for the same kind of
More informationRigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides
Rigging / Skinning based on Taku Komura, Jehee Lee and Charles B.Own's slides Skeletal Animation Victoria 2 CSE 872 Dr. Charles B. Owen Advanced Computer Graphics Skinning http://www.youtube.com/watch?
More informationAnimation Movie under Autodesk Maya
Animation Movie under Autodesk Maya Julio Manuel Vega Pérez University Rey Juan Carlos, Móstoles (Madrid), Spain March 5, 2009 1 Abstract Computer graphics matured over many years and played an important
More informationDetailed Table of content. 3D View by tools - Header. 3D View by tools - Header detailed
3D View by tools - Header Detailed Table of content...1 Introduction...16 Header...16 All Modes - View Menu...17 All Modes - Navigation Menu...24 All Modes, all Object types - Show / Hide...29 Object Mode
More information3D Production Pipeline
Overview 3D Production Pipeline Story Character Design Art Direction Storyboarding Vocal Tracks 3D Animatics Modeling Animation Rendering Effects Compositing Basics : OpenGL, transformation Modeling :
More informationAN OPEN SOURCE GRAPHICS ENGINE FOR THREE-DIMENSIONAL VIDEO GAMES. A Project. Presented to the. Faculty of. California State University, San Bernardino
AN OPEN SOURCE GRAPHICS ENGINE FOR THREE-DIMENSIONAL VIDEO GAMES A Project Presented to the Faculty of California State University, San Bernardino In Partial Fulfillment of the Requirements for the Degree
More informationCharacter Animation 1
Character Animation 1 Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. Character Representation A character
More informationReal-Time Universal Capture Facial Animation with GPU Skin Rendering
Real-Time Universal Capture Facial Animation with GPU Skin Rendering Meng Yang mengyang@seas.upenn.edu PROJECT ABSTRACT The project implements the real-time skin rendering algorithm presented in [1], and
More informationVariables Data types Variable I/O. C introduction. Variables. Variables 1 / 14
C introduction Variables Variables 1 / 14 Contents Variables Data types Variable I/O Variables 2 / 14 Usage Declaration: t y p e i d e n t i f i e r ; Assignment: i d e n t i f i e r = v a l u e ; Definition
More informationLive2D Cubism Native Core API Reference. Version r3 Last Update 2018/07/20
Live2D Cubism Native Core API Reference Version r3 Last Update 2018/07/20 Changelog Update day Version Update Type Content 2018/06/14 r2 translation translation to English from Japanese 2018/07/20 r3 Corrected
More informationArticulated Characters
Articulated Characters Skeleton A skeleton is a framework of rigid body bones connected by articulated joints Used as an (invisible?) armature to position and orient geometry (usually surface triangles)
More informationUsing Terminal Window Graphics in CS1
Using in CS1 CCSCE 2008 Using in CS1 Using in CS1 The problem We have many goals for CS1, sometimes conflicting: Make it simple Many students come in with no prior programming experience Make it rigorous
More informationThe 3D rendering pipeline (our version for this class)
The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization
More informationCS 775: Advanced Computer Graphics. Lecture 3 : Kinematics
CS 775: Advanced Computer Graphics Lecture 3 : Kinematics Traditional Cell Animation, hand drawn, 2D Lead Animator for keyframes http://animation.about.com/od/flashanimationtutorials/ss/flash31detanim2.htm
More informationAnimation by Adaptation Tutorial 1: Animation Basics
Animation by Adaptation Tutorial 1: Animation Basics Michael Gleicher Graphics Group Department of Computer Sciences University of Wisconsin Madison http://www.cs.wisc.edu/graphics Outline Talk #1: Basics
More informationEL2310 Scientific Programming
Lecture 11: Structures and Memory (yaseminb@kth.se) Overview Overview Lecture 11: Structures and Memory Structures Continued Memory Allocation Lecture 11: Structures and Memory Structures Continued Memory
More informationChannels & Keyframes. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017
Channels & Keyframes CSE69: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 27 Animation Rigging and Animation Animation System Pose Φ... 2 N Rigging System Triangles Renderer Animation When
More informationVertex Shaders for Geometry Compression
Vertex Shaders for Geometry Compression by Kenneth Hurley GDC San Francisco March 5 th, 2007 You might be an engineer if The sales people at the local computer store can't answer any of your questions.
More informationSubject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100
Code: DC-05 Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100 NOTE: There are 11 Questions in all. Question 1 is compulsory and carries 16 marks. Answer to Q. 1. must be written in the space
More informationSCAPE: Shape Completion and Animation of People
SCAPE: Shape Completion and Animation of People By Dragomir Anguelov, Praveen Srinivasan, Daphne Koller, Sebastian Thrun, Jim Rodgers, James Davis From SIGGRAPH 2005 Presentation for CS468 by Emilio Antúnez
More informationINFOMCANIM Computer Animation Motion Synthesis. Christyowidiasmoro (Chris)
INFOMCANIM Computer Animation Motion Synthesis Christyowidiasmoro (Chris) Why Motion Synthesis? We don t have the specific motion / animation We don t have the skeleton and motion for specific characters
More informationCharacter Animation. Presented by: Pam Chow
Character Animation Presented by: Pam Chow Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. PLAZMO AND
More informationCharles University in Prague Faculty of Mathematics and Physics BACHELOR THESIS
Charles University in Prague Faculty of Mathematics and Physics BACHELOR THESIS Michal Brabec Skeletal Animations in Real-time 3D Graphics Department of Distributed and Dependable Systems Supervisor of
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationInput Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking
Input Nodes Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking The different Input nodes, where they can be found, what their outputs are. Surface Input When editing a surface,
More informationSeminar: Assignment 1. Magnus Andersson
Seminar: Assignment 1 Magnus Andersson (magnusa@cs.lth.se) This seminar A lot of ground to cover... Assignment C++ crash course RenderChimp Assignment 1 1. Getting started 2. Building a Scene Graph 3.
More informationLecture 08: Hierarchical Modeling with Scene Graphs
Lecture 08: Hierarchical Modeling with Scene Graphs CSE 40166 Computer Graphics Peter Bui University of Notre Dame, IN, USA November 2, 2010 Symbols and Instances Objects as Symbols Model world as a collection
More informationProgramming with OpenGL Part 3: Shaders. Ed Angel Professor of Emeritus of Computer Science University of New Mexico
Programming with OpenGL Part 3: Shaders Ed Angel Professor of Emeritus of Computer Science University of New Mexico 1 Objectives Simple Shaders - Vertex shader - Fragment shaders Programming shaders with
More informationMD2 format/ Interesting Worlds. CS116A Chris Pollett Nov. 10, 2004.
MD2 format/ Interesting Worlds CS116A Chris Pollett Nov. 10, 2004. Outline MD2 file format Pop and Quake Ballworld Game MD2 and MD3 file formats Used in projects based on the id software s Quake engine.
More informationCreating Flood Effects in Uncharted 3. Eben Cook VFX Naughty Dog
Creating Flood Effects in Uncharted 3 Eben Cook VFX Artist @ Naughty Dog Me me me BA in Communication Design from UNT Computer Science minor 11 years in the industry. EALA, Naughty Dog I ve been: Concept
More informationREAL TIME SKELETAL ANIMATION WITH DUAL QUATERNION
0 th March 203. Vol. 49 No. 2005-203 JATIT & LLS. All rights reserved. ISSN: 992-8645 www.jatit.org E-ISSN: 87-395 REAL TIME SKELETAL ANIMATION WITH DUAL QUATERNION XIANG FENG, 2 WANGGEN WAN Master Student,
More information