SlideShare a Scribd company logo
1 of 81
Uncharted 2 Character
           Pipeline:
     An in-depth look at the creation
           of U2's characters.




RD
Who Are We?


       Rich Diamant
     Lead Character Artist

      Judd Simantov
     Lead Character TD




RD
Presentation Overview:
Pipeline & Process Overview

What we wanted to fix from Uncharted 1

New challenges specific to Uncharted 2

Outsourcing

Conclusion

Questions & Answers
Modeling Process:
Base Sculpt Mesh

Arbitrary Game Mesh

Texturing/Sampling

Shader Setup
Base Sculpt Mesh:
Good Topology for sculpting
Uv's for texturing
Arbitrary Game Mesh:
Game Resolution Topology (As low as possible)
Correct Uv's for texturing
Arbitrary Game Mesh:
Texturing/Sampling:
Sample High resolution details from sculpt mesh to Arb
game mesh (Normal Map)
If high mesh was used to texture, sample color info,
otherwise texture game mesh
Shader Setup:
Create shaders and assign the maps using our custom
shader tools
Rigging Process:
     Rig Pipeline

     Deformation & Helper Joints

     Skinning Process

     Face Pipeline




JS
Rig Pipeline:
3 seperate skeletons:
Skeleton Sharing: Males, Females, Children, Creatures
All rigs have the same general orientation and naming
conventions
Main Character Joint #: 246
Animation Rig:
Standard Control Setup - kept simple to work with Motion Capture.
Custom DG Node links between Motion Capture and Control Rig
All Controls are custom openGL locators for customization
Deformation & Helper Joints:
All deformations are joints
Helpers are run-time Set Driven Keys - no animation exported, saves
memory. Limited use because of Gimbal.
Use "Vector" cones to handle twists and more complex deformations.
Skinning Process:
Default Linear Blend Skinning
Use Maya's "Copy Skin Weights" to get a basic start to new meshes
History Tool allows modelers to modify topology - video
3-5 influences per vertex - more than this becomes unmanageable.
Use a motion capture range of motion to test the first pass, but the
game itself is the best range of motion test.
Face Pipeline:
Face Rig is all Joints
97 joints in the face
Same facial rig In-Game &
Cinematics
Custom API node to hold
all the pose data and do all
the backend calculations
UI that interfaces with the
node and allows you to
manage all the data
Face Pipeline:
Face Pipeline:
Tools Overview:
Tools Overview:

   History Tool
Tools Overview:

  Auto Rig Builder
Tools Overview:
   PM LOD Tool
Tools Overview:

     Builder
Diamant UV:

  Very fast uv creation and editing
 -automatic uv generation
 -custom uv modifiers

  Transfering single uv sets to models with multiple uv sets
 -does not override both sets

     Realtime shrink wrapping of in game models to high res
     models

     Topology transferring and uv transferring from one mesh to
     another that has the same topology but different point order

RD
Browser:

Used to quickly browse and manage .obj files
  -quickly import and export multiple files at once
Tools Overview:
     Surfer
What we wanted to fix from Uncharted 1
Arbitrary Mesh Pipeline was too
                 convoluted:

The Problem:
Uncharted 1 had two separate meshes for every part.

Problems when updating either of the two meshes which
caused inconsistencies and management issues.

Major issue when dealing with the creation of wrinkle maps
since the poses were created on the game mesh
Arbitrary Mesh Pipeline was too
                convoluted:
Partial Solution:
  Used the same base head for the high res sculpt and the
  game mesh.
Different topology for each of the
              characters heads:
Problem:
  Each character had different topology
      each character had to be rigged from scratch
     creating the arbitrary game meshes took a long time
Different topology for each of the
              characters heads:
Solution:
  Created a standard Head mesh that every character used. (base section)
  made creating the game mesh extremely fast
  allowed us to transfer weighting to all main characters
Video: Transferring process using Diamant
UV tool
Re-topologizing game mesh :Video
Rigging Problems:




JS
Building a rig from scratch was a
              nightmare:
The Problems:

We had no easy way of automating the setup.
No way of keeping consistent info across all the joints
and the control setups (orientation of controls and joint
orientation).
Animators can't transfer animation across skeletons.
Solution:

