![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/1.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/2.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/3.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/4.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/5.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/6.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/7.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/8.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/9.jpg)
= 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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/10.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/11.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/12.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/13.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/14.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/15.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/16.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/17.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/18.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/19.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/20.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/21.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/22.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/23.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/24.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/25.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/26.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/27.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/28.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/29.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/30.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/31.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/32.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/33.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/34.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/35.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/36.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/37.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/38.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/39.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/40.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/41.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/42.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/43.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/44.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/45.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/46.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/47.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/48.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/49.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/50.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/51.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/52.jpg)
![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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/53.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/54.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/55.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/56.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/57.jpg)
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,](https://reader035.vdocuments.us/reader035/viewer/2022071021/5fd5f4e7f556122867059d37/html5/thumbnails/58.jpg)
questions? Any |