Index

Numbers

2D, AR transitioning, 224

3D objects

dragging/dropping

method 1, 7072

method 2, 7273

rotating, 7375

selecting, 66, 6770, 7375

3DoF (3 Degrees of Freedom), 40

6DoF (6 Degrees of Freedom), 40

180 video. See VR180 video

360 (spherical) video, 139140, 151

A

acceleration, Daydream Controller, 5657

Alien Shooter game, 193

building, 200210, 217

core mechanic, building, 193199, 200

UI, 210217

Unity Events, 199200

analysis tools (LogCat), 331

anchors (ARCore), 229230, 257258

Android Exoplayer, 141

Android phones (Daydream-ready), 2728

Android SDK, installing in Unity, 3031

animation

cells

creating, 117120

hover effect, 120124

masking effects, 125129

tilt effect, 120124

DoTween animation tweening library, 193

history of VR/AR, 69

API (Application Programming Interface)

Daydream Controller API, 61

defined, 60

Poly API and Poly Toolkit, 271272

App button (Daydream Controller), 55, 57

app system inputs, Daydream Controller, 6465

apps

AR apps, 265266

AR Drawing app, 266271

AR Shopping Catalogue app, 280291

ARCore and Poly Toolkit, 271

licensing, 271

Poly Toolkit and ARCore, 271, 272273

Poly Toolkit and Unity, 272273

Poly Toolkit runtime, 273280

drawing apps, creating, 266271

shopping apps, creating, 280291

AR (Augmented Reality), 23, 220

2D transitioning to AR, 224

apps, 265266

AR Drawing app, 266271

AR Shopping Catalogue app, 280291

ARCore and Poly Toolkit, 271

experiences, 222

licensing, 271

Poly Toolkit and ARCore, 271, 272273

Poly Toolkit and Unity, 272273

Poly Toolkit runtime, 273280

AR Drawing app, creating, 266271

ARCore, 219, 225, 231232

anchors, 229230, 257258

AR Optional mode, 239

AR Required mode, 239

AR tracking state, 262264

ARCore Device prefab, 230231

attaching objects to non-horizontal surfaces, 260

COM, 226

creating targets below the landing position of dragged objects, 253257

customizing surface visualization, 260261

dragging objects with physics weight, 243250

environmental understanding, 226227

frames, 230

games, 296297

games, 2D transitioning to AR, 295

games, level scenes, 305325

games, lifecycle of, 295296

games, loader scenes, 297304

games, room-scale AR games, 294

games, types of games, 293294

games, world-scale AR games, 294

getting Y position of lowest plane, 259260

hiding tracked surface visualization, 258259

history of VR/AR, 14, 15

installing/operating, 232233

light estimation, 226, 227, 231

motion tracking, 225, 226

online resources, 220

oriented points, 227

pinching to scale GameObjects, 261262

Poly Toolkit, 271, 272273

Poses, 231

raycasting, 226

scripts, 228230

selecting/dragging objects across a plane, 240243

selecting/rotating objects, 251253

sessions, 228

template scenes, 234239

trackables, 227, 228229, 258

TrackedPlaneVisualizer, 231

defined, 3, 222

design guidelines, 220

environmental design, 222223

games, 296297

2D transitioning to AR, 295

level scenes, 305325

lifecycle of, 295296

loader scenes, 297304

room-scale AR games, 294

types of games, 293294

world-scale AR games, 294

history of, 34

animation, 69

ARCore, 14, 15

computing, 910

Daydream VR, 1213

Google VR/AR, 1112

stereoptics, 46

twentieth century VR, 1011

immersive design, 223224

indoor AR, 223

mobile AR design, best practices, 224

outdoor AR, 222223

product excellence, 225

Tango, 14

tracking and user experience, 223

UI and, 223

user experience and AR tracking, 223

UX and, 220, 221225

arm model

Daydream Controller, 5960, 8889

defined, 41

asynchronous loading, 335

asynchronous reprojection, 328

attaching objects to non-horizontal surfaces, ARCore, 260

audio

Daydream audio, 161162

directivity, 170171

normal audio, 170

resonance audio, 162

room effects, 168170

spatial audio theory, 161

spatialized audio, 162168

directivity, 170171

normal audio, setting, 170

resonance audio, installing/configuring, 162

room effects, 168170

spatial audio theory, 161

spatialized audio, 162168

B

bake lighting, 336

best practices

mobile AR design, 224

performance, 329

VR, 329

binding GameObjects, 26

body models, defined, 41

bottlenecks

fixing, 329

