Atnaujinkite slapukų nuostatas

Building Virtual Reality with Unity and SteamVR 2nd edition [Minkštas viršelis]

  • Formatas: Paperback / softback, 252 pages, aukštis x plotis: 234x156 mm, weight: 510 g, 1 Line drawings, black and white; 78 Halftones, black and white
  • Išleidimo metai: 13-Feb-2020
  • Leidėjas: CRC Press
  • ISBN-10: 0367271303
  • ISBN-13: 9780367271305
Kitos knygos pagal šią temą:
  • Formatas: Paperback / softback, 252 pages, aukštis x plotis: 234x156 mm, weight: 510 g, 1 Line drawings, black and white; 78 Halftones, black and white
  • Išleidimo metai: 13-Feb-2020
  • Leidėjas: CRC Press
  • ISBN-10: 0367271303
  • ISBN-13: 9780367271305
Kitos knygos pagal šią temą:
Building Virtual Reality with Unity and Steam VR takes a hands-on approach to getting up and running with virtual reality using the Unity game engine. By utilizing the free SteamVR 2.x libraries, this book and its example code are compatible with the main virtual reality (VR) head-mounted displays currently available. This book also looks at some of the main issues surrounding virtual reality, such as motion sickness and performance issues, providing practical ways to reduce their impact to make better VR experiences.

Key Features:











Discusses some of the key issues facing virtual reality and provides helpful tips for making better VR experiences





Practical examples geared to work with any headset compatible with SteamVR, including Oculus Rift, HTC Vive, and Valve Index





Uses the SteamVR Interaction system for interactions such as picking up and throwing objects, operating user interfaces and capturing input events for your own scripts





Explore advanced spatialized audio with Steam Audio.





Discover how to build user interfaces for virtual reality, as well as discussing some best practices for VR-based user interface design





