Uncharted 2: Character Pipeline


Published on

Published in: Technology
1 Comment
  • i need this pipeline plz allow he to download it plzzzzzzzzz..
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Uncharted 2: Character Pipeline

  1. 1. Uncharted 2 Character Pipeline: An in-depth look at the creation of U2s characters.RD
  2. 2. Who Are We? Rich Diamant Lead Character Artist Judd Simantov Lead Character TDRD
  3. 3. Presentation Overview:Pipeline & Process OverviewWhat we wanted to fix from Uncharted 1New challenges specific to Uncharted 2OutsourcingConclusionQuestions & Answers
  4. 4. Modeling Process:Base Sculpt MeshArbitrary Game MeshTexturing/SamplingShader Setup
  5. 5. Base Sculpt Mesh:Good Topology for sculptingUvs for texturing
  6. 6. Arbitrary Game Mesh:Game Resolution Topology (As low as possible)Correct Uvs for texturing
  7. 7. Arbitrary Game Mesh:
  8. 8. Texturing/Sampling:Sample High resolution details from sculpt mesh to Arbgame mesh (Normal Map)If high mesh was used to texture, sample color info,otherwise texture game mesh
  9. 9. Shader Setup:Create shaders and assign the maps using our customshader tools
  10. 10. Rigging Process: Rig Pipeline Deformation & Helper Joints Skinning Process Face PipelineJS
  11. 11. Rig Pipeline:3 seperate skeletons:Skeleton Sharing: Males, Females, Children, CreaturesAll rigs have the same general orientation and namingconventionsMain Character Joint #: 246
  12. 12. Animation Rig:Standard Control Setup - kept simple to work with Motion Capture.Custom DG Node links between Motion Capture and Control RigAll Controls are custom openGL locators for customization
  13. 13. Deformation & Helper Joints:All deformations are jointsHelpers are run-time Set Driven Keys - no animation exported, savesmemory. Limited use because of Gimbal.Use "Vector" cones to handle twists and more complex deformations.
  14. 14. Skinning Process:Default Linear Blend SkinningUse Mayas "Copy Skin Weights" to get a basic start to new meshesHistory Tool allows modelers to modify topology - video3-5 influences per vertex - more than this becomes unmanageable.Use a motion capture range of motion to test the first pass, but thegame itself is the best range of motion test.
  15. 15. Face Pipeline:Face Rig is all Joints97 joints in the faceSame facial rig In-Game &CinematicsCustom API node to holdall the pose data and do allthe backend calculationsUI that interfaces with thenode and allows you tomanage all the data
  16. 16. Face Pipeline:
  17. 17. Face Pipeline:
  18. 18. Tools Overview:
  19. 19. Tools Overview: History Tool
  20. 20. Tools Overview: Auto Rig Builder
  21. 21. Tools Overview: PM LOD Tool
  22. 22. Tools Overview: Builder
  23. 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 orderRD
  24. 24. Browser:Used to quickly browse and manage .obj files -quickly import and export multiple files at once
  25. 25. Tools Overview: Surfer
  26. 26. What we wanted to fix from Uncharted 1
  27. 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 whichcaused inconsistencies and management issues.Major issue when dealing with the creation of wrinkle mapssince the poses were created on the game mesh
  28. 28. Arbitrary Mesh Pipeline was too convoluted:Partial Solution: Used the same base head for the high res sculpt and the game mesh.
  29. 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. 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. 31. Video: Transferring process using DiamantUV tool
  32. 32. Re-topologizing game mesh :Video
  33. 33. Rigging Problems:JS
  34. 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 jointsand the control setups (orientation of controls and jointorientation).Animators cant transfer animation across skeletons.
  35. 35. Solution:Generalized the rig setup to allow for automation.Wrote orientation procedure that would calculateconsistent orientation across all skeletons.Created general rig control system to simply curvecontrol creation.
  36. 36. Rig Builder and Animation ondifferent Skeletons:Video:
  37. 37. Character Faces:RD
  38. 38. Geometry in the faces and expressions:Wanted to achieve a higher level of fidelitywith the faces and expressions.Needed to add more geometry and newtopologyNew facial rig with significantly more bones
  39. 39. Geometry in the faces and expressions:
  40. 40. Mouth area: Uncharted 1s mouth area was very hard to weight and didnt 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
  41. 41. Mouth area: Uncharted 1
  42. 42. Mouth area: Uncharted 1
  43. 43. Mouth area: Uncharted 2
  44. 44. Mouth area: Uncharted 2
  45. 45. Facial Controls:Problem: Uncharted 1 had Viewport Controls Animators couldnt easily see what was on and what the values are Selection is annoying Doesnt scale up wellSolution: Switched to Channel Box sliders.JS
  46. 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
  47. 47. Face Comparison:
  48. 48. Face Comparison:
  49. 49. Face Comparison:
  50. 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. 51. Improve the eyes:Uncharted 1 Eye: Not GroundedRD
  52. 52. Uncharted 2 Eyes:
  53. 53. Improve the eyes:Uncharted 2 Eyes
  54. 54. Eye Compare:Uncharted 1 Uncharted 2
  55. 55. Quick iteration times between sculpting and in game:Experimented with getting the quaded Zbrush mesh skinnedquickly and in game for approval before building the gamemesh.Pros: -we didnt go too far into the character without seeing it ingame firstCons: -Often didnt keep track of this and had to reskin things toomany times
  56. 56. Quick iteration times between sculpting and in game:
  57. 57. Quick iteration times between sculpting and in game:
  58. 58. New challenges specific to Uncharted 2JS
  59. 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. 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. 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
  62. 62. The Completely Unexpected
  63. 63. Multiplayerst
  64. 64. Multiplayer
  65. 65. MultiplayerNeeded Lods for each Multiplayer skin.Had tons of Build Assets to manage Separate actor for each MP skin and LODsOne skeleton for all charactersNeeded facial animation shared
  66. 66. Multiplayer Roughly 50 MP skins generated Had tons of Build Assets to manage Separate actor for each MP skin and LODs
  67. 67. MultiplayerOne skeleton for all characters Females proportions were really hard to handleNeeded facial animation shared - video
  68. 68. Optimization: Did not anticipate having to optimize as much -werent 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. 69. Villagers last minute:Initially only meant to be used in the far background and notshown up close.Very last minute change to add facial expressions and up thequality for a better look.RD
  70. 70. Villagers last minute:RD
  71. 71. Normals not transforming based ontranslation for the eyes:Eye lids are driven by multiple joints right at the surface of thelid. -Translation is used to transform the vertices.Causes artifacts due to normals not being transformedcorrectly.Unavoidable due to technology limitations. -Only joint rotation modifies the vertex normalTried some tricks which ultimately did not work.
  72. 72. Normals not transforming based ontranslation for the eyes:
  73. 73. Normals not transforming based ontranslation for the eyes:
  74. 74. Improved Hair:
  75. 75. Improved Hair:
  76. 76. Improved Hair:
  77. 77. Outsourcing:JS
  78. 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. 79. Conclusion:Better way to deal with LODsPossibly get rid of arbitrary meshManage 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 placeEyes Eyes still feel creepy at time and dont always match the environmentTackling optimization earlierFind better solution for multiplayer faces and skeletonvariation
  80. 80. Thanks!
  81. 81. Q & A:Email:Rich "Custom" Diamantrich@rd3d.comJudd "Oiiii" Simantovjuddsim@gmail.com