Generalized the rig setup to allow for automation.
Wrote orientation procedure that would calculate
consistent orientation across all skeletons.
Created general rig control system to simply curve
control creation.
Rig Builder and Animation on
different Skeletons:
Video:
Character Faces:




RD
Geometry in the faces and
          expressions:
Wanted to achieve a higher level of fidelity
with the faces and expressions.
Needed to add more geometry and new
topology
New facial rig with significantly more bones
Geometry in the faces and
     expressions:
Mouth area:
 Uncharted 1's mouth area was very hard to weight
 and didn't look very good.
 Changed to an open mouth start pose
 Added more geometry that flowed better for
 deformation
 Used custom tools to smooth the noise between
 verts
Mouth area: Uncharted 1
Mouth area: Uncharted 1
Mouth area: Uncharted 2
Mouth area: Uncharted 2
Facial Controls:
Problem:
     Uncharted 1 had Viewport
     Controls
       Animators couldn't easily see
       what was on and what the
       values are
       Selection is annoying
       Doesn't scale up well
Solution:
     Switched to Channel Box sliders.



JS
Facial Rig/Shapes:

 Spent some time researching more anatomy
 Try to maintain bone structure and give the
 feeling of skin and muscle moving over bone
 Better understanding of how the face works
 Give more control to the animators
Face Comparison:
Face Comparison:
Face Comparison:
Fixer Shapes:
 Use more fixers to make sure when poses come
 together we get more anatomically correct shapes
 and more appealing shapes - Video
Improve the eyes:
Uncharted 1 Eye: Not Grounded




RD
Uncharted 2 Eyes:
Improve the eyes:
Uncharted 2 Eyes
Eye Compare:

Uncharted 1         Uncharted 2
Quick iteration times between
         sculpting and in game:
Experimented with getting the quaded Zbrush mesh skinned
quickly and in game for approval before building the game
mesh.

Pros:
  -we didn't go too far into the character without seeing it in
game first

Cons:
  -Often didn't keep track of this and had to reskin things too
many times
Quick iteration times between
   sculpting and in game:
Quick iteration times between
   sculpting and in game:
New challenges specific to Uncharted 2




JS
New challenges specific to Uncharted 2:

 LODs
 Multiplayer skins
 Optimization
 Outsourcing
 Villagers last minute
 Normals not transforming based on translation for the eyes
 Improved Hair
LODs:
 Had not used lods in Uncharted 1.
 Had to keep vertex sets low for Uncharted 2.
 Decided to do this late in production.
LODs:
 First started manually creating Lods
 Used Maya PM Lod Tool to generate Lods.
 Used Maya "Copy Skin Weights" from base geometry to all
 Lods. - Video
The Completely Unexpected
Multiplayer




st
Multiplayer
Multiplayer

Needed Lods for each Multiplayer skin.
Had tons of Build Assets to manage
  Separate actor for each MP skin and LODs
One skeleton for all characters
Needed facial animation shared
Multiplayer

 Roughly 50 MP skins generated
 Had tons of Build Assets to
 manage
   Separate actor for each MP
   skin and LODs
Multiplayer

One skeleton for all characters
  Females proportions were really hard to handle
Needed facial animation shared - video
Optimization:
 Did not anticipate having to optimize as much
   -weren't as tight on Uncharted 1.
 Vertex sets needed to be kept low.
    used Lods
    combined geometry into single pieces
    used less shaders
    combined textures to fit on single texture sheets
 Turned off shadow casting on smaller objects
 Turned off motion blur and other shader parameters on
 smaller objects
Villagers last minute:
Initially only meant to be used in the far background and not
shown up close.
Very last minute change to add facial expressions and up the
quality for a better look.




RD
Villagers last minute:




RD
Normals not transforming based on
translation for the eyes:
Eye lids are driven by multiple joints right at the surface of the
lid.
   -Translation is used to transform the vertices.

Causes artifacts due to normals not being transformed
correctly.

Unavoidable due to technology limitations.
  -Only joint rotation modifies the vertex normal

Tried some tricks which ultimately did not work.
Normals not transforming based on
translation for the eyes:
Normals not transforming based on
translation for the eyes:
Improved Hair:
Improved Hair:
Improved Hair:
Outsourcing:




