Wednesday, March 30, 2011 GDC 2011. Jeremy Ernst. Fast and Efficient Facial Rigging(in Gears of War 3)

Similar documents
Scripted Operator Shoulder

Advanced Diploma of Professional Game Development - Game Art and Animation (10343NAT)

Mocap in a 3D Pipeline

FACIAL RIGGING FOR 3D CHARACTER

Tutorial: Biped Character in 3D Studio Max 7, Easy Animation

DIPLOMA IN 3D DESIGN AND DIGITAL ANIMATION COURSE INFO PACK

Character Creation You can customize a character s look using Mixamo Fuse:

Advanced Diploma of Screen - 3D Animation and VFX (10343NAT)

GeomCaches for VFX in Ryse. Sascha Herfort Senior Technical Artist

Paths to being Epic: Finding your role in the Industry Andy Bayle - Apr 18, 2012

The Car Tutorial Part 1 Creating a Racing Game for Unity

Mocap in Carrara - by CyBoRgTy

Creating Your Own 3D Models

4VATARS PROJECT. Standard avatar specification for content creation in RealXtend

Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation.

Facial Rigging and Animation in 3D

Program of Study. Animation (1288X) Level 1 (390 hrs)

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias

Animator V2 for DAZ Studio. Reference Manual

Tutorial 13: Object Animation

ANIMATION I :: SYLLABUS

Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM

STEPHANIE POCKLINGTON

PROGRAM OUTLINE PAGE 1

Welcome, today we will be making this cute little fish come alive. Put the UltimaFish.bmp texture into your Morrowind/Data Files/Textures directory.

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

Christopher DePriest

Enhancing Lectures with an Audience Response System: Workshop Guide

EDUCATIONAL. interview with. Nicholas Boughen, Senior Education Administrator CG MASTERS SCHOOL OF 3D ANIMATION & VISUAL EFFECTS

The Fundamental Principles of Animation

CG Cookie Workshop:! Mastering Mesh Modeling!

NORCO COLLEGE SLO to PLO MATRIX PLOs

Character Animation Tutorial

GAME DESIGN AND DEVELOPMENT TECHNOLOGY. Game Design and Development Technology I

SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE

Intro to 3D Animation Using Blender

Creating Scenes and Characters for Virtools in OpenFX

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

EDUCATIONAL. interview with Michael Blackshore. Gotlands Högskola University, Sweden

User Guide Installing the 3D Studio plug-ins

Three Methods for Making of Character Facial Animation based on Game Engine

HACKETTSTOWN, NEW JERSEY. Computer Animation Grades CURRICULUM GUIDE FINAL DRAFT. July 2014

Guide to Trading GUIDE TO TRADING

Jordan Shearer. Portfolio. 1Maya Modeling

Plug-in Software Developer Kit (SDK)

First, let me do a super fast introduction,

CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy

CS 378: Computer Game Technology

3D Modeling, Animation, and Special Effects ITP 215x (2 Units)

Fundamentals of Computer Animation

Maya 2014 Still Life Part 1 Texturing & Lighting

Programming 3D Applications with HTML5 and WebGL

JavaFX 3D Animation: Bringing Duke to Life

Autodesk Design Visualization for Architects. Every Design Has a Story.

Information Technology Cluster

Anime Studio Debut vs. Pro

If there are any questions, students are encouraged to or call the instructor for further clarification.

Copyright LisaCashHanson.com

Maya 2014 Basic Animation & The Graph Editor

The Basics of Robot Mazes Teacher Notes

SimFonIA Animation Tools V1.0. SCA Extension SimFonIA Character Animator

Alphacam Art combines Vectric s Aspire artistic design software with the market leading Alphacam manufacturing software.

Moonfruit. 2. Getting Started With Moonfruit You will begin the set up process through the you will receive from Moonfruit.

REFERENCE GUIDE 1. INTRODUCTION

CARTOON BUILDER. Character animation the art of. Creating animated characters with Blender KNOW-HOW. Pulling Strings

Mobile Apps with App Inventor

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

TEACHER S GUIDE TO RUSH HOUR

The main imovie window is divided into six major parts.

Using Autodesk HumanIK Middleware to Enhance Character Animation for Games

Castle Modeling. In this PDF tutorial we will be modeling a simple castle as pictured above.

