HTC Vive VRTK入門之瞬移一(初入桃花源)
閒居少鄰並, 草徑入荒園。
苔痕上階綠, 草色入簾青。
無絲竹之亂耳,無案牘之勞形。
暫去還來此, 幽期不負言。
--《陋室銘》《題李凝幽居》
1、新建一個專案,匯入SteamVR和VRTK,匯入場景包VRTK_Teleport_Environment(可以在網上搜索,隨便一些場景包都可以,或者在資源商店中找),配置SteamVR 和VRTK,新增手柄,並給手柄新增直線指標
①匯入的場景
②渲染出手柄
③按下手柄的touch pad鍵發射直線型指標
2、新增瞬移區域。在VRTK_SDKManager中建立一個空物體,並重命名為PlayArea,新增元件VRTK_Basic Teleport並設定相關屬性。此時便可以進行瞬移了,可以在場景中到處轉轉
Blink To Color:瞬移時閃屏的顏色
Blink Transition Speed:瞬移時閃屏的速度
Distance Blink Delay:按下Touch Pad鍵後延遲多久開始瞬移
Target List Policy:瞬移的策略設定
Nav Mesh Limit Distance:控制瞬移區域的數值
①賞賞樹
②看看石橋與房屋
③跳到箱子上面,但此時發現並沒有站在箱子上面,而是站在了地面上身體穿過了箱子
3、新增自適應高度的瞬移。移除PlayerArear上的元件VRTK_Basic Teleport並新增元件VRTK_Height Adjust Teleport,該元件與Basic Teleport相比多了一個Layer To Ignore(所要忽略的層級)
①瞬移都是基於碰撞的,給所需要設定的物體新增collider
選中場景中的房屋,新增collider
選中石梯,新增collider
選中箱子,新增collider
③登高望遠,這裡風景獨好
站在屋頂
站在石梯
站在箱子
4、新增貝塞爾曲線的指標,並看其在不規則表面上的顯示
①進行設定
移除左右手柄的VRTK_Straight Pointer Rendere,並新增VRTK_Bezier Pointer Renderer,並分別將左右手柄的VRTK_Bezier Pointer Renderer股給Pointer Activation Settings的Pointer Renderer。給場景中所需要的瞬移區域新增collider。
5、執行後,指標的末端穿過了物體的表面
6、修改指標末端的游標,使其與物體表面的法線方向保持一致,從而附著在物體表面
勾選左手柄的Cursor Match Target Rotation
勾選有手柄的Cursor Match Target Rotation
執行後即使在有坡度的表面,游標也浮在了斜坡的表面
7、新增瞬移元件VRTK_Dash Teleport。上面的瞬移是從一個點換到另一個點,只是添加了一個閃屏;VRTK_Dash Teleport瞬移非常快,瞬移中間的過程可見,並且自帶了自適應高度的效果。
選中PlayeArea,並移除原來的VRTK_Basic Teleport,新增元件VRTK_DASH Teleport,執行後可以體會其效果,只可意會不可言傳
注:1、參考資料:http://edu.manew.com/course/344/learn#lesson/5691
http://blog.csdn.net/nicolelili1/article/details/74857374
2、無論是VRTK還是SteamVR,瞬移都是基於碰撞的,所以瞬移區域都必須附著一些boxcollider或者messcollider等碰撞體