58
Patrick O’Luanaigh | @patrickol Richard ‘fabs’ Fabian | @raspofabs

VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Patrick O’Luanaigh | @patrickol

Richard ‘fabs’ Fabian | @raspofabs

Page 2: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

VR Games & Experiences

PC Gear VR Gear VR &

Cardboard Console

& PC

Page 3: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

The WHY behind the Dos and Don’ts of VR

“You Hear a Lot of People Say…”

Page 4: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 5: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Make more informed decisions…

?

Page 6: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 7: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Frame of

Reference

Page 8: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Wrong Frame of Reference

Frame of Reference

Page 9: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

= Sickness!

Frame of Reference

Page 10: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Natural Reaction

Frame of Reference

Page 11: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 12: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Smash Hit

• Linear movement

• No acceleration

• Acceleration

• Sudden, jerky rotation

VR Rollercoasters

On-Rails Movement

Page 13: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

30

Framerate

Page 14: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

30 60

Page 15: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 16: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Bandwidth

10+GB/sec

200+GB/sec

Page 17: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Stats ASTC

ECT2 4bbp plus alpha

ASTC 0.8bpp to 8bpp

adaptive

ETC 4bbp

Page 18: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Framerate

Fram

erat

e

Fram

erat

e

Page 19: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Samsung Gear VR

=

Support one device

Page 20: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Google Cardboard

=

Support all devices!

Page 21: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Mip-mapping

Just Turn it on!

Page 22: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Match Art to Technical Limitations

Page 23: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 24: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

User Interface VR Display

Page 25: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Close Ups Are Cool!

Close Ups

Page 26: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

but don’t make people focus

Close Ups

Page 27: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 28: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Visual Reaction Time

100ms 250ms

Reacting to visuals Noticing visual motion

<100ms eliminates motion sickness

Page 29: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 30: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Comfortable

BUT

Disorientating

Teleport

Page 31: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Darkness = slower reaction times.

Page 32: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 33: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Key Learnings

Trampolines Pick-Ups

Page 34: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

0.15 sec 0.25 sec 0.17 sec

Other Senses ?

Page 35: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 36: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Binaural / 3D Stereo Ambient

MONO

Audio Channels

Binaural – not always the best solution…

Page 37: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Good Binaural

Page 38: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Bad Binaural

?

Page 39: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Ambient

Page 40: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Binaural audio is expensive

Page 41: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 42: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Vive demo room with cubes

Draw Calls!

Page 43: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Perfect Beach Image

Page 44: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Unity Tips

• Keep dynamic meshes < 300 simple vertices so they can dynamically batch.

• Use very few skinned meshes.

• Use texture atlases where possible, so you can use shared materials

• Stick to a small number of materials so more meshes can be batched.

• Avoid real-time shadowing - objects that use real-time shadowing can't be batched.

Page 45: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 46: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Merge your meshes

Be aware of the camera

Page 47: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 48: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Disconnect

Page 49: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Hand is the Racket

Page 50: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Your Hands?

Page 51: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 52: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,
Page 53: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

VR is Science!

Page 54: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Ask Why!

Page 55: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Slide unintentionally left

BLANK

Page 56: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Experiment!

Page 57: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

Let's start to be scientists about this, work together, and build a better understanding of all

the elements of VR.!

Summary

Page 58: VR Games & Experiences · Unity Tips • Keep dynamic meshes < 300 simple vertices so they can dynamically batch. • Use very few skinned meshes. • Use texture atlases where possible,

questions? Any |