isolating, 328

build times (slow), 145

buttons, adding to UI, 107110

C

callback events and video, 159161

cameras

chase cameras, setting up, 4547

simulator sickness, 48

third-person cameras, setting up, 4547

Canvas

UI builds, adding a Canvas in dmms, 101103

UI design, 9899

Cardboard VR headset, 12

cells (animated)

creating, 117120

hover effect, 120124

masking effects, 125129

tilt effect, 120124

character/player builds, AR games, 306309

chase cameras, setting up, 4547

classes. See scripts (Unity)

click button (Daydream Controller), 57

code libraries, tweening libraries, 117

code optimization, 338

coin builds, AR games, 311

Colliders, 176

Collision events, 176177

collisions, optimizing performance, 338

COM (Concurrent Odometry and Mapping), 226

Components (Unity), 24

compressing textures, 335

connectivity, Daydream Controller, 57

Console (Unity Editor), 23

Controller (Daydream), 5354, 60, 83

acceleration, 5657

API, 61

App button, 55, 57

app system inputs, 6465

arm model, 5960, 8889

click button, 57

connectivity, 57

Controller Emulators, setting up, 3637

customizing

arm model, 8889

laser pointer, 8687

manually changing Default Controller Mesh, 8182

reskinning Controller, 7980

swapping GameObjects dynamically, 8486

tooltips, 8384

Default Controller Mesh, manually changing, 8182

Event Systems (Input Systems), 60

features of, 5455

GvrControllerMain, 39

GvrControllerPointer, 39

gyroscope, 56

handedness (left/right), 6566

hardware inputs, 55

Home button, 55

interactivity, 66

dragging/dropping 3D objects (method 1), 7072

dragging/dropping 3D objects (method 2), 7273

dragging/dropping intersects, 7576

rotating 3D objects, 7375

selecting 3D objects, 66, 6770, 7375

teleportation (simple), 7677

touchpad interaction/controlling GameObjects, 7778

laser pointer, 8687

orientation, 56

proprioception, defined, 79

sensor input, 6364

setting up for development, 28

support for, 58

swapping GameObjects dynamically, 8486

tooltips, 5859, 8384

touchpad/touch position, 57

troubleshooting, 38

updating, tooltips, 8384

user input, 6163

visualization, 58

laser visualization, 59

reticle visualization, 59

Volume buttons, 55

culling, 336

Frustum culling, 336

occlusion culling, 336

overdrawing, 336

customizing

AR game builds, 324325

Daydream Controller

arm model, 8889

laser pointer, 8687

manually changing Default Controller Mesh, 8182

reskinning Controller, 7980

swapping GameObjects dynamically, 8486

updating tooltips, 8384

surface visualization, ARCore, 260261

teleportation systems, 45

D

Daydream, 38

audio, 161162

directivity, 170171

normal audio, 170

resonance audio, 162

room effects, 168170

spatial audio theory, 161

spatialized audio, 162168

Controller, 5354, 60, 83

acceleration, 5657

API, 61

App button, 55, 57

app system inputs, 6465

arm model, 5960, 8889

click button, 57

connectivity, 57

customizing, arm model, 8889

customizing, laser pointer, 8687

customizing, manually changing Default Controller Mesh, 8182

customizing, reskinning Controller, 7980

customizing, swapping GameObjects dynamically, 8486

customizing, updating tooltips, 8384

Event Systems (Input Systems), 60

features of, 5455

GvrControllerMain, 39

GvrControllerPointer, 39

gyroscope, 56

handedness (left/right), 6566

hardware inputs, 55

Home button, 55

interactivity, 66

interactivity, dragging/dropping 3D objects (method 1), 7072

interactivity, dragging/dropping 3D objects (method 2), 7273

interactivity, selecting 3D objects, 66, 6770, 7375

interactivity, teleportation (simple), 7677

interactivity, touchpad interaction/controlling GameObjects, 7778

intersects, dragging/dropping intersects, 7576

laser pointer, 8687

laser visualization, 59

orientation, 56

proprioception, 79

reticle visualization, 59

rotating 3D objects, 7375

sensor input, 6364

setting up for development, 28

support for, 5860

swapping GameObjects dynamically, 8486

tooltips, 5859, 8384

touchpad/touch position, 57

troubleshooting, 38

updating tooltips, 8384

user input, 6163

visualization, 58, 59

Volume buttons, 55

Controller Emulators, setting up, 3637

Elements, 3334

ChaseCamPlayer, 4547

installing, 34

TeleportController, 4345

