第1章緒論11.1什么是VR2
1.2HTCVive簡介5
1.3HTCVive誕生記6
1.3.1與HTC合作之前的Valve7
1.3.2與Valve合作之前的HTC9
1.3.3TheOculusRift10
1.3.4HTC和Valve最終走到了一起10
1.3.5研發手柄控制器11
1.3.6Vive背后的開發者12
1.3.7Vive驚艷亮相13
1.3.8Vive發售后的復盤14
第2章游戲引擎16
2.1Unity3D引擎簡介17
2.2虛幻4引擎簡介18
2.3選擇適合的引擎19
第3章SteamVR21
3.1SteamVR簡介22
3.2SteamVRPlugin解析25
3.2.1SteamVR_Render渲染腳本29
3.2.2[CameraRig]玩家預設39
3.2.3SteamVR_TrackedObject51
3.2.4MainCamera(eye)53
3.3手柄控制器59
3.4SteamVR腳本功能簡介66
第4章VR打僵尸游戲68
4.1Unity3D游戲資源準備69
4.2場景優化和配置槍械72
4.3基本武器系統77
4.4僵尸83
4.5小結96
第5章SteamVRUnityToolkit97
5.1Toolkit簡介98
5.1.1歡迎來到VRTK99
5.1.2VRTK里面有什么99
5.1.3VRTK快速開始100
5.2Examples案例001~010100
5.2.1案例解析001_CameraRig_VR_PlayArea100
5.2.2案例解析002_Controller_Events101
5.2.3案例解析003_Controller_SimplePointer105
5.2.4案例解析004_CameraRig_BasicTeleport124
5.2.5案例解析005_Controller_BasicObjectGrabbing132
5.2.6案例解析006_Controller_UsingADoor142
5.2.7案例解析007_CameraRig_HeightAdjustTeleport152
5.2.8案例解析008_Controller_UsingAGrabbedObject160
5.2.9案例解析009_Controller_BezierPointer162
5.2.10案例解析010_CameraRig_TerrainTeleporting163
5.3Examples案例011~020164
5.3.1案例解析011_Camera_HeadSetCollisionFading164
5.3.2案例解析012_Controller_PointerWithAreaCollision168
5.3.3案例解析013_UsingAndGrabbingMultipleObjects168
5.3.4案例解析014_Controller_SnappingObjectsOnGrab169
5.3.5案例解析015_Controller_TouchpadAxisControl170
5.3.6案例解析016_Controller_HapticRumble175
5.3.7案例解析017_CameraRig_TouchpadWalking177
5.3.8案例解析018_CameraRig_FramesPerSecondCounter183
5.3.9案例解析019_Controller_InteractingWithPointer185
5.3.10案例解析020_CameraRig_MeshTeleporting186
5.4Examples案例021~030186
5.4.1案例解析021_Controller_GrabbingObjectsWithJoints186
5.4.2案例解析022_Controller_CustomBezierPointer187
5.4.3案例解析023_Controller_ChildOfControllerOnGrab188
5.4.4案例解析024_CameraRig_ExcludeTeleportLocation188
5.4.5案例解析025_Controls_Overview189
5.4.6案例解析026_Controller_ForceHoldObject197
5.4.7案例解析027_CameraRig_TeleportByModelVillage199
5.4.8案例解析028_CameraRig_RoomExtender200
5.4.9案例解析029_Controller_Tooltip204
5.4.10案例解析030_Controls_RadialTouchpadMenu211
5.5Examples案例031~037214
5.5.1案例解析031_HeadsetGazePointer214
5.5.2案例解析032_Controller_CustomControllerModel215
5.5.3案例解析033_CameraRig_TeleportInNavMesh217
5.5.4案例解析034_Controls_InteractingWithUnityUI218
5.5.5案例解析035_Controller_OpacityAndHighlighting224
5.5.6案例解析036_Controller_CustomCompoundPointer228
5.5.7案例解析037_CameraRig_ClimbingFalling228
5.6總結229
第6章VR游戲開發實戰230
6.1Lab渲染器231
6.1.1簡介231
6.1.2快速開始指引232
6.1.3元素233
6.1.4攝像機組件234
6.1.5實時光照組件236
6.1.6VR標準著色器237
6.1.7工具和幫助元素239
6.1.8命令行參數240
6.1.9快捷鍵241
6.2完善VR僵尸游戲241
6.2.1場景優化241
6.2.2編輯場景和可交互對象243
6.2.3優化怪物250
6.2.4玩家UI界面252
6.3VR手勢識別258
6.3.1插件簡介258
6.3.2新手教學259
6.3.3使用案例263
6.4VR網絡游戲265
6.4.1SteamVRNetwork簡介265
6.4.2案例教學266
6.4.3VR網絡的準則267
6.4.4如何使用包含的預設268
6.4.5如何使用包含的腳本268
6.4.6如何擴展案例269
6.5語音識別與VR270
6.5.1簡介270
6.5.2語音識別和語義分析是如何工作的270
6.5.3市面上的語音轉換文本工具272
6.5.4困惑和未來的工作274
6.6VR中國象棋275
6.6.1游戲簡介275
6.6.2游戲架構275
6.6.3游戲生態278
6.6.4游戲未來278
6.6.5游戲現狀279
6.7HTCVive開發者聯盟279
附錄284
附錄1參考文獻285
附錄2SIKI老師的教程與資源分享285
附錄3Unity游戲開發視頻教程目錄286