JS
Outsourcing Characters:

 Turned out to be more work for high quality assets but was
 useful for smaller assets
 When things did work it allowed us to focus on the more
 important stuff
 We need to take the time up-front to really evaluate the
 companies properly
 Communication was tough at times
Conclusion:

Better way to deal with LODs
Possibly get rid of arbitrary mesh
Manage actors in an easier way
     multiple costumes, texture sets, etc..
Reference skinning
    figure out a way to reference skinning information so you only
    update in one place
Eyes
    Eye's still feel creepy at time and don't always match the
    environment
Tackling optimization earlier
Find better solution for multiplayer faces and skeleton
variation
Thanks!
Q & A:

Email:
Rich "Custom" Diamant
rich@rd3d.com

Judd "Oiiii" Simantov
juddsim@gmail.com

More Related Content

What's hot

HDR Theory and practicce (JP)
HDR Theory and practicce (JP)HDR Theory and practicce (JP)
HDR Theory and practicce (JP)Hajime Uchimura
 
High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteElectronic Arts / DICE
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsElectronic Arts / DICE
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemGuerrilla
 
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color CourseFilmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Coursehpduiker
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesGuerrilla
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingSteven Tovey
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnGuerrilla
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipelinechangehee lee
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...Colin Barré-Brisebois
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성Gunho Shin
 
Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2Philip Hammer
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingElectronic Arts / DICE
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...JP Lee
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbiteElectronic Arts / DICE
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunElectronic Arts / DICE
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbiteElectronic Arts / DICE
 
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham OriginsGDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham OriginsColin Barré-Brisebois
 

What's hot (20)

HDR Theory and practicce (JP)
HDR Theory and practicce (JP)HDR Theory and practicce (JP)
HDR Theory and practicce (JP)
 
High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in Frostbite
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance Fields
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo Postmortem
 
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color CourseFilmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
 
Ndc12 이창희 render_pipeline
Ndc12 이창희 render_pipelineNdc12 이창희 render_pipeline
Ndc12 이창희 render_pipeline
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성
 
Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2Bindless Deferred Decals in The Surge 2
Bindless Deferred Decals in The Surge 2
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham OriginsGDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
 

Viewers also liked

Adventures In Data Compilation
Adventures In Data CompilationAdventures In Data Compilation
Adventures In Data CompilationNaughty Dog
 
SPU Optimizations-part 1
SPU Optimizations-part 1SPU Optimizations-part 1
SPU Optimizations-part 1Naughty Dog
 
SPU Optimizations - Part 2
SPU Optimizations - Part 2SPU Optimizations - Part 2
SPU Optimizations - Part 2Naughty Dog
 
The Technology of Uncharted: Drake’s Fortune
The Technology of Uncharted: Drake’s FortuneThe Technology of Uncharted: Drake’s Fortune
The Technology of Uncharted: Drake’s FortuneNaughty Dog
 
Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsNaughty Dog
 
State-Based Scripting in Uncharted 2: Among Thieves
State-Based Scripting in Uncharted 2: Among ThievesState-Based Scripting in Uncharted 2: Among Thieves
State-Based Scripting in Uncharted 2: Among ThievesNaughty Dog
 

Viewers also liked (6)

Adventures In Data Compilation
Adventures In Data CompilationAdventures In Data Compilation
Adventures In Data Compilation
 
SPU Optimizations-part 1
SPU Optimizations-part 1SPU Optimizations-part 1
SPU Optimizations-part 1
 
SPU Optimizations - Part 2
SPU Optimizations - Part 2SPU Optimizations - Part 2
SPU Optimizations - Part 2
 
The Technology of Uncharted: Drake’s Fortune
The Technology of Uncharted: Drake’s FortuneThe Technology of Uncharted: Drake’s Fortune
The Technology of Uncharted: Drake’s Fortune
 
Practical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT MethodsPractical Spherical Harmonics Based PRT Methods
Practical Spherical Harmonics Based PRT Methods
 
State-Based Scripting in Uncharted 2: Among Thieves
State-Based Scripting in Uncharted 2: Among ThievesState-Based Scripting in Uncharted 2: Among Thieves
State-Based Scripting in Uncharted 2: Among Thieves
 