UI builds, 125

GvrControllerMain, 39

GvrControllerPointer, 39

GvrEditorEmulator, 38

GvrEventSystem, 39

GvrPointerGraphicsRaycaster, 40

GvrPointerPhysicsRaycaster, 3940

Home world, 92

Instant Preview, setting up, 3536

LogCat analysis tool, 331

performance HUD, 330331

real-time monitoring tools, 329330

Renderer, 331332

Daydream Renderer Wizard, 332

Vertex Lighting window, 332333

video, 141

360 (spherical) video, 151

building rectangular (flat) video, 145148

callback events, 159161

creating versatile video players with playlists, 152159

GvrVideoPlayerTexture script, 142143

importing GvrVideoPlayer SDK, 145

Media App template, 144

rectangular (flat) video, 148149

specifications, 142

spherical video players, 149151

streaming 360 (spherical) video, 151

streaming rectangular (flat) video, 148149

streaming VR180 video, 151152

StreamingAssets special folder, 145

VideoStereoInside material, 143144

VR180 video, 151152

VR

Developer Options, 37

headsets, inserting phones into headsets, 32

headsets, setting up for development, 28

history of VR/AR, 1213

Daydream SDK, 2627

Android phones (Daydream-ready), 2728

Android SDK, installing in Unity, 3031

chase cameras (third-person), setting up, 4547

Controller, setting up for development, 28

Daydream VR headset, setting up for development, 28

first person VR players, building, 4142

Google VR SDK

installing in Unity, 3132

setting up for development, 2829

Java JDK, installing in Unity, 3031

motion sickness, troubleshooting, 4850

Fade Vignette Controller script, 5152

First Person Tunneling Locomotion script, 5051

Tunneling Vignette script, 51

phones, inserting into Daydream Viewer headset, 32

setting up, 29

Android phones (Daydream-ready), 2728

Android SDK, installing in Unity, 3031

Controller, 28

Daydream VR headset, 28, 32

Google VR SDK, 2829

Google VR SDK, installing in Unity, 3132

Java JDK, installing in Unity, 3031

troubleshooting setups, 3233

teleportation systems

creating, 4345

customizing, 45

development environment (Daydream). See SDK (Daydream)

directivity (audio), 170171

dmm (distance-independent millimeter)

UI builds, adding a Canvas in dmms, 101103

UI design, 9597

DoF (Degrees of Freedom), 40

DoTween animation tweening library, 193

dragging/dropping

3D objects

method 1, 7072

method 2, 7273

intersects, 7576

objects with ARCore

creating targets below the landing position of dragged objects, 253257

dragging objects across a plane, 240243

dragging objects with physics weight, 243250

draw calls, 333

dynamic batching, 333

static batching, 333

Unity Profiler and, 334

drawing apps, creating, 266271

dynamic batching (draw calls), 333

E

editing scripts (Unity), 25

Editor (Unity), 19, 20, 23

Console, 23

Hierarchy window, 22

Home screen, 1920

Inspector window, 2223, 26

Learn tab, 20

Project window, 21

Projects tab, 20

Scene view, 21

toolbar, 22

Elements (Daydream), 3334

ChaseCamPlayer, setting up chase cameras (third-person), 4547

installing, 34

TeleportController

creating teleportation systems, 4345

customizing teleportation systems, 45

emulators, Controller Emulators (Daydream), setting up, 3637

enemy builds, AR games, 309311

ergonomics, UI design, 94

Event Systems (Input Systems), Daydream Controller, 60

event triggers, 67

Daydream Controller, interactivity, selecting 3D objects, 6770

defined, 67

events (Unity), Alien Shooter game, 199200

Exoplayer (Android), 141

experience (user), UI design, 9394

explosion builds, AR games, 311

F

Fade Vignette Controller script, 5152

First Person Tunneling Locomotion script, 5051

first person VR players, building, 4142

FixedUpdate, 177

flat video. See rectangular video

flipping pancakes game, 179186

frame rates, optimizing, 333

frames, ARCore, 230

Frustum culling, 336

full screen passes, 337

G

GameObjects, 2324

ARCore

pinching to scale GameObjects, 261262

retrieving GameObjects attached to anchors, 257258

retrieving GameObjects attached to trackables, 258

binding, 26

Collision events, 176177

creating, 24

Daydream Controller, touchpad interaction/controlling GameObjects, 7778

draw calls, 333

dynamic batching, 333

static batching, 333

Unity Profiler and, 334

local space, 55

prefabs, 24

Rigidbody component, 174175

