Make believe - Droidcon UK 2015

Preview:

Citation preview

15Make Believe

+Shanee Nishry @Lunarsong

Briefly about me…

Game Developer

Engine Architecture

Virtual Reality SWE @ Google

<3 Procedural Content

+Shanee Nishry @Lunarsong

+ =

Previously Games Developer Advocate

Virtual Reality is…

The Elder Scrolls V: Skyrim, Bethesda SoftworksImage by deadendthrills.com

Dark Souls, From SoftwareImage by deadendthrills.com

Virtual Reality Hardware

View Master Mattel

VR ONE GX Zeiss

Morpheus Sony

Oculus Rift Facebook

GearVR Samsung

Vive HTC / Valve

Works with Cardboard

Cardboard Devices

The Omni by Vierux

Blink Escape(Cardboard)

Austella

Radial-G: Infinity(Cardboard)

Tammeka Ltd

Unseen Diplomacy(HTC Vive)

Triangular Pixels

IrisVR Mobile Viewer(Cardboard)

irisVR

A Chair In a Room (Cardboard/more)

Ryan Bousfield

Cool VR experiences

Land’s End (GearVR)

ustwo

Virtual Reality is the communitySign up for global VR dev slack chathttps://t.co/tltfdGvqXf

Basics of VRHow It Works

Virtual Reality: How It Works

Visual Immersion Tracking Input

Virtual Reality

Virtual Reality: How It Works

Tracking Input

Virtual Reality

Visual Immersion

Visual Immersion

Eyes

Visual Immersion

Eyes

Lenses

Visual Immersion

Screen

Eyes

Lenses

Visual Immersion

Screen

Eyes

Lenses

Visual Immersion

Screen

Eyes

Lenses

Visual Immersion

Screen

Eyes

Lenses

Visual Immersion

Screen

Eyes

Lenses

Eye Distance

Visual Immersion

Spaceships Criterion Games

Pincushion Distortion

Pincushion Distortion Barrel Distortion

Challenges in VRNot everything is perfect… yet.

Latency and Performance

Tracking

Challenges in VR

Comfort and Design

Technical requirements for good vr experience

High Resolution

Stable, High Frame Rate (90/120/+)

No Motion Blur

Low Motion-To-Photon Latency

Wide Field of View

Some Solutions…• Phones with high refresh rate displays.

• Low persistence displays to reduce blurring.

• Drawing directly to the front buffer.

• Increasing performance by:

- Stencil mapping to avoid writing to unused pixels.

- Special tricks to reduce driver overhead.

- Using low overhead graphic APIs.

• Low overhead graphics & compute API.

• Explicit control over command execution on the GPU. “Not a closed box”.

• Multi-threading friendly, allows better CPU usage.

• SPIR-V: Shaders represented in intermediate state, therefore fast compile & private.

• Vulkan is Coming to Android! (And so is OpenGL ES 3.2)

Geometry Shader

Geometry Instancing

OVR_multiview / OVR_multiview2

Resubmit Cmd Buffers

Dynamic State Change

More to come

Techniques to draw for VR

Tracking

John CampbellTriangular Pixels

Unseen Diplomacy on the ViveTriangular Pixels

DesigningVirtual Reality Experiences

Comfort Performance! (!!)

Interaction

Key design principles

Immersion

Comfort & Design

Convergence

Keeping velocity constant

The Environment

People have fears and they feel them in VR.

The camera has free will. Respect it.

Never lock the camera. Always maintain head tracking.

Guiding the user using light

Positional sound for immersion and guidance

Make it beautiful

Indoor Wayfinding Augmented Reality Measurement

What’s Next?Get started with Google Cardboardwww.google.com/cardboard/

Check Project Tangowww.google.com/atap/project-tango/

youtube.com/GoogleDevelopers

Questions? Feedback? Forgot something? Requests? Complains?

#

+Shanee Nishry@Lunarsong

Thank You!