Preface
Chapter 1: Virtuall Eve th'm for Eve oneWhat is virtual reality to you?Types of head-mounted displaysDesktop VRMobile VRThe difference between virtual reality and augmented realityApplications versus gamesWhat this book coversWho are you?Types of VR experiencesTechnical skills that are important to VRSummary
Chapter 2: Objects and ScaleGetting started with UnityStarting a new Unity projectThe Unity editorThe default world spaceCreating a simple dioramaAdding a cubeAdding a planeAdding a sphere and some materialChanging the scene viewAdding a photoColoring the ground planeMeasurement toolsKeeping a unit cube handyUsing a Grid ProjectorMeasuring the Ethan characterImporting from the Blender experimentAn introduction to BlenderA unit cubeA UV Texture imageImporting into UnityA few observationsSummary
Chapter 3: VR Build and RunVR device integration softwareUnity's built-in VR supportThe device-specific SDKThe OSVR projectWebVR3D worldsCreating the MeMyselfEye prefabBuild for the Oculus RiftBuild for Google CardboardThe Android setupThe iOS setupInstalling the Cardboard Unity packageAdding the cameraThe build settingsThe Play ModeBuilding and running in AndroidBuilding and running in iOSThe device-independent clickerHow virtual reality really worksStereoscopic 3D viewingHead trackingSummary
Chapter 4: Gaze-based ControlEthan, the walkerArtificially intelligent EthanThe Navmesh bakeryA random walker in the townInterlude - a quick introduction to Unity programmingThe RandomPosition script"Zombie-ize" Ethan!Go where I'm lookingThe LookMoveTo scriptAdding a feedback cursorObservationsIf looks could killThe KillTarget scriptAdding particle effectsCleaning upSummary
Chapter 5: World Space UIA reusable default canvasThe visor HUDThe reticle cursorThe windshield HUDThe game element UIThe info bubbleAn in-game dashboard with input eventsCreating a dashboard with buttonsLinking the water hose to the buttonsActivating buttons from the scriptLook to highlight a buttonLooking and then clicking to selectLooking and staring to selectA responsive object UI with head gesturesUsing the head positionUsing head gesturesSummary
Chapter 6: First-person CharacterUnderstanding the Unity charactersUnity componentsThe Camera componentThe Rigidbody componentThe Character Controller componentUnity Standard AssetsThirdPersonControllerAIThirdPersonControllerFirstPersonControllerRigidBodyFPSControllerMaking a first personMove in the direction you're lookingKeep your feet on the groundDon't pass through solid objectsDon't fall off the edge of the worldStepping over small objects and handling uneven terrainStart and stop movingUsing head gestures to start/stopUser calibrationsA character's heightReal-life height of a playerRecenteringMaintaining a sense of selfHead-body disconnectHead and body......And feetThe body avatarVirtual David le noseAudio cuesLocomotion, teleportation, and sensorsManaging VR motion sicknessSummary
Chapter 7: Physics and the EnvironmentUnity physicsBouncy ballsHeadshotsTrampoline and brickA human trampolineLike a brickLike a characterInterlude - environment and thingsWispy SkyThe planet EarthThe corporate logoBlenderUnityAn elevatorJumpingSummary
Chapter 8: Walk-throughs and RenderingBuilding in BlenderWallsCeilingAssemble the scene in UnityThe gallery roomThe artwork rigThe exhibition planAdding photos to the galleryAn animated walk-throughUnity's animation systemScripted animationOptimizing for performance and comfortOptimizing your implementation and contentSimplify your modelsUsing texture maps instead of complex meshesLimiting the objects to be drawnLighting and shadow performanceOptimizing your scriptsOptimizing for the Unity rendering pipelineLife's a batchMultipass pixel fillingOther rendering tipsOptimizing for the target hardware and driversUnity ProfilerSummary
Chapter 9: Using All 360 Degrees360-degree mediaCrystal ballsMagic orbsPanoramasInfographicsEquirectangular projectionsGlobesPhotospheresField of view- FOVCapturing a 360-degree mediaSummary
Chapter 10: Social VR MetaverseMultiplayer networkingNetworking servicesThe network architectureLocal versus serverThe Unity networking systemSetting up a simple sceneCreating a scene environmentCreating an avatar headAdding multiplayer networkingNetwork Manager and HUDNetwork Identity and TransformRunning as a hostAdding spawn positionsRunning two instances of the gameAssociating avatar with the first-person characterAdding multiplayer virtual realityThe Oculus Rift playersThe Google Cardboard playersNext stepsBuilding and sharing a custom VRChat roomPreparing and building the worldHost the worldSummary
Chapter 11: What's Next?
Index