售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Copyright and Credits
Unity Virtual Reality Projects Second Edition
Dedication
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the project assets and example code files
Download the color images
Conventions used
Get in touch
Reviews
Virtually Everything for Everyone
What is virtual reality to you?
Types of head-mounted displays
Desktop VR
Mobile VR
The difference between virtual reality and augmented reality
Applications versus games
How virtual reality really works
Stereoscopic 3D viewing
Head tracking
Types of VR experiences
Technical skills that are important to VR
What this book covers
Who are you?
Summary
Content, Objects, and Scale
Getting started with Unity
Creating a new Unity project
The Unity editor
The default world space
Creating a simple diorama
Adding a cube
Adding a plane
Adding a sphere and some material
Changing the scene view
Adding a photo
Coloring the ground plane
Measurement tools
Keeping a unit cube handy
Using a Grid Projector
Measuring the Ethan character
Using third-party content
Creating 3D content with Blender
An introduction to Blender
A unit cube
UV Texture image
Importing into Unity
A few observations
Creating 3D content in VR
Exporting and importing Tilt Brush models
Publishing and importing using Google Poly
Editing Unity in VR with EditorXR
Setting up EditorXR
Using EditorXR
Summary
VR Build and Run
Unity VR Support and Toolkits
Unity's built-in VR support
Device-specific toolkits
Application toolkits
Web and JavaScript-based VR
3D worlds
Enabling Virtual Reality for your platform
Setting your target platform
Setting your XR SDK
Installing your device toolkit
Creating the MeMyselfEye player prefab
Building for SteamVR
Building for Oculus Rift
Building for Windows Immersive MR
Setting up Windows 10 Developer mode
Installing UWP support in Visual Studio
UWP build
Setting up for Android devices
Installing the Java Development Kit (JDK)
Installing Android SDK
Via Command Line Tools
About your Android SDK root path location
Installing USB device debugging and connection
Configuring the Unity External Tools
Configuring Unity Player Settings for Android
Building for GearVR and Oculus Go
Building for Google VR
Google Daydream
Google Cardboard
Google VR Play Mode
Setting up for iOS devices
Have an Apple ID
Install Xcode
Configuring the Unity Player Settings for iOS
Build And Run
Summary
Gaze-Based Control
Ethan, the walker
Artificially intelligent Ethan
The NavMesh bakery
A random walker in the town
The RandomPosition script
"Zombie-ize" Ethan!
Go where I'm looking
The LookMoveTo script
Adding a feedback cursor
Observing through obstacles
If looks could kill
The KillTarget script
Adding particle effects
Cleaning up
Short intro to Unity C# programming
Summary
Handy Interactables
Setting up the scene
Creating a balloon
Making it a prefab
Basic button input
Using the Fire1 button
OpenVR trigger button
Daydream controller clicks
Polling for clicks
Our own button interface functions
Creating and releasing balloons
Inflating a balloon while pressed
Using scriptable objects for input
Creating the scriptable object
Populating the input action object
Accessing the input action object
Simulation testing with scriptable objects
Using Unity events for input
Invoking our input action events
Subscribing to input events
Really using your hands
Parenting balloons to your hand
Popping balloons
Interactable items
Interactables using SteamVR Interaction System
Interactables using Daydream VR Elements
Summary
World Space UI
Studying VR design principles
A reusable default canvas
Visor HUD
The reticle cursor
The windshield HUD
The game element UI
Using TextMeshPro
Info bubble
An in-game dashboard with input events
Creating a dashboard with buttons
Linking the water hose to the buttons
Activating buttons from the script
Look to highlight a button
Looking and then clicking to select
Looking and starting to select
Pointing and clicking with VR components
Using Unity UI and SteamVR
Using Unity UI and Daydream
Building a wrist-based menu palette
Summary
Locomotion and Comfort
Understanding Unity characters
Unity components
The Camera component
The Rigidbody component
The Character Controller component
Unity Standard Assets
ThirdPersonController
AIThirdPersonController
First-person FPSController
RigidBodyFPSController
Using glide locomotion
Move in the direction you're looking
Keep your feet on the ground
Don't pass through solid objects
Don't fall off the edge of the world
Stepping over small objects and handling uneven terrain
Starting and stopping movement
Adding comfort mode locomotion
Other locomotion considerations
Techniques for teleportation
Looking to teleport
Teleporting between surfaces
Teleport spawn points
Other teleport considerations
Teleportation toolkits
Teleporting with SteamVR Interaction System
Teleporting with Daydream Elements
Resetting center and position
Supporting room scale teleportation
Managing VR motion sickness
Summary
Playing with Physics and Fire
Unity physics
Bouncy balls
Managing game objects
Destroying fallen objects
Setting a limited lifetime
Implementing an object pool
Headshot game
Paddle ball game
Deflector versus paddle
Shooter ball game
Juicing the scene
Great balls of fire
Skull environment
Audio synchronization
Summary
Exploring Interactive Spaces
Level design with Blender
Defining the walls
Adding a ceiling
Assembling the scene in Unity
The gallery room level
The artwork rig
The exhibition plan
Adding pictures to the gallery
Managing art info data
Using lists
Using data structures
Using scriptable objects
Displaying the art info
Creating the title plaque
Interactive info details
Adjusting for image aspect ratio
Moving around the gallery
Teleporting between pictures
Teleporting with SteamVR Interaction System
Teleporting with Daydream Elements
Room-scale considerations
Animating a ride-through
Summary
Using All 360 Degrees
360-degree media
Equirectangular projections
VR is hacking your field of view
180-degree media
Stereo 360-degree media
Fun with photo globes
Crystal balls
Globes
Rendering photospheres
Writing a custom Inward shader
Magic orbs
Photospheres
Playing 360-degree videos
Using Unity skyboxes
Six-sided or cubemap skyboxes
Spherical panoramic skyboxes
360 video skyboxes
3D stereo skyboxes
Capturing 360-degrees in Unity
Capturing cubemaps and reflection probes
Using a third-party package for 360 image capture
Unity built-in stereo 360 image and video capture
Summary
Animation and VR Storytelling
Composing our story
Gathering the assets
Creating the initial scene
Timelines and Audio tracks
Using a Timeline to activate objects
Recording an Animation Track
A growing tree
A growing bird
Using the Animation editor
A wafting nest
Animating other properties
Animating lights
Animating a scripted component property
Controlling particle systems
Using Animation clips
Shaking an egg
Using Animator Controllers
Definitions for Animation and Animator
ThirdPersonController Animator
Living Birds Animator
Learning to fly
Hacking the birds
Fly away!
Making the story interactive
Look to play
Resetting the initial scene setup
More interactivity ideas
Summary
Social VR Metaverse
Multiplayer networking
Networking services
The network architecture
Local versus server
The Unity networking system
Setting up a simple scene
Creating a scene environment
Creating an Avatar head
Adding multiplayer networking
Network Manager and HUD
Network Identity and sync Transform
Running as a host
Adding spawn positions
Running two instances of the game
Associating Avatar with the first-person character
Adding a matchmaking lobby
Syncing objects and properties
Setting up the headshot ball game
Spawning the ball over the network
Synchronizing the ball transform
State variable synchronization
Advanced networking topics
Options for voice chat
Using Oculus platform and avatars
Oculus platform entitlement check
Adding a local avatar
Adding remote avatars
Building and sharing custom VRChat rooms
Preparing and building the world
Summary
Optimizing for Performance and Comfort
Using the Unity Profiler and Stats
The Stats window
Overview of the Profiler
Optimizing your art
Setting up the scene
Decimating models
Transparent materials
Levels of detail
Optimizing your scene with static objects
Setting up the scene
Lighting and baking
Occlusion culling
Optimizing your code
Understanding the Unity life cycle
Writing efficient code
Avoiding expensive API calls
Optimizing the rendering
Life's a batch
Multipass pixel filling
VR-optimized shaders
Runtime performance and debugging
Daydream
Oculus
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