Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging.

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

Creative Computing. \\ aims By the end of the session you will be able to: 1.Explain the difference between various image file formats 2.Load in and display.
Animation in Video Games presented by Jason Gregory
7.2. AI E NGINE AND S TEERING B EHAVIOUR I Design of an AI Engine and introduction to steering in game AI.
Blending & State Machines CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Computer Graphics Lecture 4 Geometry & Transformations.
Facial Expressions & Rigging
3D Graphics Rendering and Terrain Modeling
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
Learning a correlated model of identity and pose-dependent body shape variation for real-time synthesis Brett Allen 1,2, Brian Curless 1, Zoran Popović.
Modeling the Shape of People from 3D Range Scans
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Blending & State Machines.
Advanced Programming for 3D Applications CE Bob Hobbs Staffordshire university Data Structures for Human Motion Lecture 5.
Skeletons CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Character Setup Character Setup is the process of creating handles and controls for anything that a character animator will need to adjust in order to.
3D Game Programming All in One By Kenneth C. Finney.
1Notes  Questions?  Assignment 1 should be ready soon (will post to newsgroup as soon as it’s out)
Facial Expressions & Rigging CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Skin CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
Advanced Skinning CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
1cs426-winter-2008 Notes  Collision notes part 1 (primitive operations) should be up on the weekend.
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
Midterm Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
Advanced Skin CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: –Describing the environment: Modeling (mostly later) –Computing.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
10/5/04© University of Wisconsin, CS559 Fall 2004 Last Time Compositing Painterly Rendering Intro to 3D Graphics Homework 3 due Oct 12 in class.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Facial Expressions & Rigging.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Inverse Kinematics.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Animation Process while (not finished) { MoveEverything();
Project ImpactO Do you have the balls?. Unity 4 Pro Version control Global effects (God rays, volumetric partilcles, realtime shadows)
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Skin.
Simulation and Animation
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Channels & Keyframes.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
3D Animation 5. Character Animation Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Combining Transformations We see that we can combine a.
Maths & Technologies for Games Animation: Practicalities CO3303 Week 3.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
Notes 13-4 Machines and the body. Force A push or pull on an object Described by magnitude (strength) and direction Unit = Newton.
CS559: Computer Graphics Lecture 8: 3D Transforms Li Zhang Spring 2008 Most Slides from Stephen Chenney.
CS559: Computer Graphics Lecture 8: Warping, Morphing, 3D Transformation Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Skeletal Animation and Skinning A (hardware friendly) software approach By: Brandon Furtwangler.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Hierarchical Modeling.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
Mesh Skinning Sébastien Dominé. Agenda Introduction to Mesh Skinning 2 matrix skinning 4 matrix skinning with lighting Complex skinning for character.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
06/11/04 SRB ILP Presentation P.Moffitt RT Character Rigging Presented By: Kyle Simmons.
2014 Animation Programming for Music Video Games Jessica Scott Harmonix Music Systems, Inc. October 10, 2014 #GHC
Games Development Practices 3D Modelling
Continuum Mechanics (MTH487)
Bones Skeletal Unity-2D How & When
3D Transformations Source & Courtesy: University of Wisconsin,
CIS 488/588 Bruce R. Maxim UM-Dearborn
Skeletons and Skinning
Facial Expressions & Rigging
UMBC Graphics for Games
Hierarchical Modeling & Constructive Solid Geometry
Computer Graphics Lecture 15.
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Presentation transcript:

Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging

Multimedia System and Networking UTD Slide- 2 University of Texas at Dallas B. Prabhakaran Rigging A rig is like a virtual puppet A rig contains several DOFs, each corresponding to an animatable parameter within the puppet DOFs can control: –Joint rotations, translations –Morph targets –Other things… Higher level animation code will specify values for the DOFs (i.e., pose the rig)

Multimedia System and Networking UTD Slide- 3 University of Texas at Dallas B. Prabhakaran Rigging Ultimately, the rig takes DOF values from the animation system and generates the posed geometry of the character in world space This might involve: –Computing world joint matrices (posing the skeleton) –Interpolating verts in local space (morphing) –Transforming verts to world space (skinning) This geometry is then rendered through a rendering system (OpenGL…)

Multimedia System and Networking UTD Slide- 4 University of Texas at Dallas B. Prabhakaran Rigging and Animation Animation System Pose Rigging System Triangles Renderer

Multimedia System and Networking UTD Slide- 5 University of Texas at Dallas B. Prabhakaran Rig Data Flow Rigging System

Multimedia System and Networking UTD Slide- 6 University of Texas at Dallas B. Prabhakaran Skeleton, Morph, & Skin Data Flow

Multimedia System and Networking UTD Slide- 7 University of Texas at Dallas B. Prabhakaran Layered Approach We use a simple layered approach –Skeleton Kinematics –Shape Interpolation –Smooth Skinning Most character rigging systems are based on some sort of layered system approach combined with general purpose data flow to allow for customization

Multimedia System and Networking UTD Slide- 8 University of Texas at Dallas B. Prabhakaran Equation Summary Skeleton Morphing Skinning

Multimedia System and Networking UTD Slide- 9 University of Texas at Dallas B. Prabhakaran DOF Mapping & Expressions

Multimedia System and Networking UTD Slide- 10 University of Texas at Dallas B. Prabhakaran DOF Types In addition to controlling joints and morph targets, DOFs can be extended to manipulate any high level parameter that the animator wants to control One could make DOFs to: –Turn the character green –Extend/flex all fingers in a hand simultaneously –Make the character’s hair stand up –Morph the character from a man into a hairy monster –Control the intensity of a light –Control the creation rate of a particle system

Multimedia System and Networking UTD Slide- 11 University of Texas at Dallas B. Prabhakaran Full Body Morphing One can also rig up a DOF to morph an entire character (say from a human to a giant hairy monster) Morphing is made easier if the topology of the two characters matches (both skeleton & skin topology) To do this, one must interpolate a lot of data: –Skin positions & normals –Skin weights & attachment info –Bone offsets –Texture maps, other visual properties –Other stuff…

Multimedia System and Networking UTD Slide- 12 University of Texas at Dallas B. Prabhakaran Grouping DOFs You can have one DOF control several properties. For example: –A DOF that makes all of the joints in a finger flex or extend simultaneously –Elbow DOF that controls both the elbow rotation and a morph target for the bicep deformation –Head DOF that rotates several vertebra in the neck –Retract DOF that controls a landing gear retraction –DOF to control a highly constrained mechanical system –Smile DOF that controls several individual muscles For flexibility, it’s nice to be able to have the master DOF range from say 0…1 and allow each slave DOF to scale that number if necessary For more flexibility, you can use expressions…

Multimedia System and Networking UTD Slide- 13 University of Texas at Dallas B. Prabhakaran Grouping DOFs

Multimedia System and Networking UTD Slide- 14 University of Texas at Dallas B. Prabhakaran DOF Expressions For more flexibility, its nice to be able to run arbitrary expressions with DOF values An expression takes one or more DOFs as inputs and sets an external DOF as output An expression can literally be any mathematical expression: DOF[27] = DOF[3] * 6.0 – sin (DOF[2]) + DOF[14] Rather than being hard-coded in C++, it’s nice if expressions can be interpreted at runtime

Multimedia System and Networking UTD Slide- 15 University of Texas at Dallas B. Prabhakaran DOF Mappings A rig can be implemented as an array of pointers to DOFs The DOF order is important and must be consistent between the rigging & animation systems The DOFs themselves exist as internal objects used in the skeleton, morph system, and in expressions Normally, we would have a single rig that controls all of the character’s DOFs that we wish to animate Alternately, we could: –Have a rig that controls a subset of a character’s DOFs –Have one rig that maps to more than one character –Have several different rigs for the same character to be used for different purposes

Multimedia System and Networking UTD Slide- 16 University of Texas at Dallas B. Prabhakaran Push vs. Pull There are lots of different ways to implement rigging One approach is to have the rig ‘push’ data into the DOFs. The other is to have the DOFs ‘pull’ data from the rig. There are several other subtle details to work out… Pushing is probably better, as it allows for multiple rig configurations to map to the same DOF a little bit easier

Multimedia System and Networking UTD Slide- 17 University of Texas at Dallas B. Prabhakaran Pushing DOF Values DOFs are stored within the actual components that use them (joints of the skeleton, controls for morph targets, dummy DOFs for high level controls) Update: 1.The animation system generates a pose vector and passes it to the rig 2.The rig takes the floats from the pose and sets (pushes) the values of its DOFs (DOF[i]->SetValue(Pose[i])) 3.The rig then executes all of the expressions (they must be run in the correct order). The expressions then set values in other DOFs (push) 4.The skeleton, morphing, and skinning are run using their DOF values

Multimedia System and Networking UTD Slide- 18 University of Texas at Dallas B. Prabhakaran Minimalist Rigging It’s a good idea to use as few DOFs as possible when rigging a character Some reasons include: –Keeps the interface to controlling the character simpler. This makes the animator’s life easier. –Reduces the amount of animation data needed for playback. This is important in video games, as animation data tends to take up a lot of space