Key Assignments/ Common Assessments. This is the oral presentation at the beginning of 2 nd Semester.

Make your own Temple Run game

From Motion Capture to Interactive Animation Creation of interactive animations for non-verbal storytelling

ONYX. Preflight Training. Navigation Workflow Issues Preflight Tabs

CATIA Electrical Harness Design TABLE OF CONTENTS

LiveEngage Setup Guide

M2: Animation Techniques

New Media production week 9

Instagram Ads guide 30 Days of Instagram Ads - Live Blogging Case Study

3D Animation Graphic Designer

ANIMATION & VISUAL EFFECTS

SharePoint Designer 2013 vs Workbox. Prepared by JMS

Introduction to Open Atrium s workflow

Creative Cloud for Web Design

NetEase Games - Paid Internship Program

How$Spotify$builds$products$

Planning Design your Network: Every Network Tells a Story

IE Class Web Design Curriculum

How to Build a Web Site using your Web Host s Web Site Builder

How to Host Your Murder Mystery Party. General instructions for hosting your murder mystery party game from Host-Party.com

CG T17 Animation L:CC, MI:ERSI. Miguel Tavares Coimbra (course designed by Verónica Orvalho, slides adapted from Steve Marschner)

Cloud function tutorial

Creating Hyperlinks & Buttons InDesign CS6

Mind Mapping Improves Software Requirements Quality, Communication and Traceability

Why Catalyst Production Suite? The post-production process

The 3D rendering pipeline (our version for this class)

LightWave IO.1 What s New

Transcription:

GDC 2011. Jeremy Ernst. Fast and Efficient Facial Rigging(in Gears of War 3)

Fast and Efficient Facial Rigging in Gears of War 3 Character Rigger: -creates animation control rigs -creates animation pipeline toolsets -skin weights character models -set up character assets in game My name is Jeremy Ernst and I am the character rigger/technical animator at Epic Games. TAs are an interesting position, since we tend to bridge the gaps in a pipeline between art and code. I do a fair bit of programming, for various pipeline tools as well as rigging tools. If Iʼm not coding, Iʼm rigging, skin weighting, or solving problems.

Fast and Efficient Facial Rigging in Gears of War 3 This talk is about the facial rigging pipeline toolset I created for production on Gears of War 3. It is not a talk about the Unreal Engine, and it does except a certain level of familiarity with common rigging terminology.

Development Challenges: Developing the Face Rig More characters than ever! Double the amount of cinematics When developing this toolset, there were two main development challenges for me to consider. We have more characters than ever in this game. Delta squad grew pretty big in the story, and we also have four player co-op. Also, the scope of our cinematics increased drastically. Not only in length, but in the amount of minimum characters in each one. So I needed to make a toolset that allowed the animators to work quickly, but achieve high quality results.

Developing the Face Rig Easy to Animate Establish good workflow with outsourcers Transferable Rig and Data So these were the 3 main things I wanted to achieve with this facial rigging toolset. Easy to animate is self-explanatory, but also hard to do. Establishing a solid workflow with outsourcers is important as well. The biggest point there is consistency. Making sure that all of your internal animators stay on character with their posing, as well as the external animators. If you can build an easy way to deal with this into the rig, you increase the chances of getting back high quality data. Making the rig transferable is important too, as I donʼt want to have to replicate my work over and over. But, scripting wasnʼt going to work 100% for this rig, and youʼll see why.

Easy to Animate Animate Attributes, not Transformations Nice, Clean, Curve data(1 channel/attribute) So Clean! So, the first step in getting this rig easy to animate was to have them animating attributes as much as possible, instead of individual joint transformations. That is going to give you nice, clean curves in your graph editor as well. Also, less curves to deal with, since youʼd only have 1 channel per attribute instead of 6 per joint.

Easy to Animate Animate Attributes, not Transformations Nice, Clean, Curve data Offset Rig - A Combination Rig But, it became apparent that animating only attributes would not offer enough control. You could probably add a lot more attributes until this was possible, but then you start to veer off making it easy to animate as well. So I added the offset rig, which allows the animator more control, but in a unique way.

Establishing a Good Workflow with Outsourcers Getting back cleaner data Staying on character with posing Good ways to send all the files needed