Similar to Uncharted 2: Character Pipeline

How we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureHow we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureFelipe Lira
 
Uncharted3 effect technique
Uncharted3 effect techniqueUncharted3 effect technique
Uncharted3 effect techniqueMinGeun Park
 
Dynamic Wounds on Animated Characters in UE4
Dynamic Wounds on Animated Characters in UE4Dynamic Wounds on Animated Characters in UE4
Dynamic Wounds on Animated Characters in UE4Michał Kłoś
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsElectronic Arts / DICE
 
GDC2011 - Implementation and Application of the Real-Time Helper-Joint System
GDC2011 - Implementation and Application of the Real-Time Helper-Joint SystemGDC2011 - Implementation and Application of the Real-Time Helper-Joint System
GDC2011 - Implementation and Application of the Real-Time Helper-Joint SystemJubok Kim
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsJohan Andersson
 
Roberto Mangiafico, CTO BadSeed Entertainment - Sleep Attach: A Technical Pos...
Roberto Mangiafico, CTO BadSeed Entertainment - Sleep Attach: A Technical Pos...Roberto Mangiafico, CTO BadSeed Entertainment - Sleep Attach: A Technical Pos...
Roberto Mangiafico, CTO BadSeed Entertainment - Sleep Attach: A Technical Pos...How to Web
 
Computer Vision for PS3 Games
Computer Vision for PS3 GamesComputer Vision for PS3 Games
Computer Vision for PS3 GamesSlide_N
 
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Software
 
New 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in UnityNew 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in UnityUnity Technologies
 
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来Unite2017Tokyo
 
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来Unity Technologies Japan K.K.
 
Gpu Programming With GPUImage and Metal
Gpu Programming With GPUImage and MetalGpu Programming With GPUImage and Metal
Gpu Programming With GPUImage and MetalJanie Clayton
 
GPU Programming 360iDev
GPU Programming 360iDevGPU Programming 360iDev
GPU Programming 360iDevJanie Clayton
 

Similar to Uncharted 2: Character Pipeline (20)

How we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureHow we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
 
Uncharted3 effect technique
Uncharted3 effect techniqueUncharted3 effect technique
Uncharted3 effect technique
 
Dynamic Wounds on Animated Characters in UE4
Dynamic Wounds on Animated Characters in UE4Dynamic Wounds on Animated Characters in UE4
Dynamic Wounds on Animated Characters in UE4
 
Unity
UnityUnity
Unity
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
 
GDC2011 - Implementation and Application of the Real-Time Helper-Joint System
GDC2011 - Implementation and Application of the Real-Time Helper-Joint SystemGDC2011 - Implementation and Application of the Real-Time Helper-Joint System
GDC2011 - Implementation and Application of the Real-Time Helper-Joint System
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
SolidWorks Assignment Help
SolidWorks Assignment HelpSolidWorks Assignment Help
SolidWorks Assignment Help
 
Roberto Mangiafico, CTO BadSeed Entertainment - Sleep Attach: A Technical Pos...
Roberto Mangiafico, CTO BadSeed Entertainment - Sleep Attach: A Technical Pos...Roberto Mangiafico, CTO BadSeed Entertainment - Sleep Attach: A Technical Pos...
Roberto Mangiafico, CTO BadSeed Entertainment - Sleep Attach: A Technical Pos...
 
Computer Vision for PS3 Games
Computer Vision for PS3 GamesComputer Vision for PS3 Games
Computer Vision for PS3 Games
 
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...
 
New 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in UnityNew 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in Unity
 
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
 
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
 
intern.pdf
intern.pdfintern.pdf
intern.pdf
 
Programmers guide
Programmers guideProgrammers guide
Programmers guide
 
Gpu Programming With GPUImage and Metal
Gpu Programming With GPUImage and MetalGpu Programming With GPUImage and Metal
Gpu Programming With GPUImage and Metal
 
GPU Programming 360iDev
GPU Programming 360iDevGPU Programming 360iDev
GPU Programming 360iDev
 
Production workflows
Production workflowsProduction workflows
Production workflows
 