scaling GameObjects by pinching, 261262

tags, 304

variables, accessing, 26

world space, 55

games (AR), 296297

2D transitioning to AR, 295

game play builds, AR games, 317322

level scenes, 305306

coin builds, 311

customizing builds, 324325

enemy builds, 309311

game play builds, 317322

particle explosion builds, 311

player/character builds, 306309

sound effects, 322323

UI builds, 312317

wiring everything together, 323324

lifecycle of, 295296

loader scenes, 297304

menus, adding to UI, 110117

room-scale AR games, 294

types of games, 293294

world-scale AR games, 294

games (physics), 173174, 178

Alien Shooter game, 193

building, 200210, 217

building core mechanic, 193199, 200

UI, 210217

Unity Events, 199200

grenade mechanics, 188191

pancake-flipping game, 179186

pop gun mechanics, 186, 187188

profiling, 177178

Unity physics engine, 174

Colliders, 176

Collision events, 176177

FixedUpdate, 177

Rigidbody component, 174175

Voxel, 187

weapon selector, 192193

Google VR SDK

Daydream components, 38

GvrControllerMain, 39

GvrControllerPointer, 39

GvrEditorEmulator, 38

GvrEventSystem, 39

GvrPointerGraphicsRaycaster, 40

GvrPointerPhysicsRaycaster, 3940

installing in Unity, 3132

setting up for development, 2829

grenade mechanics (physics games), 188191

grid layouts, UI layouts, 133135

GvrControllerMain, 39

GvrControllerPointer, 39

GvrEditorEmulator, 38

GvrEventSystem, 39

GvrPointerGraphicsRaycaster, 40, 100

GvrPointerPhysicsRaycaster, 3940

GvrVideoPlayer SDK, importing, 145

GvrVideoPlayerTexture, 142143

gyroscope (Daydream Controller), 56

H

handedness (left/right), Daydream Controller, 6566

headsets

Cardboard VR headset, 12

Daydream VR headset, 1213

inserting phones into headsets, Daydream SDK, 32

setting up for development, 28

inside-out tracking, defined, 3

Lenovo Mirage Solo headset, 13

WorldSense, 1314

hiding tracked surface visualization, ARCore, 258259

Hierarchy window (Unity Editor), 22

HLS (HTTP Live Streaming), 141

Home button (Daydream Controller), 55

Home screen (Unity Editor), 1920

Home world (Daydream), 92

horizontal layouts, UI layouts, 129131

hover effect, animated cells, 120124

I

images, adding to UI, 103105

immersive computing, 2, 1112

indoor AR (Augmented Reality), 223

input, Daydream Controller

app system inputs, 6465

handedness (left/right), 6566

sensor input, 6364

user input, 6163

Input Systems (Event Systems), Daydream Controller, 60

inside-out tracking, defined, 3

Inspector window (Unity Editor), 2223, 26

installing

Android SDK, in Unity, 3031

Elements (Daydream), 34

Google VR SDK, in Unity, 3132

Java JDK, in Unity, 3031

troubleshooting Unity-related installations, 3233

Instant Preview (Daydream), setting up, 3536

interactivity, Daydream Controller, 66

dragging/dropping

3D objects (method 1), 7072

3D objects (method 2), 7273

intersects, 7576

rotating 3D objects, 7375

selecting 3D objects, 66, 6770, 7375

teleportation (simple), 7677

touchpad interaction/controlling GameObjects, 7778

interfaces, defined, 67

intersects, dragging/dropping (Daydream Controller), 7576

J - K

Java JDK, installing in Unity, 3031

JSON files, creating versatile video players with playlists, 152159

L

landing position of dragged objects, creating targets below, 253257

laser pointer (Daydream Controller), customizing, 8687

laser visualization, Daydream Controller, 59

layouts

grid layouts (UI layouts), 133135

horizontal layouts (UI layouts), 129131

multipanel scrolling layouts (UI layouts), 135136

nested layouts (UI layouts), 131133

scrolling layouts (multipanel), UI layouts, 135136

UI layouts

animated cells, creating, 117120

animated cells, hover effect, 120124

animated cells, masking effects, 125129

animated cells, tilt effect, 120124

grid layouts, 133135

horizontal layouts, 129131

multipanel scrolling layouts, 135136

nested layouts, 131133

scrolling layouts (multipanel), 135136

Learn tab (Unity Editor), 20

left/right handedness, Daydream Controller, 6566

Lenovo Mirage Solo headset, 13

level scenes (AR tabletop games), building, 305306

