Effects in Uncharted 3 Eben Cook VFX Artist @ Naughty Dog Me me me - - PowerPoint PPT Presentation

effects in
SMART_READER_LITE
LIVE PREVIEW

Effects in Uncharted 3 Eben Cook VFX Artist @ Naughty Dog Me me me - - PowerPoint PPT Presentation

Creating Flood Effects in Uncharted 3 Eben Cook VFX Artist @ Naughty Dog Me me me BA in Communication Design from UNT Computer Science minor 11 years in the industry. EALA, Naughty Dog Ive been: Concept Artist Texture


slide-1
SLIDE 1

Eben Cook

VFX Artist @ Naughty Dog

Creating Flood Effects in Uncharted 3

slide-2
SLIDE 2

Me me me

  • BA in Communication Design from UNT
  • Computer Science minor
  • 11 years in the industry. EALA, Naughty Dog
  • I’ve been:
  • Concept Artist
  • Texture Artist
  • Modeler
  • Technical Artist/VFX
slide-3
SLIDE 3

We did lots of kinds of water

  • Puddles
slide-4
SLIDE 4

We did lots of kinds of water

  • Puddles
  • Waterfalls
slide-5
SLIDE 5

We did lots of kinds of water

  • Waterfalls
  • Puddles
  • Oceans
slide-6
SLIDE 6

We did lots of kinds of water

  • Waterfalls
  • Puddles
  • Oceans
  • Floods
slide-7
SLIDE 7

The Hall Flood

slide-8
SLIDE 8

Fluid sim

slide-9
SLIDE 9

Fluid sim

  • Done in Houdini
  • Worked through ideas on movement and timing
  • Continued using throughout
  • Created in-game mesh from sim
  • Particles were inspired by sim
  • Rigid bodies were pushed by sim data
slide-10
SLIDE 10

Creating the mesh

  • Considered loading an animated point cache.
  • Would have required a lot of new tech and taken

a lot of time.

slide-11
SLIDE 11

Creating the mesh

  • 1st attempt: programmatically sliding waves

across the surface.

  • Abandoned because it was hard to work with

and didn’t look good.

  • Decided to go with brute force method
  • Skeletal meshes with 1 joint per vertex
slide-12
SLIDE 12

Creating the mesh

  • Constrained camera angle allowed for
  • ptimization: rectangles instead of squares.

Top view Cam view

slide-13
SLIDE 13

Creating the mesh

  • Didn’t ray cast along

surface normal

slide-14
SLIDE 14

Creating the mesh

  • Didn’t ray cast along

surface normal

  • Instead cast

toward camera

slide-15
SLIDE 15

Creating the mesh

  • Didn’t ray cast along

surface normal

  • Instead cast

toward camera

slide-16
SLIDE 16

Creating the mesh

  • Errors are very visible to the camera when

casting along the surface normal

slide-17
SLIDE 17

Creating the mesh

  • Errors are minimized and hidden from the

camera when casting toward the camera

slide-18
SLIDE 18

Creating the mesh

  • Only needed 3 actors with ~400 joints each
slide-19
SLIDE 19

The Surface Mesh

slide-20
SLIDE 20

The Surface Shader

  • Refraction
  • Distorts screen buffer based on depth and normal
  • Opacity based on depth
  • Cube Map
  • With fresnel
  • Foam
slide-21
SLIDE 21

The Surface Shader

slide-22
SLIDE 22

Particles

  • 31 separate emitters
  • 8 different particle definitions
slide-23
SLIDE 23

Particles

  • Robust tools and runtime
slide-24
SLIDE 24

Particles

  • Robust tools and runtime
  • Custom attributes
slide-25
SLIDE 25

Particles

  • Robust tools and runtime
  • Custom attributes
  • Expressions!!!
slide-26
SLIDE 26

Particles

  • Robust tools and runtime
  • Custom attributes
  • Expressions!!!
  • Ramps with custom inputs
slide-27
SLIDE 27

Particles

  • Robust tools and runtime
  • Custom attributes
  • Expressions!!!
  • Ramps with custom inputs
  • Send data to shader
slide-28
SLIDE 28

Particles

  • Robust tools and runtime
  • Custom attributes
  • Expressions!!!
  • Ramps with custom inputs
  • Send data to shader
  • Custom orientation
slide-29
SLIDE 29

Particles

  • Robust tools and runtime
  • Custom attributes
  • Expressions!!!
  • Ramps with custom inputs
  • Send data to shader
  • Custom orientation
  • Much, much more

(thank you Marshall Robin)

slide-30
SLIDE 30

Particle optimization

  • Particles were rendered to a 1/4 res buffer
  • Octagons were used instead of quads
slide-31
SLIDE 31

Particles

  • Froth: main particle
  • 4 varieties
slide-32
SLIDE 32

Particles

  • Froth: main particle
  • 4 varieties
  • UV distortion: additional variety
slide-33
SLIDE 33

Particles

  • Froth: main particle
  • 4 varieties
  • UV distortion: additional variety
  • Sparkles: sparse dots masked by uniform noise
slide-34
SLIDE 34

Particles

  • Froth: main particle
  • 4 varieties
  • UV distortion
  • Sparkles
slide-35
SLIDE 35

Particles

  • Custom mip maps
  • Nearest neighbor sampling to retain crispness

Standard mip Nearest neighbor mip

slide-36
SLIDE 36

Particles

  • Custom mip maps
  • Nearest neighbor sampling to retain crispness

Standard mip Nearest neighbor mip

slide-37
SLIDE 37

Particles

slide-38
SLIDE 38

Particle Lighting

slide-39
SLIDE 39

Particle Lighting

  • It’s a hack!
slide-40
SLIDE 40

Particle Lighting

  • It’s a hack!
  • Lit with 2 ramps
slide-41
SLIDE 41

Particle Lighting

  • It’s a hack!
  • Lit with 2 ramps
  • 1 ran the length of the hall
slide-42
SLIDE 42

Particle Lighting

  • It’s a hack!
  • Lit with 2 ramps
  • 1 ran the length of the hall
  • 1 crossed the width of the hall
slide-43
SLIDE 43

Particle Lighting

  • It’s a hack!
  • Lit with 2 ramps
  • 1 ran the length of the hall
  • 1 crossed the width of the hall
  • The two were multiplied together
slide-44
SLIDE 44

Particle Lighting

  • It’s a hack!
  • Lit with 2 ramps
  • 1 ran the length of the hall
  • 1 crossed the width of the hall
  • The two were multiplied together
  • Essentially a 2D projection
slide-45
SLIDE 45

Lit Particles

slide-46
SLIDE 46

Ta-da!