Establishing a Good Workflow with Outsourcers http://www.sminstall.com/ One of the things I started doing internally was packaging all of the scripts, icons and such into executables instead of just putting them up in source control and hoping everyone read the emails or copied files to the correct directories. This becomes even trickier when a producer just sends a.zip of all your files to some outsourcers. Executables made life in this regard a breeze. I used Smart Install Maker (link in slide), to build the executables quickly and easily.

Transferable Rig and Data Making the rig only once Creating the pose library only once Allowing for LOD animation I mentioned that I wanted the animator to animate attributes earlier for ease of use, and that means using pose libraries for the characters. But I didnʼt want to have to remake those either. As youʼll see later, the solution for making the rig only once also solves making the poses only once as well. Allowing for LOD animation refers to more or less how we did things in Gears 2 vs Gears 3. In Gears 3, we have a game mesh and a cine mesh. They are the same mesh, but are just weighted differently to allow for applying the same animation on either. This way, we can still be smart about how many weighted bones we have in-game, but when we need the extra deformation for close-up cinematics, we can load in those weights.

Inspirations Awesome CG Society article! Metal Gear Solid 4 XSI article. Good starting point!

The Rig Layers of the Rig: The rig is made up of 4 main layers. The first is the Cage. This is a low poly piece of geometry that defines most of the area of the face that deforms. It is very low poly so that we could make morphs and iterate on them quickly. All of our animatable attributes would be morph targets made on this cage.

The Rig Layers of the Rig: The next layer are locators that are pinned to the surface of the cage. This way, whenever the cage morphs, the locators move with the geometry. Think of this almost like mocap. Iʼm tracking areas of the face for movement with these locators.

The Rig Layers of the Rig: The third layer is the Offset Rig, which was mentioned earlier. This offset rig follows the locators. So when a locator moves, the corresponding offset control will move to. Hence the name, offset. If you wanted to tweak a pose, you would be offsetting from that pose with these controls.

The Rig Layers of the Rig: Lastly are the joints that the actual model is weighted to. These are constrained to the offset rig controls.

The Rig Breakdown: The F.A.C.S Morph Targets I looked heavily to the facial action coding system(f.a.c.s) for building my pose library. If you arenʼt familiar with it, you should definitely look it up. The essence is, there are 32 action units of the face that can achieve the entirety of the range of (e)motion of the face. An action unit is defined as a contraction or relaxation of 1 or more muscles in the face.

The Rig Breakdown: The F.A.C.S Morph Targets The facial action coding system was not developed for artists though :) So I went and renamed a bunch of the shapes to be more user friendly and more visually clear.

The Rig Facial Action Coding System Examples: Here is an example of the lip corner puller action unit on Marcus. You can see that with the anatomical diagram, the zygomaticus major muscle contracts to pull the corner of the mouth up.

The Rig Breakdown: CAGE Morphs Drive Locators This is just to reiterate that the morphs on the cage, will drive the motion of the locators. The locators are there to track the motion on key points on the face(the same key points where joints are placed).

The Rig Breakdown: L_Puff_Rivet_Parent L_Puff_Rivet_Child L_Puff_Rivet_OrientConstraint Here is a breakdown of one of the locators. Youʼll see that the hierarchy is composed of a parent and child locator. The parent locator is the one that is pinned to the geometry, but it has to be orient constrained to the head bone, or else when the head turns, the face will stay behind. The child locator is there to get any set driven keys the setup might need to things like lip roll, since tracking position doesnʼt help much with getting roll affects with limited number of joints.

Joint Placement That brings me to joint placement. Since Iʼve been using the analogy that the locators could be thought of as motion capture tracking, I actually looked a lot at facial mocap setups to see where they placed their markers. I thought that if mocap studios thought an area was important enough to receive a marker, it would probably hold true for my setup as well.

The Rig Breakdown: CAGE LOCATORS Locators Drive Offset Rig Controls When the locators move, any associated offset controls will move as well. This is how we actually get a true offset from the pose with the offset rig.

The Rig Breakdown: L_Puff_Offset_Anim_GRP L_Puff_Offset_Anim L_Puff_Offset_ParentConstraint Letʼs look at the same area as we did on the locator. The hierarchy is very similar for the offset controls. The GRP node is the parent node that is in the same space as the final joint, and it is also what is parent constrained to the locator. The child of the GRP node is actually the animation control that the animator sees and will animate.