coin builds, 311

customizing builds, 324325

enemy builds, 309311, 312317

game play builds, 317322

particle explosion builds, 311

player/character builds, 306309

sound effects, 322323

wiring everything together, 323324

libraries (tweening), 117, 193

licensing, AR apps, 271

light boxes, 337

light estimation, ARCore, 227, 231

lighting

bake lighting, 336

light probes, 336

optimizing performance, 336

loader scenes (AR tabletop games), building, 297304

local space (GameObjects), 55

local URL (Uniform Resource Locators), 147148

LOD (Level of Detail), 337

LogCat analysis tool, 331

lowest plane, getting Y position with, 259260

M

masking effects, animated cells, 125129

Material Design, UI design, 95

materials

Unity, surface rendering, 143

VideoStereoInside material, 143144

Media App template, Daydream video, 144

menus, game menus, adding to UI, 110117

Mip mapping, 335

mobile AR design, best practices, 224

monitoring tools (Daydream), 329330

Mono Develop, 19

MonoBehaviours, 25

Start function, 26

Update function, 26

monoscopic video, 138

motion sickness

troubleshooting, 4850

Fade Vignette Controller script, 5152

First Person Tunneling Locomotion script, 5051

Tunneling Vignette script, 51

tunneling versus, 4850

Fade Vignette Controller script, 5152

First Person Tunneling Locomotion script, 5051

Tunneling Vignette script, 51

motion tracking, ARCore, 225, 226

MPEG-DASH (Dynamic Adaptive Streaming over HTTP), 141

multipanel scrolling layouts, UI layouts, 135136

N

namespaces, Unity scripts, 277

nested layouts, UI layouts, 131133

non-horizontal surfaces, attaching objects to, 260

normal audio, setting, 170

O

object pooling, 337

occlusion culling, 336

online resources

ARcore, 220

Poly Toolkit, 272

optimizing performance, 327328

asynchronous loading, 335

asynchronous reprojection, 328

bottlenecks

fixing, 329

isolating, 328

code optimization, 338

collisions, 338

culling, 336337

Daydream

LogCat analysis tool, 331

monitoring tools, 329330

performance HUD, 330331

Renderer, 331333

draw calls, 333

dynamic batching, 333

static batching, 333

Unity Profiler and, 334

frame rates, 333

full screen passes, 337

light boxes, 337

lighting, 336

LOD, 337

Mip mapping, 335

object pooling, 337

polygon counts (geometry), 335

profiling, 329

render scale, 337

texture atlases, 335

texture compression, 335

texture memory, 334335

VR, best practices, 329

orientation (Daydream Controller), 56

oriented points, ARCore, 227

outdoor AR (Augmented Reality), 222223

overdrawing, 336

P

pancake-flipping game, 179186

particle explosion builds, AR games, 311

performance, simulator sickness, 48

performance, optimizing, 327328

asynchronous loading, 335

asynchronous reprojection, 328

bottlenecks

fixing, 329

isolating, 328

code optimization, 338

collisions, 338

culling, 336337

Daydream

LogCat analysis tool, 331

monitoring tools, 329330

performance HUD, 330331

Renderer, 331333

draw calls, 333

dynamic batching, 333

static batching, 333

Unity Profiler and, 334

frame rates, 333

full screen passes, 337

light boxes, 337

lighting, 336

LOD, 337

Mip mapping, 335

object pooling, 337

polygon counts (geometry), 335

profiling, 329

render scale, 337

texture atlases, 335

texture compression, 335

texture memory, 334335

VR, best practices, 329

physics games, 173174, 178

Alien Shooter game, 193

building, 200210, 217

building core mechanic, 193199, 200

UI, 210217

Unity Events, 199200

grenade mechanics, 188191

pancake-flipping game, 179186

pop gun mechanics, 186, 187188

profiling, 177178

Unity physics engine, 174

Colliders, 176

Collision events, 176177

FixedUpdate, 177

Rigidbody component, 174175

Voxel, 187

weapon selector, 192193

physics weight, dragging objects with, 243250

pinching to scale GameObjects, 261262

planes

selecting/dragging objects across, 240243

Y position of lowest plane, getting with ARCore, 259260

player/character builds, AR games, 306309

playlists, creating versatile video players with playlists, 152159

Poly Toolkit

ARCore and, 271, 272273

licensing and, 271

online resources, 272

Poly API and, 271272

runtime, 273280

Unity and, 272273

polygon counts (geometry), optimizing, 335

pooling objects, 337

pop gun mechanics (physics games), 186, 187188

