steam vr unity tooklkit:
vr arc teleporter :
今天匯入了乙個叫 vrtk - steamvr unity toolkit 的外掛程式,基本上考慮了所有將會用到的情況。
下面要總結的就是在這個外掛程式下手柄的用途:
首先說一下vrtk_controllerevents類,這個類提供了各種按鈕事件的委託,而按鈕按下或者鬆開的過程一般只會呼叫事件方法一次,是以下情況的前提條件。
一、雷射光線
指令碼:vrtk_******pointer
呼叫事件(vrtk_controllerevents):aliaspointeron、aliaspointeroff
可用事件(vrtk_controllerpointerevents_listenerexample):
pointin
只要射線碰到有collider的物體就會執行,執行多次。
pointout
移出有collider的物體或者從乙個物體到另乙個物體時執行,執行一次。
destinationset
在鬆開pointer的按鈕傳送至另一位置時執行,執行一次。
二、與物體互動
1.touch(觸控)
指令碼:vrtk_interacttouch+vrtk_interactableobject
可用事件(vrtk_interactableobject類):
interactableobjecttouched
在ontriggerstay()中呼叫,碰到物體時執行一次,傳入被touch的物體
interactableobjectuntouched
在ontriggerstay()中呼叫,兩個物體切換時執行一次,傳入untouch的物體
在ontriggerexit()中呼叫,離開物體時執行一次,傳入untouch的物體
2.grab(抓取)
指令碼:vrtk_interacttouch+vrtk_interactgrab+vrtk_interactableobject
呼叫事件(vrtk_controllerevents):aliasgrabon、aliasgraboff
可用事件(vrtk_interactableobject類):
interactableobjectgrabbed
由按鈕事件呼叫,只在按下時執行一次,傳入grab物體
interactableobjectungrabbed
由按鈕事件呼叫,只在鬆開時執行一次,傳入ungrab物體
分析:得到touch的物體並初始化該物體位置再使用fixjoint將它的pose與手柄的pose保持一致。釋放的過程亦然,只是釋放時會將手柄的速度應用給物體的rigidbody,實現throw效果。
3.use(使用)
指令碼:vrtk_interacttouch+vrtk_interactgrab+vrtk_interactuse+vrtk_interactableobject
呼叫事件(vrtk_controllerevents):aliasuseon、aliasuseoff
可用事件(vrtk_interactableobject類):
interactableobjectused
由按鈕事件呼叫,只在按下時執行一次,傳入use物體
interactableobjectunused
由按鈕事件呼叫,只在鬆開時執行一次,傳入unuse物體
分析:這種情況相當於自定義的使用用途,可以自定義用法,比如例子中的openthedoor。
三、傳送
在外掛程式的例子中雷射光線就能實現簡單的傳送,而還有乙個外掛程式叫vr arc teleporter,可以實現比它更好一點的傳送方式,原理為在一幀中發射最多500條逐漸向下的射線,如果碰到地面則中斷得到碰撞點。如果按下trigger則將相機位移至該點。
學習筆記二
1 算符運算子 1 5為1 1 5為 1 即只看被除數的符號。b a 先賦值後運算 a b 先運算後賦值。2 字串資料與任何資料使用 都是相連線,最終都會變成字串,例如 ad 2 結果為 ad2 3 轉義字元 通過 來裝便後面字母或符號的含義 n換行 linux b 退格 r 按下回車鍵,windo...
學習筆記(二)
k 近鄰演算法中的python知識 1.建立乙個3x3的單位矩陣a,a.shape的結果為 3,3 2.建立乙個一維矩陣b,b.shape為矩陣的長度。3.建立乙個4x2的矩陣c,c.shape 1 為第一維的長度 2,c.shape 0 為第二維的長度 4 4.tile函式位於python模組 n...
學習筆記 二
從 站還原表 flashback table to before drop rename to 閃回刪除的表時,恢復的索引 觸發器和約束條件將保留各自的 站名稱。因此,建議在閃回刪除的表前查詢 站和dba constraints。使用這種方法,可以將恢復的索引 觸發器和約束條件重新命名為更實用的名稱...