最近插件更新了微宝,很多以前的組件功能被修改了棺亭。表示蛋疼。蟋软。镶摘。
再說一次不要使用最新的Unity版本,尤其5.6岳守,手柄渲染不出來
#Unity 5.5.1,目前官方最新是5.6.0
#SteamVR Plugin 1.2.1(目前是最新),
#VRTK 3.1.0(目前是最新)
1凄敢、VRTK插件控制管理器: VRTK_SDK Manager
如果是Steam VR平臺就選此項
2、幀率顯示:VRTK_FramesPerSecondViewer
一個預制體畫布棺耍,用來顯示幀率問題贡未。
效果圖
3、移動功能
3-0:圓盤移動:VRTK_Touchpadmovement
此控件是可以進行圓盤移動的,同時會自動添加:
身體碰撞檢測:VRTK_BodyPhysics(基于物理)俊卤,里面的第一句話嫩挤,Ps:翻譯后:創(chuàng)建一個剛體和碰撞器在用戶站允許物理相互作用和防止穿過墻。
3-1:圓盤行走:VRTK_TouchpadWalking
VRTK新插件版本消恍,如果使用圓盤行走只需要將此腳本添加到相關的手柄對象上
但是現(xiàn)在遠遠不夠岂昭,因為插件提示你需要使用新的腳本控制器了,這個腳本將在新版本刪除狠怨,而且提示你要添加圓盤控制器:VRTK_TouchPadControl
3-2:圓盤控制器:VRTK_TouchPadControl
但是如果只加這個约啊,充其量也就是控制圓盤而已,并不能辦到移動
因為需要添加下面的
3-3 : 控制器事件:VRTK_Controller Event
那么問題來了佣赖,我們向哪里移動恰矩?
3-4:滑動控制代理: VRTK_SlideObjectControlAction
這個就是解決我們使用圓盤的滑塊向哪個軸移動
4外傅、瞬移功能
在玩過上面的內容后,我們發(fā)現(xiàn)其實在VR中使用平移有點暈俩檬。所以瞬移是不二之選萎胰。
瞬移功能分兩種,一種是直線瞬移棚辽,一種是曲線瞬移 之前的瞬移功能如何使用技竟?
4-1:直線瞬移
舊版的API
簡單激光指針:VRTK_SimplePointer
手柄控制器事件:VRTK_ControllerEvents
新版的API
這里分版本,因為SDK與Unity版本并不一致屈藐,這里公布我使用版本
#Unity 5.5.1,
#SteamVR Plugin 1.2.1(目前是最新),
#VRTK 3.1.0(目前是最新)
這里只需要添加:
VRTK_Pointer:從一個游戲對象上發(fā)出一個指針(如手柄控制器)
VRTK_StraightPointerRenderer:模擬激光束榔组,指針渲染器發(fā)出彩色光束到連接的對象
VRTK_Controller Event:控制器事件主要調用底層按鍵使用
這個腳本一般單獨掛載,如圖所示估盘。
VRTK_BasicTeleport :基本傳送更新用戶的X瓷患、Z在游戲世界中的位置的位置基類指針的尖端的位置骡尽,這是通過設置
destinationmarkerset
事件遣妥。4-2:曲線瞬移
舊版的API
貝塞爾曲線激光指針:VRTK_BezierPointer:
手柄控制器事件:VRTK_ControllerEvents
將上述腳本掛載在我們手柄的控制器上就可以
問題是,只有第一次定位的時候攀细,才可以瞬移箫踩,后面需要重新按,才可以選擇圓盤
新版的API
這里分版本谭贪,因為SDK與Unity版本并不一致境钟,這里公布我使用版本
#Unity 5.5.1,
#SteamVR Plugin 1.2.1(目前是最新),
#VRTK 3.1.0(目前是最新)
實現(xiàn)曲線瞬移需要添加:
VRTK_Pointer:從一個游戲對象上發(fā)出一個指針(如手柄控制器)
VRTK_BezierPointerRenderer : 貝塞爾指針渲染器發(fā)出一個彎曲的線
VRTK_Controller Event:控制器事件主要調用底層按鍵API
在我們添加完上面的組件后,我們還需要添加下面的組件俭识,主要作用是用來傳送到指針選取的位置點慨削,不管是基礎傳送還是曲線傳送都需要這個腳本。
VRTK_BasicTeleport:基本傳送更新用戶的X、Z在游戲世界中的位置的位置基類指針的尖端的位置缚态,這是通過設置
destinationmarkerset
事件磁椒。
5、抓取功能
VRTK_InteractableObject : 讓游戲對象可以被交互
如果你想要交互某個游戲對象玫芦,那么你就必須將這個控件添加到游戲對象身上浆熔。其次要出發(fā)的那個物體必須具有碰撞器
如何使用VRTK的抓取功能呢
6、游玩區(qū)域
房間區(qū)域設定:VRTK_RoomExtender可以點擊查看我之前的案例介紹
允許游玩區(qū)跟隨玩家移動桥帆,CameraRig 只在達到定義的圈的邊緣才會移動
- Additional Movement Multiplier:額外移動乘數: 圈邊緣的移動放大因數医增。0就是不移動CameraRig。值越高模擬的游玩區(qū)域就越大老虫,但是也可能就越不令人舒適叶骨。
Head Zone Radius:頭部空間半徑:游玩區(qū)不會發(fā)生移動的圓圈尺寸,一切都正常的祈匙。如果值太低在蹲下時就會感到不舒服邓萨。
-
Debug Transform:調試Transform: 這個調試狀態(tài)下的transform讓玩家周圍的CameraRig不移動圓圈顯示出來。在demo場景里就是一個在地板上的柱體菊卷,使用之前要關閉碰撞缔恳。
image.png
7、其他腳本
VRTK_SnapRotateObjectControlAction :快速旋轉物體控制動作腳本用于快速旋轉的控制對象在向量改變軸時
VRTK_WarpObjectControlAction:經物體控制動作腳本用于經紗控制對象給定距離的改變軸時
VRTK_RotateObjectControlAction:旋轉物體控制動作腳本用于旋轉控制對象在向量改變軸時
VRTK_TransformFollow : 更改一個游戲對象的轉換以遵循另一個游戲對象的轉換