Poses, ARCore, 231

prefabs, 24

ARCore Device prefab, 230231

ChaseCamPlayer, setting up chase cameras (third-person), 4547

GvrControllerMain, 39

GvrControllerPointer, 39

GvrEditorEmulator, 38

GvrEventSystem, 39

TeleportController

creating teleportation systems, 4345

customizing teleportation systems, 45

previewing, Instant Preview (Daydream), 3536

product excellence

AR and, 225

software development, 225

Profiler (Unity), 177178, 334

profiling, 329

Project window (Unity Editor), 21

Projects tab (Unity Editor), 20

proprioception, defined, 79

Q - R

raycasting, ARCore, 226

Rect tool, UI design, 99100

Rect Transforms, UI design, 99

rectangular (flat) video, 138139

building, 145148

streaming, 148149

Renderer (Daydream), 331332

Daydream Renderer Wizard, 332

Vertex Lighting window, 332333

rendering

render scale, 337

shadows, 336

surfaces, Unity shaders/materials, 143

reskinning Controller, 7980

resonance audio, installing/configuring, 162

reticle

defined, 58

visualization, Daydream Controller, 59

right/left handedness, Daydream Controller, 6566

Rigidbody component

FixedUpdate, 177

Unity physics engine, 174175

room effects (audio), 168170

room-scale AR games, 294

rotating objects

3D objects with Daydream Controller, 7375

ARCore, selecting/rotating objects, 251253

S

scaling GameObjects, pinching with ARCore, 261262

Scene view (Unity Editor), 21

scripts

ARCore scripts, 228230

Fade Vignette Controller script, 5152

First Person Tunneling Locomotion script, 5051

GvrPointerGraphicsRaycaster, 40

GvrPointerPhysicsRaycaster, 3940

GvrVideoPlayerTexture, 142143

Tunneling Vignette script, 51

Unity scripts, 24, 25

creating, 25

editing, 25

MonoBehaviours, 2526

namespaces, 277

scrolling layouts (multipanel), 135136

SDK

Android SDK, installing in Unity, 3031

Daydream SDK, 2627

Android phones (Daydream-ready), 2728

Android SDK, installing in Unity, 3031

chase cameras (third-person), setting up, 4547

Controller, setting up for development, 28

Daydream VR headset, setting up for development, 28

first person VR players, building, 4142

Google VR SDK, 2829, 3132

Java JDK, installing in Unity, 3031

motion sickness, troubleshooting, 4852

phones, inserting into Daydream Viewer headset, 32

setting up, 2733

teleportation systems, 4345

Google VR SDK

installing in Unity, 3132

setting up for development, 2829

GvrVideoPlayer SDK, importing, 145

selecting objects

dragging objects across a plane, 240243

rotating objects, 251253

sensor input, Daydream Controller, 6364

shaders, surface rendering, 143

shadows, rendering, 336

shopping, AR Shopping Catalogue app, 280291

simulator sickness, 48

Sketch, UI design, 96

slow build times, 145

software development, product excellence, 225

sound effects, AR games, 322323

spatial audio theory, 161

spatialized audio, installing/configuring, 162168

spherical video players, building, 149151

spherical video. See 360 (spherical) video

Start function, MonoBehaviours, 26

static batching (draw calls), 333

stereoptics, history of VR/AR, 46

stereoscopic video, 138

streaming video, 141

360 (spherical) video, 151

HLS, 141

large video assets, 151

MPEG-DASH, 141

rectangular (flat) video, 148149

VR180 video, 151152

StreamingAssets special folder, 145

surface rendering

attaching objects to non-horizontal surfaces, ARCore, 260

customizing surface visualization, ARCore, 260261

hiding tracked surface visualization, ARCore, 258259

Unity shaders/materials, 143

T

tabletop games (AR), 296297

level scenes, building, 305306

coin builds, 311

customizing builds, 324325

enemy builds, 309311

game play builds, 317322

particle explosion builds, 311

player/character builds, 306309

sound effects, 322323

UI builds, 312317

wiring everything together, 323324

loader scenes, building, 297304

tags, GameObjects tags, 304

Tango, 14

targets, creating below the landing position of dragged objects, ARCore, 253257

teleportation

Daydream Controller, simple teleportation, 7677

teleportation systems

creating, 4345

customizing, 45

TeleportController, 4345

template scenes, building with ARCore, 234239

templates (Media App), Daydream video, 144

text

adding to UI, 105106

protecting, 106

texture atlases, 335

texture compression, 335

