售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Mastering Oculus Rift Development
Mastering Oculus Rift Development
Credits
About the Author
About the Reviewer
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Exploring a New Reality with the Oculus Rift
The concept of VR
Depth perception
Common limitations of VR games
Locomotion sickness
Lack of real-world vision
Unnatural head movements
Vergence-accommodation conflict
Constellation tracking
Input with controllers, remotes, and more
The importance of frame rate
Asynchronous Timewarp
Installing the Oculus runtime
Summary
2. Stepping into Virtual Reality
Getting started with Unity
Installing the Unity3D engine
Incorporating the Oculus Utilities package
Taking your first steps in VR
Scripting basic player movement
Enabling interaction with gaze-based mechanics
Implementing gaze-based teleporting
Building and running your first VR app
Configuring Unity Build Settings for VR
Configuring Unity Quality settings for VR
Summary
3. Improving Performance and Avoiding Discomfort
Using the Unity profiler
Analyzing CPU usage
Using coroutines to split up complex work
Mesh optimization
Optimizing a mesh using Simplygon
Displaying dynamic detail with LODs
Keeping a handle on memory allocation
Stack and heap memory
Value types and reference types
Boxing and unboxing
Unity specifics
foreach loops versus for loops
Material references
Comparing tags efficiently
Object pooling
Creating an object pool for strings
Pooling Unity GameObjects
Summary
4. Interacting with Virtual Worlds
Designing basic player input
Using Unity input axes
Using the OVRPlayerController script
Adding projectiles
Implementing a firing mechanic
Implementing gameplay around input
Creating a target dummy
Creating custom Unity input axes
Summary
5. Establishing Presence
Setting up the game environment
Configuring lighting properties
Adding some color to the scene
Adding colliders to imported mesh objects
Accentuating depth with particle effects
Customizing the skybox
Enabling player interaction with the world
Creating the dynamic wall prefab
Scripting our prefab
Populating the game world with resources
Making the practice dummies drop resources
Using resources to interact with the environment
Summary
6. Adding Depth and Intuition to a User Interface
Adding a VR input module
Constructing a simple menu
Setting up a canvas
Adding buttons to a canvas
Adding functionality to UI elements
Creating a GameManager script
Adding UI elements to the game world
Adding complexity to the dynamic walls
Adding teams to the game
Adding a health bar to the dynamic wall
Summary
7. Hearing and Believing with 3D Audio
The science of how we hear
Lateral localization of audio
Vertical localization of audio
Learning the basics of Unity audio
Spatial blending between 2D and 3D
Implementing 2D stereo audio
Playing a sound when a button is clicked on
Playing a sound when a button is hovered
Adding basic 3D spatialization
Making an audio source 3D
Immersing your player with HRTFs
Sampling Unity's first-party HRTF
Importing the ONSP
Using the ONSP
Adding sound reflections to the scene
Filling the game world with sound
Adding footstep sounds
Adding projectile sounds
Adding ambient looping to energy orbs
Summary
8. Adding Tone and Realism with Graphics
A simple breakdown of the rendering pipeline
Defining the geometry
Transforming the model into world space
Transforming the world into camera space
Lighting the objects in the scene
Deriving a projection from the camera
Clipping geometry outside the camera's frustum
Rasterization and texturing
Forward and deferred rendering
Forward rendering
Deferred rendering
Demonstrating the value of deferred rendering
Adding tone with color grading
The basics of color grading
Adding a color grading script to the camera
Sampling a lookup texture
Creating dramatic effects with vibrant LUTs
Changing the appearance of objects with shaders
A quick overview of ShaderLab shaders
Importing a textured model
An overview of ShaderLab's fundamental syntax
Writing your first shader
Defining a diffuse texture property
Adding a normal map property to a shader
Generating a normal map
Summary
9. Bringing Players Together in VR
Creating a lobby space for joining matches
Setting up the lobby scene
Creating the Create menu
Adding event triggers to the Lobby menu
Creating a networked game
Defining player spawn points
Assigning players to teams
Using Unity's matchmaker system
Creating a matchmaker game
Joining a matchmaker game
Tying together the multiplayer lobby
Linking the menus together
Synchronizing data in multiplayer matches
Syncing player movement
Handling object spawning on the network
Detecting bullet collisions on the network
Ending a match after a set time
Summary
10. Publishing on the Oculus Store
Packaging a final Unity build
Adding a game icon
Configuring final player settings
Configuring final quality settings
Getting to know the output log
Meeting the Oculus submission guidelines
Meeting the Oculus content policy
Meeting the Oculus minimum technical requirements
What about Asynchronous Timewarp and Spacewarp?
Uploading your first build to Oculus
Managing release channels
Uploading submission information
Other sections of the dashboard
Summary
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