本文為 SteamVR 插件使用文檔系列文章的第二篇刺桃,主要講述有關(guān) Render Models(渲染模式)的內(nèi)容。
文章目錄
2 Render Models(渲染模式)
??2.1 The Component(組件)
??2.2 Attaching Objects(附著對象)
??2.3 Notes(注意)
2 Render Models(渲染模式)
由于沉浸在虛擬現(xiàn)實中時您的整個視野都會被覆蓋髓堪,因此擁有您所握持的控制器的虛擬化顯示會很有幫助剩愧。SteamVR 插件提供了一種簡單的方法,不僅可以獲取通用控制器模型压恒,還可以獲取具有單獨驅(qū)動組件的模型挡逼。 因此括改,當我們在現(xiàn)實生活中扣動控制器上的扳機時,我們也可以在虛擬世界(場景)中看到虛擬化的手柄上的按鍵也在拉動家坎。 這有助于提高可用性并有力地提升真實感嘱能。
2.1 The Component(組件)
交互系統(tǒng)和簡單示例場景都有使用渲染模型的裝備。 在 [Camera Rig]
預制件的 Simple Sample 場景中虱疏,您將找到Controller (left)
和Controller (right)
惹骂。 這些游戲?qū)ο笊嫌幸粋€SteamVR_Behaviour_Pose
組件,用于設置變換的位置和旋轉(zhuǎn)做瞪。
在這些對象下析苫,您將看到名為Model
的 GameObjects,其中包含我們的SteamVR_RenderModel
組件穿扳。 它有幾個成員:
-
Index 索引
:這是控制器的 “跟蹤設備索引”衩侥。 它是渲染模型系統(tǒng)用來向底層系統(tǒng)標識控制器的整數(shù) id。 在之前的 SteamVR 迭代中矛物,這也用于訪問該控制器上的輸入茫死,但現(xiàn)在這是通過 “輸入系統(tǒng)” 完成的。 -
Model Override 模型覆蓋
:通常出于測試目的履羞,您可以指定要顯示的模型峦萎,而不是動態(tài)評估連接的設備類型。 -
Shader 著色器
:如果您更喜歡使用不同的著色器來渲染模型忆首,您可以在此處指定它爱榔。 默認情況下,使用 Unity 的標準著色器糙及。 -
Verbose 詳細
:將輸出調(diào)試日志以告訴您腳本發(fā)生了什么详幽。 -
Create Components 創(chuàng)建組件
:在勾選的情況下為每個組件創(chuàng)建單獨的游戲?qū)ο蟆?/li> -
Update Dynamically 動態(tài)更新
:將移動單個組件與其物理對應物內(nèi)聯(lián)。
2.2 Attaching Objects(附著對象)
開發(fā)人員通常希望將游戲?qū)ο蟾郊拥娇刂破魃系奶囟c浸锨,例如抓取物體時唇聘,我們希望物體附著在手柄的某個點上。為此柱搜,我們在控制器的每個部分下放置了一個名為 “attach” 的游戲?qū)ο蟪倮桑摬糠忠韵嚓P(guān)部分為中心。 為便于訪問聪蘸,您可以訪問SteamVR_RenderModel
腳本并調(diào)用GetComponentTransform(string componentName)
宪肖,它將返回 \a Transform(不進行任何 GC 分配)。 此處的 componentName 參數(shù)區(qū)分大小寫健爬,因此請確保傳入的組件名稱與運行時在 Hierarchy 視圖中顯示的完全相同控乾。
2.3 Notes(注意)
SteamVR_RenderModel 組件需要與設置其索引的對象位于同一游戲?qū)ο笊稀?在[CameraRig]
預制件中,這是由SteamVR_Behaviour_Pose
腳本完成的浑劳。