一、Indicators指標(biāo)的使用
首先我們先導(dǎo)入功能包,導(dǎo)入功能包過程在這就不講解了與上一篇文章中的導(dǎo)入方法一致。在此還需導(dǎo)入Input功能包
Indicators中包含了objectpointers對象指針與spatialtargets空間目標(biāo)兩個(gè)功能模塊,首先我們先來看objectpointers,導(dǎo)入功能包后首先將上節(jié)課的UnityXR以及TrackedAlias導(dǎo)入,然后在Hierarchey面板上右鍵選擇Tilia->Prefabs->Indicators->ObjectPointers->Indicators.ObjectPointers.Curved導(dǎo)入曲線,導(dǎo)入后然后在Indicators.ObjectPointers.Curved下的腳本PointerFacade屬性中的FollowSource中我們需要指定一下我們曲線需要跟隨哪個(gè)手柄這里我們指定右手的手柄,然后下面我們還需要指定一下ActivationAction(激活的動作),意思是使用什么方式來激活我們的手柄,這時(shí)候我們就需要使用輸入事件了,首先在Hierarchey面板上右鍵選擇Tilia->Prefabs->Input->UnityInputManager->ControllerMappings->Input.UnityInputManager.OpenVR.RightController,這里我們將右手的控制器導(dǎo)入,使用右手發(fā)射曲線,然后我們展開Input.UnityInputManager.OpenVR.RightController可以看到手柄的按鍵,RightTrackpad代表手柄圓盤的觸摸以及按鍵,RightTrigger代表手柄的扳機(jī)鍵,RightGrip代表抓握的按鍵。RightButtonPrimary_Press[0]代表手柄的菜單鍵
展開RightTrackpad可以看到圓盤的觸摸的HorizontalAxis軸和VerticalAxis軸,可以看到觸摸的,這里的RightTrackpad_HorizontalAxis[4]與RightTrackpad_VerticalAxis[5]都是一個(gè)1DAction是一個(gè)值,有一個(gè)范圍,而RightTrackpad_Touch[17]是一個(gè)boolAction,下面我們就可以指定一下Indicators.ObjectPointers.Curved中ActivationAction的值了,這里我們設(shè)計(jì)將右手扳機(jī)鍵做為發(fā)射曲線的按鍵,所以我們鍵Input.UnityInputManager.OpenVR.RightController下的RightTrigger_Touch[15]賦值在ActivationAction。
二、更改射線的樣式
我們可以展開直線的預(yù)制體可以看到里面又起始點(diǎn)Origin,中間的線RepeatedSegment以及終點(diǎn)的Destination,這時(shí)候我們就可以直接更改里面的游戲物體。