Written by a games industry veteran with a proven track record, having worked for IBM Research in educational VR research projects and having made and launched VR experiences.
Acknowledgments xvii
Author xix
Prerequisites xxi
Introduction xxiii
Chapter 1 A Brief Introduction to the Virtual World
1(24)
How Long Have We Been Virtual?
1(1)
Before the Headset
2(1)
The Birth of the Head-Mounted Display
2(2)
The Road to Consumer Vr
4(1)
Home PC VR
5(1)
Consumer VR Rebirth
6(2)
Complications and Challenges of VR
8(6)
Latency
8(1)
Juddering and Smearing
9(1)
The Screen Door Effect
9(1)
VR Sickness
10(1)
VR Space
10(1)
Tracking
10(1)
Location-Based Entertainment
11(1)
Tracking Infinite Spaces
11(1)
Movement
11(1)
Input
12(1)
Body Tracking
12(1)
Vive Trackers
12(1)
Motion Capture Suits
13(1)
Hand Tracking
13(1)
Eye Tracking
13(1)
Feeling VR
14(1)
Designing and Developing for VR
14(8)
Plan: Any Sort of Plan Is Better than No Plan!
15(4)
Get Your Main Interactions in Place Early
19(1)
Test on Real People
20(1)
Look for Combination and Flow
20(1)
Realism Is Not Always the Most Realistic
21(1)
Recap
22(3)
Chapter 2 Healthy VR Experience
25(8)
What is Interpupillary Distance and Why Should I Care?
25(1)
Real IPD
25(2)
How to Measure Your IPD
26(1)
Virtual IPD
27(1)
Knowing When to Stop (the Telltale Signs of Oncoming VR Sickness)
28(5)
Dry Eyes
28(1)
Sweating
28(1)
Aching
29(1)
Nausea
29(1)
Headache
29(1)
Take Breaks
29(1)
Eat, Drink, and Be Virtually Merry!
30(1)
Do Not Break Your Back Making VR Things! Test Carefully
30(1)
Recap
31(2)
Chapter 3 Getting Set Up for Unity SteamVR Development
33(22)
Installing Steamvr
33(1)
Install the Steam Client
33(1)
Set Up A Steam Account
34(1)
Install Steamvr
34(1)
Start Steamvr
34(1)
Setting Up a Unity Project for Steamvr
35(1)
Downloading Unity to Make a New Project
36(1)
Unity Editor Crash Course
36(6)
Editor Views and Panels
36(2)
Terminology and Common Use Things
38(2)
Unity Terminology
40(2)
Creating a New Unity Project
42(7)
Downloading the SteamVR SDK for Unity
42(2)
Setting up SteamVR in Unity
44(2)
Setting up SteamVR Input
46(3)
A Room With a VR View
49(3)
Download and Extract Example Project Source Files
49(1)
Adding SteamVR to an Existing Scene
49(1)
The SteamVR Camera Rig
50(1)
Test the Scene
51(1)
SteamVR Camera Positioning and Repositioning
51(1)
Save the Project and Keep Backups!
52(1)
Problems?
53(1)
Recap
53(2)
Chapter 4 The SteamVR Interaction System
55(14)
Download and Extract Example Project Source Files
55(1)
The Player Prefab
56(1)
Making the Door Interactive
56(5)
Add Teleportation
61(3)
Picking up and Throwing Objects
64(3)
Recap
67(2)
Chapter 5 Building a Main Menu
69(52)
"Show, Don't Tell!"
70(1)
Building the Main Menu ui With Unity Gui
71(1)
Unity Gui
71(1)
Open the Example Project
71(1)
Getting Steamvr to Work With Your UI
71(3)
Test Out the Scene!
74(1)
Reacting to Interaction
74(3)
Script Breakdown
75(1)
Attach Buttons to the Script
75(2)
Loading Scenes Correctly with Steamvr
77(7)
Adding Scene Loading to Your Menu
78(1)
Create a LevelLoader GameObject
78(3)
Add Level Loading to the MenuController Script Component
81(2)
Set Up the Level Loader Reference
83(1)
Add Scenes to Build Settings
83(1)
Test Level Loading
84(1)
Using a Laser Pointer for Ul Interactions (And an Introduction to Scripting with the Steamvr Input System)
84(10)
Add Components to the Hands GameObjects
84(1)
Add Controller Input to the Laser Pointer
85(2)
Script Breakdown
87(7)
Building the Main Menu Ul with Steamvr Physical Buttons
94(3)
Open the Example Project
95(1)
Build a Physics-Based Button
95(1)
Add SteamVR Button Components
95(1)
Hook Up the Button to Scripting
96(1)
Test the Scene
96(1)
Fading in and Out
97(1)
Add a Fade Out to the Main Menu
97(1)
Making Your own Skybox Inside Unity
98(4)
Create a SteamVR Skybox for the Compositor
99(2)
Using a Custom Skybox for Loading
101(1)
Interaction Using Only Your Head
102(17)
Open the Example Project
102(6)
Script Breakdown
108(11)
Recap
119(2)
Chapter 6 Advanced Interactions
121(20)
Open the Example Project
121(9)
Adding Spray Functionality to the Spray Bottle
121(3)
Script Breakdown
124(6)
Using Vibration/Haptic Feedback
130(1)
Setting up the Skeleton Poser to Use a Hand Pose
131(9)
The Skeleton Poser Component
131(1)
The Pose Editor
131(4)
The Blending Editor
135(1)
Posing Your Hand
135(4)
Blending Poses
139(1)
Try Out the Scene
140(1)
Recap
140(1)
Chapter 7 Making the Most of Virtual Reality with Audio
141(34)
The Virtual Reality Audio Space and Beyond
141(3)
Software
142(1)
Common Terms
142(1)
Ambient Sound
142(1)
Listener
142(1)
Binaural Audio
143(1)
Mono Sound
143(1)
3D Sound
143(1)
Doppler Effect
143(1)
Spatial Sound
144(1)
HRTF
144(1)
Steam Audio
144(1)
FMOD
144(1)
Using Unity Audio for VR
144(16)
Open the Example Project
144(1)
Unity Audio Settings
144(1)
Setting a Scene with Ambient Sound
145(1)
The AudioSource Component
146(3)
Adding Audio to the Bug Game
149(1)
Ambient Audio
149(2)
Adding Music
151(1)
Bringing Life to the World
152(8)
Mixers
160(8)
Snapshots
160(1)
Groups
161(1)
Views
161(1)
Setting Up Mixers in the Audio Mixer Window
161(1)
Adding Mixer Groups
162(1)
Setting Audio Sources to Use the Audio Mixer Groups
163(1)
Testing and Mixing Audio
164(1)
Audio Effects
165(2)
Try Out the Audio
167(1)
Using Steam Audio For VR
168(5)
Adding the Steam Audio API to Unity
168(1)
Download Steam Audio
169(1)
Set Up the Level for Steam Audio
170(1)
Steam Audio Materials
170(1)
Choose Metal from the Dropdown
171(1)
Setting Up an Audio Source for Steam Audio
171(1)
Reflection
172(1)
Precalculating the Steam Audio Scene
172(1)
Test the Scene
172(1)
Quick VR Audio Design Tips
173(1)
Recap
174(1)
Chapter 8 Building Seated or Static VR Experiences
175(10)
A Seated Experience
175(1)
Open the Example Project
175(1)
Setting Sitting or Standing Calibration in Code
176(6)
Script Breakdown
178(4)
Moving Around Inside a Vehicle
182(1)
Try the Example Project
182(1)
Preview the Scene
183(1)
Recap
183(2)
Chapter 9 Virtual Reality Sickness
185(8)
What Is VR Sickness?
186(1)
Personal Experience
186(1)
VR Sickness Symptoms and Cues
187(4)
Vection
187(1)
Field of View
188(1)
Interpupillary Distance
188(1)
Illness
189(1)
Locomotion/Movement
189(1)
Age
189(1)
Frame Rate
189(1)
Depth Perception
190(1)
Rate of Linear or Rotational Acceleration
190(1)
Positional Tracking Errors
190(1)
Sitting Versus Standing
191(1)
Can We Solve It?
191(1)
Recap
192(1)
Chapter 10 Hands-On, Practical Techniques for Reducing VR Sickness in Unity
193(20)
Using Unity's UI Canvas for Field of View (FOV) Reduction
193(10)
Open the Example Project
194(1)
The FOV Mask
194(2)
Programming the Dynamic Scaling Script
196(2)
Script Breakdown
198(3)
Try Out the Example
201(1)
An Alternative Approach
202(1)
A Third-Person Camera Suitable For VR
203(7)
Open and Try Out the Example File
203(1)
Programming
204(1)
Script Breakdown
205(3)
The Third-Person VR Camera Rig
208(2)
A Fake Nose? How Does it Smell?
210(2)
Open the Example Project
211(1)
Recap
212(1)
Chapter 11 Unity Engine Polish and Optimization
213(28)
Optimizing Unity For VR
213(1)
The Rendering Statistics Windows (STATS)
213(25)
CPU vs. GPU
215(1)
The Unity Profiler
215(1)
Profiler Modes
215(3)
Finding Out If Your Project Is GPU-Bound or CPU-Bound
218(2)
What Do the Squiggles Tell You?
220(3)
Using the Profiler
223(1)
Batching
223(1)
Occlusion
224(1)
Try Occlusion Out with the Example Unity Project
224(2)
Adding Occlusion Areas
226(1)
Bake the Occlusion Cells
227(1)
Try It Out
227(1)
Quick Code Tips
228(1)
Cache Object References
228(2)
Prioritize Where in the Update Cycles Your Code Runs
230(1)
Only Run Scripts When You Need To
231(1)
Geometry and Modeling
232(1)
Materials
232(1)
Level of Detail (LOD)
233(2)
Lighting
235(1)
Lightmapping
235(1)
Per-Pixel vs. Vertex Lighting
236(1)
Quality Settings
236(1)
Collisions, Mesh Colliders, and the Layer Collision Matrix
237(1)
Recap
238(1)
Final Word
239(2)
References 241(2)
Index 243
Jeff W. Murray has written two books: Game Development for iOS with Unity3D and C# Game Programming Cookbook for Unity3D, both published by CRC Press. In his game development career spanning more than 20 years, he has worked with some of the worlds largest brands as a Game Designer, Programmer, and Game Director before finding his new home in VR.