the tricks up our sleeves
play

The Tricks Up Our Sleeves A Walkthrough of the Special FX of - PowerPoint PPT Presentation

The Tricks Up Our Sleeves A Walkthrough of the Special FX of Uncharted 3: Drakes Deception Keith Guerrette Lead Visual Effects Artist, Naughty Dog www.keithguerrette.com Mouse-over this icon to see my narration! Overview Evolution of our FX


  1. The Tricks Up Our Sleeves A Walkthrough of the Special FX of Uncharted 3: Drake’s Deception Keith Guerrette Lead Visual Effects Artist, Naughty Dog www.keithguerrette.com Mouse-over this icon to see my narration!

  2. Overview Evolution of our FX pipeline across the ● Uncharted Franchise Specific FX Challenges of Uncharted 3 ● (and the solutions that we came up with) A few lessons we’ve learned, and plenty ● we haven’t

  3. The Team

  4. Marshall Robin Genius, FX Programmer Extraordinaire, and All-Round Cool Guy

  5. Marshall Robin Genius, FX Programmer Extraordinaire, and All-Round Cool Guy

  6. E VOLUTION OF THE T OOLS

  7. Uncharted 1 FX Pipeline ● FX were hand-written in a scripting language similar to LISP. ● Shaders were hand written in HLSL

  8. Uncharted 2 FX Pipeline ● Goals: ● Artist friendly pipeline ● Freedom and Power ● Meet artistic standards set by the top of the industry

  9. Static Materials

  10. Static Materials

  11. Static Materials

  12. Static Materials

  13. Uncharted 2 FX Pipeline ● Problems ● Maya’s sprite engine is terrible ● We had to build our own controls, functions, and better workflow

  14. Flipbook Materials 64 frames 32 frames 512 x 512 512 x 512

  15. Dynamic Materials

  16. Uncharted 2 Fire Material

  17. Uncharted 3 FX Pipeline ● Goals: ● Remove dependency on Programmers ● Improve efficiency of workflow ● Expose more control the tools & artists

  18. Particle System & Emitter List Ramp & Attribute Controls Creation & Runtime Expression Controls Tons of other options, including: Material Assignments, Spawn Methods, Custom Material Variables, Collisions, Sounds, Lights, Global Fields, UV Controls, Trails, Ribbons, etc

  19. Uncharted 3 FX Pipeline ● Current Readable Particles Attributes: ● Ramp output (with custom V inputs) ● Position (world, local) ● Velocity (world, local) ● Age (particle) ● Time (emitter) ● Bouncecount ● Timedelta ● Bounce Count

  20. Uncharted 3 FX Pipeline ● Current Particle Expression Functions: ● +-x/ ● Modulus ● Random ● Linstep & Smoothstep ● Clamp ● Magnitude ● Sign ● Sin & Cos

  21. Uncharted 3 FX Pipeline ● Very powerful, math oriented pipeline ● Many different types of controls & customizations ● Fully supportive team of programmers ● Open communication ● No Politics ● Easy, understanding discussions of priorities

  22. Uncharted 3 FX Pipeline ● Any attribute in a shader can be controlled at run-time ● Up to 8 real-time inputs into the shader, not including the vertex color and vertex opacity (12 Total)

  23. T HE FX C HALLENGES OF U NCHARTED 3

  24. Challenge: How do we utilize dynamic materials to create complex detail and motion within the particle system?

  25. Creating Motion in Particles

  26. Creating Motion in Particles Prerequisite Knowledge: UV Math

  27. Creating Motion in Particles Prerequisite Knowledge: UV Math

  28. Creating Motion in Particles Prerequisite Knowledge: UV Math

  29. Creating Motion in Particles Prerequisite Knowledge: UV Math

  30. Creating Motion in Particles Prerequisite Knowledge: UV Math

  31. Creating Motion in Particles Prerequisite Knowledge: UV Math

  32. Creating Motion in Particles Prerequisite Knowledge: UV Math

  33. Creating Motion in Particles Prerequisite Knowledge: UV Math

  34. Creating Motion in Particles Prerequisite Knowledge: UV Math

  35. Creating Motion in Particles Prerequisite Knowledge: UV Math

  36. Creating Motion in Particles Prerequisite Knowledge: UV Math

  37. Creating Motion in Particles Prerequisite Knowledge: UV Math

  38. Creating Motion in Particles Prerequisite Knowledge: UV Math

  39. Creating Motion in Particles Prerequisite Knowledge: UV Math

  40. Creating Motion in Particles Prerequisite Knowledge: UV Math

  41. Creating Motion in Particles Prerequisite Knowledge: UV Math

  42. Creating Motion in Particles Technique 1: Scrolling UV Distortion

  43. Creating Motion in Particles Technique 1: Scrolling UV Distortion

  44. Creating Motion in Particles Technique 1: Scrolling UV Distortion

  45. Creating Motion in Particles Technique 1: Scrolling UV Distortion

  46. Creating Motion in Particles Technique 1: Scrolling UV Distortion ● Pros ● Breaks the silhouette ● Adds internal motion ● Cons ● It’s mostly non -directional motion and ambiguous detail

  47. Creating Motion in Particles Technique 2: Flow Technique

  48. Creating Motion in Particles Technique 2: Flow Technique

  49. Creating Motion in Particles Technique 2: Flow Technique

  50. Creating Motion in Particles Technique 2: Flow Technique

  51. Creating Motion in Particles Technique 2: Flow Technique

  52. Creating Motion in Particles Technique 2: Flow Technique

  53. Creating Motion in Particles Technique 2: Flow Technique

  54. Creating Motion in Particles Technique 2: Flow Technique

  55. Creating Motion in Particles Technique 2: Flow Technique

  56. Creating Motion in Particles Technique 2: Flow Technique

  57. Creating Motion in Particles Technique 2: Flow Technique

  58. Creating Motion in Particles Technique 2: Flow Technique

  59. Creating Motion in Particles Technique 2: Flow Technique ● Pros ● Extremely controllable awesome motion ● Cons ● Patterns of the motion are very visible (i.e. not very random…) ● Lots of negative space in the particle (overdraw)

  60. B URNING D OWN A C HATEAU

  61. Challenge: How do we make an awesome fiery inferno covering the walls, floor, & ceiling, while running at 30 frames per second?

  62. Burning Down a Chateau Prerequisite Knowledge: Z Depth Bias/Blending

  63. Burning Down a Chateau Prerequisite Knowledge: Z Depth Bias/Blending

  64. Burning Down a Chateau Prerequisite Knowledge: Z Depth Bias/Blending

  65. Burning Down a Chateau

  66. Burning Down a Chateau

  67. Burning Down a Chateau ● Pros: ● Less Particles = Less Overdraw = Better Frame Rate ● Cons: ● All of the motion has to come from the material ● Texture resolution is important/visible

  68. C RASHING A C ARGO P LANE

  69. Challenge: How do we make a realistic looking, thick , volumetric smokestack with enough broad and subtle motion to feel like its huge, but in the distance?

  70. Crashing a Cargo Plane Prerequisite Knowledge: Dot Product Against a Normal Map = (0, 1, 0) · Light Vector Dot Product

  71. Crashing a Cargo Plane Prerequisite Knowledge: Dot Product Against a Normal Map

  72. Crashing a Cargo Plane Prerequisite Knowledge: Dot Product Against a Normal Map

  73. Crashing a Cargo Plane

  74. Crashing a Cargo Plane

  75. Crashing a Cargo Plane

  76. Crashing a Cargo Plane

  77. Crashing a Cargo Plane ● Pros: ● Decent volumetric feel and motion ● Tons of control over color, shape, motion, etc ● Cons: ● Requires A LOT of particles ● Very expensive shader

  78. I NTERACTING WITH THE D ESERT

  79. Interacting with the Desert

  80. Challenge: How do we make fluid, realistic sand interactions that consider the angle and direction of the sand dune?

  81. Interacting with the Desert

  82. Interacting with the Desert

  83. Interacting with the Desert

  84. Interacting with the Desert

  85. Interacting with the Desert Projecting Particles into the World Normal Buffer Projected into Projected into Particle Texture Emissive Render Pass World Normal Buffer

  86. Interacting with the Desert Sand Foot Prints

  87. Interacting with the Desert Sand Foot Prints

  88. Interacting with the Desert Sand Foot Prints

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend