關於VRTK手柄抓取物體(入門)

關於VRTK手柄抓取物體(入門)

在使用SteamVR和VRTK的插件做VR項目時,我們總避免不了做交互,而在VR項目中,抓取這個交互,一般是最具吸引力和必須的,本節就來說一下通過HTC VIVIE手柄抓取物體的操作流程:
1.先搭建好VRTK和Steam VR的環境,再選擇左手或者右手控制器,添加VRTK_InteractGrab和VRTK_InteractTouch兩個腳本,如下圖:
這裏寫圖片描述
具體參數如下:
Grab Button:抓取時按下哪個鍵
Grab Precognition:預知抓取,值越大,能夠越早抓取到物體,特別是對於快速運動的物體
Throw Multiplier:抓取之後丟出的力度,值越大,丟的越遠,
Create Rigid Body When Not Touch :當手柄碰到被抓取的物體時,給手柄添加剛體
Controller Attach Point:在控制器模型的剛體點捕捉抓住對象。如果空白,將設置爲SDK默認值。
Controller Event:控制器事件
Interact Touch:觸摸事件

2.然後再添加一個物體,比如一個cube,作爲被抓取的物體,被抓取物體要添加碰撞器,再添加VRTK_InteractableObject腳本:
這裏寫圖片描述

具體參數如下:
Disable When Idle:當物體處於靜止時,可交互腳本被禁用
Touch Options
Touch HightLight Color:設置觸摸物體時,物體的高亮顏色
Allow Touch Controller:設置哪個手柄可以接觸這個物體。
Ignored Collider:添加被抓取可以被忽略的碰撞器

Grab Options
Is Grabbale:該物體是否能被抓握。這個非常重要
· Hold Button To Grab:如果勾選,則抓住放開之後,被抓取物體不處於被抓取狀態,之後便會出現掉落之類的現象,如果不勾選,放開之後,被抓去物體還是處於抓取狀態,會跟着手柄一起運動
Stay Grabbed On Teleport:處於瞬移的時候,是否可以進行抓住物體

Valid Drop: 設置物體是否能被扔掉。
No Drop:不能被扔掉
Drop Anywhere:可以扔在任何地方
Drop Valid Snap Drop Zone:只有當被抓取物體懸停在有效的彈出區域時,物體才能被抓取。

Grab Override Button: 默認設置爲Undefined,這樣會使用全局的抓取按鍵設置來抓取物體;設置成其他按鍵的話,會覆蓋全局的設置,一般建議使用Undefined。
Allowed Grab Controllers: 設置哪個控制器可以進行抓取操作。
Grab Attach Mechanic: 固定的固定關節點腳本
Secondary Grab Action Scripts:輔助控制器腳本
Use Options
Is Usable:是否可以使用
Hold Button To Use:按住按鍵是否可以使用
Use Only If Grabbed:僅僅當抓住的時候可以被使用
Pointer Activates Use Action:如果勾選,當手柄發射的射線碰到了交互對象,如果物體的Hold Button To Use沒有勾選的話,當射線停在物體上的時候就會運行對象的StartUsing方法,射線移開失效就會運行StopUsing方法。這個選項在被勾選以後,爲了防止在用射線來使用對象時發生不必要的傳送,就不會註冊目標點設置( Destination Set )事件。
Use Override Button: 默認設置爲Undefined,這樣會使用全局的抓取按鍵設置來使用物體;設置成其他按鍵的話,會覆蓋全局的設置,一般建議使用Undefined。
Allow Touch Controller:設置哪個手柄可以接觸這個物體。
3.設置好之後,運行遊戲,按下Grip鍵,碰到物體物體變藍,然後可以抓取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章