texture memory, 334335

third-person cameras, setting up, 4547

tilt effect, animated cells, 120124

toolbars, Unity Editor toolbar, 22

tooltips, Daydream Controller, 5859, 8384

touchpad/touch position (Daydream Controller), 57, 7778

trackables (ARCore), 227, 228229, 258

tracked surface visualization, hiding, ARCore, 258259

TrackedPlaneVisualizer, ARCore, 231

tracking

AR tracking state, ARCore, 262264

inside-out tracking, defined, 3

motion tracking, ARCore, 225, 226

troubleshooting. See also optimizing performance

bottlenecks

fixing, 329

isolating, 328

build times, 145

Controller (Daydream), 38

Daydream SDK, setups, 3233

motion sickness, 4850

Fade Vignette Controller script, 5152

First Person Tunneling Locomotion script, 5051

Tunneling Vignette script, 51

Unity-related installations, 3233

tunneling

Fade Vignette Controller script, 5152

First Person Tunneling Locomotion script, 5051

motion sickness, troubleshooting, 4850

Fade Vignette Controller script, 5152

First Person Tunneling Locomotion script, 5051

Tunneling Vignette script, 51

Tunneling Vignette script, 51

tweening libraries, 117, 193

U

UI (User Interfaces)

Alien Shooter game, 210217

AR and, 223

AR games, UI builds, 312317

building, 100101

adding a Canvas in dmms, 101103

adding buttons, 107110

adding game menus, 110117

adding images, 103105

adding text, 105106

Daydream Elements, 125

designing, 9192, 93

Canvas, 9899, 101103

Daydream Home world, 92

dmm, 9597, 101103

ergonomics, 94

GvrPointerGraphicsRaycaster, 100

Material Design, 95

Rect tool, 99100

Rect Transforms, 99

Sketch, 96

Unity UI system, 97100

user experience in VR, 9394

layouts, 117

animated cells, creating, 117120

animated cells, hover effect, 120124

animated cells, masking effects, 125129

animated cells, tilt effect, 120124

grid layouts, 133135

horizontal layouts, 129131

multipanel scrolling layouts, 135136

nested layouts, 131133

scrolling layouts (multipanel), 135136

uncanny valley, defined, 11

Unity, 18, 19

Android SDK, installing in Unity, 3031

ARCore, 231232

anchors, 229230

anchors, retrieving GameObjects attached to anchors, 257258

AR Optional mode, 239

AR Required mode, 239

AR tracking state, 262264

ARCore Device prefab, 230231

attaching objects to non-horizontal surfaces, 260

creating targets below the landing position of dragged objects, 253257

customizing surface visualization, 260261

dragging objects with physics weight, 243250

frames, 230

getting Y position of lowest plane, 259260

hiding tracked surface visualization, 258259

installing/operating, 232233

light estimation, 231

pinching to scale GameObjects, 261262

Poly Toolkit, 271, 272273

Poses, 231

scripts, 228230

selecting/dragging objects across a plane, 240243

selecting/rotating objects, 251253

sessions, 228

template scenes, 234239

trackables, 228229

trackables, retrieving GameObjects attached to trackables, 258

TrackedPlaneVisualizer, 231

classes. See scripts

Components, 24

defined, 1819

draw calls, 333

dynamic batching, 333

static batching, 333

Unity Profiler and, 334

Editor, Inspector window, accessing variables, 26

GameObjects, 2324

accessing variables, 26

binding, 26

creating, 24

prefabs, 24

tags, 304

Google VR SDK, installing in Unity, 3132

installing

Android SDK, 3031

Google VR SDK, 3132

Java JDK, 3031

troubleshooting installations, 3233

Java JDK, installing in Unity, 3031

materials, surface rendering, 143

Mono Develop, 19

MonoBehaviours, 25

Start function, 26

Update function, 26

physics games, 174, 178

Alien Shooter game, 193

Alien Shooter game, building, 200210, 217

Alien Shooter game, building core mechanic, 193199, 200

Alien Shooter game, Unity Events, 199200

Colliders, 176

Collision events, 176177

FixedUpdate, 177

grenade mechanics, 188191

pancake-flipping game, 179186

pop gun mechanics, 186, 187188

profiling, 177178

Rigidbody component, 174175

UI, 210217

Voxel, 187

weapon selector, 192193

Poly Toolkit

ARCore and, 271, 272273

licensing and, 271

online resources, 272

Poly API and, 271272

runtime, 273280

prefabs, 24

Profiler, 177178, 334

scripts, 24, 25