The Rig Breakdown: CAGE LOCATORS OFFSETS Offsets drive final result And lastly, the final joints that the mesh is weighted to, those are parent constrained to the offset rig controls. So when you manipulate an offset control, you are directly controlling the joint. That pretty much wraps all the layers of the rig. But the really cool stuff is still coming up.

A quick look at the UI that was built for this facial rig. The User Interface

The User Interface Buttons for Selecting, Keying, and Reseting morph targets and the offset anim controls. This top row of buttons allows the user to quickly select, key or reset the shapes or offset rig controls. It also has a Bake button to prepare the rig for export into the game engine.

The User Interface Tabs are created for each character in the scene. Each character tab holds the same subtabs When the user launches the user interface, it creates a tab for each character in the scene that has a valid face rig. This means that there is only one UI no matter how many characters you have in your scene.

The User Interface Every character tab contains this set of subtabs. Tabs for animating the upper and lower face shapes, as well as a picker for the offset rig. Under each character tab is the same set of sub-tabs.

The User Interface LOWER SHAPES UPPER SHAPES VISEMES OFFSETS POSE LIBRARY here are all of the sub-tabs laid out.

for this video example going over the pose library tool, please visit: http://dl.dropbox.com/u/10939513/poselibtool.mov

So now we get to how to transfer this rig to other characters. Easily Transferable

Steps for Transferring Rig: Easily Transferable The steps for transferring the rig are very easy. The premise is this, if I create a new cage with the same vert order that matches a new modelʼs face, then I can simply add that as a morph target to the original face rig file and crank it up and viola, the whole rig was just transferred with only needing to make one morph target. By doing it this way, I transfer not only the rig, but the pose library itself. Since the character specific cage morph will be left cranked on for that character, all of the FACS shapes(the cage morphs) will also be additive to that morph, which means the poses will look correct for that character.

Please visit the links below for video demonstrations of transferring the rig: http://dl.dropbox.com/u/10939513/cagefit.mov http://dl.dropbox.com/u/10939513/cagefit2.mov

This is a video example of how data can also be transferred from character to character with this setup. Because the animator is animating attributes and offsets, which are relative values and not hard world space or parent space transformations, the data can be shared between characters easily. In this video, Anya is hooked up to Marcusʼs UI nodes so anytime I animate a slider on Marcus, Anya animates as well. And since the pose library gets fitted to Anya when I make her unique cage morph, even the poses look correct for her. Video here: http://dl.dropbox.com/u/10939513/transferdata_marcus_anya.mov

Polish Corrective Morphs: With the corrective Without the corrective When it comes to polish for our facial animation, we went ahead and used corrective shapes for some of the trickier spots for joint based deformation. The two most common shapes we made were for the lip pucker and the mouth open poses.

We also created wrinkle maps(normal maps that blend in on key poses to wrinkle or stretch the skin) for our characters as well.

video of wrinkle maps demonstration here: http://dl.dropbox.com/u/10939513/normalblends.avi

Room for Improvement Skin weighting was a bottleneck Corrective morphs were a bottleneck Future Proofing As the bullet points say, skin weighting and making the corrective morphs proved to be the most time consuming part of the process. We absolutely had to come up with a solution for that.

Room for Improvement SOLUTION: Universal Head Corrective morphs were a bottleneck Already skin-weighted Already has morph targets made Fit universal head to new sculpt Same technique as Face Cage The solution was to use a universal head. This would be a mesh that all characters are generated from. As you can see in the image, it has not been a limitation for the artists. Because of this method, we can skin-weight this mesh, and make all of the corrective morphs for it. If you think about it, this is exactly like the technique used for transferring the face rig. By making a morph for a new character with the universal head, we now get all of the weighting and corrective morphs. This means within 30 minutes of getting a new model, I can have the head weighted, rigged, and corrective morphs made. Huge win.

Questions? Contact: FaceRigTalk@gmail.com This was the abridged version of the talk, but I mostly cut on things that had lots of video examples or demonstrations. I included as many as bandwidth would allow for :) If you have any questions, email me at the address above or send me a line on twitter. Thanks!