Cocos2d programming
Cocos2d programmingCocos2d programming
Cocos2d programming
 

Recently uploaded

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

Uncharted 2: Character Pipeline

  • 1. Uncharted 2 Character Pipeline: An in-depth look at the creation of U2's characters. RD
  • 2. Who Are We? Rich Diamant Lead Character Artist Judd Simantov Lead Character TD RD
  • 3. Presentation Overview: Pipeline & Process Overview What we wanted to fix from Uncharted 1 New challenges specific to Uncharted 2 Outsourcing Conclusion Questions & Answers
  • 4. Modeling Process: Base Sculpt Mesh Arbitrary Game Mesh Texturing/Sampling Shader Setup
  • 5. Base Sculpt Mesh: Good Topology for sculpting Uv's for texturing
  • 6. Arbitrary Game Mesh: Game Resolution Topology (As low as possible) Correct Uv's for texturing
  • 8. Texturing/Sampling: Sample High resolution details from sculpt mesh to Arb game mesh (Normal Map) If high mesh was used to texture, sample color info, otherwise texture game mesh
  • 9. Shader Setup: Create shaders and assign the maps using our custom shader tools
  • 10. Rigging Process: Rig Pipeline Deformation & Helper Joints Skinning Process Face Pipeline JS
  • 11. Rig Pipeline: 3 seperate skeletons: Skeleton Sharing: Males, Females, Children, Creatures All rigs have the same general orientation and naming conventions Main Character Joint #: 246
  • 12. Animation Rig: Standard Control Setup - kept simple to work with Motion Capture. Custom DG Node links between Motion Capture and Control Rig All Controls are custom openGL locators for customization
  • 13. Deformation & Helper Joints: All deformations are joints Helpers are run-time Set Driven Keys - no animation exported, saves memory. Limited use because of Gimbal. Use "Vector" cones to handle twists and more complex deformations.
  • 14. Skinning Process: Default Linear Blend Skinning Use Maya's "Copy Skin Weights" to get a basic start to new meshes History Tool allows modelers to modify topology - video 3-5 influences per vertex - more than this becomes unmanageable. Use a motion capture range of motion to test the first pass, but the game itself is the best range of motion test.
  • 15. Face Pipeline: Face Rig is all Joints 97 joints in the face Same facial rig In-Game & Cinematics Custom API node to hold all the pose data and do all the backend calculations UI that interfaces with the node and allows you to manage all the data
  • 19. Tools Overview: History Tool
  • 20. Tools Overview: Auto Rig Builder
  • 21. Tools Overview: PM LOD Tool
  • 22. Tools Overview: Builder
  • 23. Diamant UV: Very fast uv creation and editing -automatic uv generation -custom uv modifiers Transfering single uv sets to models with multiple uv sets -does not override both sets Realtime shrink wrapping of in game models to high res models Topology transferring and uv transferring from one mesh to another that has the same topology but different point order RD
  • 24. Browser: Used to quickly browse and manage .obj files -quickly import and export multiple files at once
  • 25. Tools Overview: Surfer
  • 26. What we wanted to fix from Uncharted 1
  • 27. Arbitrary Mesh Pipeline was too convoluted: The Problem: Uncharted 1 had two separate meshes for every part. Problems when updating either of the two meshes which caused inconsistencies and management issues. Major issue when dealing with the creation of wrinkle maps since the poses were created on the game mesh
  • 28. Arbitrary Mesh Pipeline was too convoluted: Partial Solution: Used the same base head for the high res sculpt and the game mesh.
  • 29. Different topology for each of the characters heads: Problem: Each character had different topology each character had to be rigged from scratch creating the arbitrary game meshes took a long time
  • 30. Different topology for each of the characters heads: Solution: Created a standard Head mesh that every character used. (base section) made creating the game mesh extremely fast allowed us to transfer weighting to all main characters
  • 31. Video: Transferring process using Diamant UV tool
  • 34. Building a rig from scratch was a nightmare: The Problems: We had no easy way of automating the setup. No way of keeping consistent info across all the joints and the control setups (orientation of controls and joint orientation). Animators can't transfer animation across skeletons.
  • 35. Solution: Generalized the rig setup to allow for automation. Wrote orientation procedure that would calculate consistent orientation across all skeletons. Created general rig control system to simply curve control creation.
  • 36. Rig Builder and Animation on different Skeletons: Video:
  • 38. Geometry in the faces and expressions: Wanted to achieve a higher level of fidelity with the faces and expressions. Needed to add more geometry and new topology New facial rig with significantly more bones
  • 39. Geometry in the faces and expressions:
  • 40. Mouth area: Uncharted 1's mouth area was very hard to weight and didn't look very good. Changed to an open mouth start pose Added more geometry that flowed better for deformation Used custom tools to smooth the noise between verts
  • 45. Facial Controls: Problem: Uncharted 1 had Viewport Controls Animators couldn't easily see what was on and what the values are Selection is annoying Doesn't scale up well Solution: Switched to Channel Box sliders. JS
  • 46. Facial Rig/Shapes: Spent some time researching more anatomy Try to maintain bone structure and give the feeling of skin and muscle moving over bone Better understanding of how the face works Give more control to the animators
  • 50. Fixer Shapes: Use more fixers to make sure when poses come together we get more anatomically correct shapes and more appealing shapes - Video
  • 51. Improve the eyes: Uncharted 1 Eye: Not Grounded RD
  • 55. Quick iteration times between sculpting and in game: Experimented with getting the quaded Zbrush mesh skinned quickly and in game for approval before building the game mesh. Pros: -we didn't go too far into the character without seeing it in game first Cons: -Often didn't keep track of this and had to reskin things too many times
  • 56. Quick iteration times between sculpting and in game:
  • 57. Quick iteration times between sculpting and in game:
  • 58. New challenges specific to Uncharted 2 JS
  • 59. New challenges specific to Uncharted 2: LODs Multiplayer skins Optimization Outsourcing Villagers last minute Normals not transforming based on translation for the eyes Improved Hair
  • 60. LODs: Had not used lods in Uncharted 1. Had to keep vertex sets low for Uncharted 2. Decided to do this late in production.
  • 61. LODs: First started manually creating Lods Used Maya PM Lod Tool to generate Lods. Used Maya "Copy Skin Weights" from base geometry to all Lods. - Video
  • 65. Multiplayer Needed Lods for each Multiplayer skin. Had tons of Build Assets to manage Separate actor for each MP skin and LODs One skeleton for all characters Needed facial animation shared
  • 66. Multiplayer Roughly 50 MP skins generated Had tons of Build Assets to manage Separate actor for each MP skin and LODs
  • 67. Multiplayer One skeleton for all characters Females proportions were really hard to handle Needed facial animation shared - video
  • 68. Optimization: Did not anticipate having to optimize as much -weren't as tight on Uncharted 1. Vertex sets needed to be kept low. used Lods combined geometry into single pieces used less shaders combined textures to fit on single texture sheets Turned off shadow casting on smaller objects Turned off motion blur and other shader parameters on smaller objects
  • 69. Villagers last minute: Initially only meant to be used in the far background and not shown up close. Very last minute change to add facial expressions and up the quality for a better look. RD
  • 71. Normals not transforming based on translation for the eyes: Eye lids are driven by multiple joints right at the surface of the lid. -Translation is used to transform the vertices. Causes artifacts due to normals not being transformed correctly. Unavoidable due to technology limitations. -Only joint rotation modifies the vertex normal Tried some tricks which ultimately did not work.
  • 72. Normals not transforming based on translation for the eyes:
  • 73. Normals not transforming based on translation for the eyes:
  • 78. Outsourcing Characters: Turned out to be more work for high quality assets but was useful for smaller assets When things did work it allowed us to focus on the more important stuff We need to take the time up-front to really evaluate the companies properly Communication was tough at times
  • 79. Conclusion: Better way to deal with LODs Possibly get rid of arbitrary mesh Manage actors in an easier way multiple costumes, texture sets, etc.. Reference skinning figure out a way to reference skinning information so you only update in one place Eyes Eye's still feel creepy at time and don't always match the environment Tackling optimization earlier Find better solution for multiplayer faces and skeleton variation
  • 81. Q & A: Email: Rich "Custom" Diamant rich@rd3d.com Judd "Oiiii" Simantov juddsim@gmail.com