creating, 25

editing, 25

MonoBehaviours, 2526

namespaces, 277

shaders, surface rendering, 143

UI design, 9798

Canvas, 9899, 101103

Rect tool, 99100

Rect Transforms, 99

Unity Editor, 19, 20, 23

Console, 23

Hierarchy window, 22

Home screen, 1920

Inspector window, 2223

Learn tab, 20

Project window, 21

Projects tab, 20

Scene view, 21

toolbar, 22

Unity Events, Alien Shooter game, 199200

variables, accessing via Inspector, 26

Update function, MonoBehaviours, 26

updating, Daydream Controller 8384

URL (Uniform Resource Locators), local URL, 147148

user experience, UI design, 9394

user input, Daydream Controller, 6163

UX and AR, 220, 221225

V

valley (uncanny), defined, 11

variables (Unity), accessing via Inspector, 26

versatile video players with playlists, creating, 152159

Vertex Lighting window (Daydream Renderer), 332333

video

180 video. See VR180 video

360 (spherical) video, 139140, 151

Android Exoplayer, 141

callback events, 159161

Daydream video, 141

building rectangular (flat) video, 145148

callback events, 159161

creating versatile video players with playlists, 152159

GvrVideoPlayerTexture, 142143

importing GvrVideoPlayer SDK, 145

large video assets, 151

Media App template, 144

specifications, 142

spherical video players, 149151

streaming 360 (spherical) video, 151

streaming rectangular (flat) video, 148149

VideoStereoInside material, 143144

VR180 video, 151152

flat video. See rectangular video

HLS, 141

large video assets, streaming, 151

Media App template, 144

MPEG-DASH, 141

rectangular (flat) video, 138139

building, 145148

streaming, 148149

spherical video players, building, 149151

spherical video. See 360 (spherical) video

streaming video, 141

360 (spherical) video, 151

HLS, 141

large video assets, 151

MPEG-DASH, 141

rectangular (flat) video, 148149

VR180 video, 151152

StreamingAssets special folder, 145

versatile video players with playlists, creating, 152159

VideoStereoInside material, 143144

VR and video, 138

360 (spherical) video, 139140

HLS, 141

monoscopic video, 138

MPEG-DASH, 141

rectangular (flat) video, 138139

stereoscopic video, 138

streaming video, 141

VR180 video, 140141

VR180 video, 140141, 151152

visualization

customizing surface visualization, ARCore, 260261

Daydream Controller visualization, 58

laser visualization, 59

reticle visualization, 59

hiding tracked surface visualization, ARCore, 258259

laser visualization, 59

reticle visualization, 59

Volume buttons (Daydream Controller), 55

Voxel (Volumetric Pixels), 187

VR (Virtual Reality), 23

defined, 3

history of, 34

animation, 69

ARCore, 14, 15

computing, 910

Daydream VR, 1213

Google VR/AR, 1112

stereoptics, 46

twentieth century VR, 1011

performance, best practices, 329

twentieth century VR, history of VR/AR, 1011

UI builds, 100101

adding a Canvas in dmms, 101103

adding buttons, 107110

adding game menus, 110117

adding images, 103105

adding text, 105106

Daydream Elements, 125

UI design, 9192

Canvas, 9899, 101103

Daydream Home world, 92

dmm, 9597, 101103

ergonomics, 94

GvrPointerGraphicsRaycaster, 100

Material Design, 95

Rect tool, 99100

Rect Transforms, 99

Sketch, 96

Unity UI system, 97100

user experience in VR, 9394

UI layouts, 117

animated cells, creating, 117120

animated cells, hover effect, 120124

animated cells, masking effects, 125129

animated cells, tilt effect, 120124

grid layouts, 133135

horizontal layouts, 129131

multipanel scrolling layouts, 135136

nested layouts, 131133

scrolling layouts (multipanel), 135136

video, 138

360 (spherical) video, 139140

HLS, 141

monoscopic video, 138

MPEG-DASH, 141

rectangular (flat) video, 138139

stereoscopic video, 138

streaming video, 141

VR180 video, 140141

VR Developer Options (Daydream), 37

VR players, building first person, 4142

VR180 video, 140141, 151152

W

weapon selector (physics games), 192193

web resources

ARcore, 220

Poly Toolkit, 272

weight, dragging objects with, 243250

world space (GameObjects), 55

world-scale AR games, 294

WorldSense and headsets, 1314

wrist model, defined, 41

X - Y - Z

Y position of lowest plane, getting with ARCore, 259260

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.144.32