VRTK外掛程式之瞬移詳解

2021-09-24 17:52:35 字數 1447 閱讀 5996

在 vrtk外掛程式中有兩個瞬移的方法。所有的瞬移都是由手柄發出一條線,線與地面的交點就是瞬移所到的目的地。乙個是vrtk_basicteleport,另乙個是vrtk_heightadjustteleport。下面講如何實現瞬移和兩種瞬移的區別。

如果要發生瞬移,上面兩個指令碼中的其中乙個要繫結到[camerarig]上,如圖

手柄上需要繫結有vrtk_bezierpointer或者vrtk_******pointer中的其中乙個,且同時必須繫結vrtk_controllerevents。如圖:

按住大圓盤鍵vrtk_bezierpointer會讓手柄發出一條直線;vrtk_******pointer會讓手柄發出一條曲線;如圖:

當抬起按鍵後,[camerarig](也就是虛擬角色)就會瞬移到剛才線與地面相交的那個點。

vrtk_basicteleport這個方法沒有高度概念,只能在[camerarig]的基礎高度上進行瞬移。也就是無論瞬移目的地的y軸的值是多少,最後瞬移到的高度都只能是初始化的[camerarig]的y軸高度。而vrtk_heightadjustteleport則有高度概念而且還可以設定重力選項。

例如場景中有乙個cube在高處,如果想要瞬移到這個cube上用vrtk_basicteleport是無法實現的。而需要將vrtk_heightadjustteleport繫結到[camerarig]才可以實現。

vrtk_heightadjustteleport會和vrtk_bezierpointer一起使用。因為如果用vrtk_******pointer,無法與方塊的上部的面相交,所以是無法到達方塊的頂部的。如圖:

vrtk_heightadjustteleport會和vrtk_bezierpointer一起使用,曲線可以到達cube的上方,抬起按鍵,角色就會瞬移至相交點。如圖:

VRTK射線瞬移功能關鍵點

開啟 004 camerarig basicteleport跑起demo來,你會發現除了天空不能瞬移其它地方都可以瞬移,我們做一下修改就可以實現,只有地板才可以瞬移的功能 layers to ignore 是指射線經過物體時,要忽略的層 當前選擇了兩項 預設層 陰影層,此時射線碰到這兩層時是禁止瞬移...

VRTK外掛程式的概述及使用

這裡是有關vrtk外掛程式的使用,簡化為思維腦圖的形式。1 拋物線 跳點傳送。主要控制指令碼有vrtk controllerevents事件控制指令碼,vrtk point選擇是否是可以傳送,而vrtk berzierpointrender就是確定是拋物線的方式傳送 2 手柄射線 控制指令碼和拋物線...

Unity學習筆記 VRTK外掛程式應用

public vrtk controllerevents vrtkcontroller 獲取vrtk監聽手柄事件的類 vrtk controllerevents vrtkcontroller指令碼在場景中 vrtk scripts 的rightcontrollerscriptalias物體上 vrt...