一、Indicators指标的使用
首先我们先导入功能包,导入功能包过程在这就不讲解了与上一篇文章中的导入方法一致。在此还需导入Input功能包
Indicators中包含了objectpointers对象指针与spatialtargets空间目标两个功能模块,首先我们先来看objectpointers,导入功能包后首先将上节课的UnityXR以及TrackedAlias导入,然后在Hierarchey面板上右键选择Tilia->Prefabs->Indicators->ObjectPointers->Indicators.ObjectPointers.Curved导入曲线,导入后然后在Indicators.ObjectPointers.Curved下的脚本PointerFacade属性中的FollowSource中我们需要指定一下我们曲线需要跟随哪个手柄这里我们指定右手的手柄,然后下面我们还需要指定一下ActivationAction(激活的动作),意思是使用什么方式来激活我们的手柄,这时候我们就需要使用输入事件了,首先在Hierarchey面板上右键选择Tilia->Prefabs->Input->UnityInputManager->ControllerMappings->Input.UnityInputManager.OpenVR.RightController,这里我们将右手的控制器导入,使用右手发射曲线,然后我们展开Input.UnityInputManager.OpenVR.RightController可以看到手柄的按键,RightTrackpad代表手柄圆盘的触摸以及按键,RightTrigger代表手柄的扳机键,RightGrip代表抓握的按键。RightButtonPrimary_Press[0]代表手柄的菜单键
展开RightTrackpad可以看到圆盘的触摸的HorizontalAxis轴和VerticalAxis轴,可以看到触摸的,这里的RightTrackpad_HorizontalAxis[4]与RightTrackpad_VerticalAxis[5]都是一个1DAction是一个值,有一个范围,而RightTrackpad_Touch[17]是一个boolAction,下面我们就可以指定一下Indicators.ObjectPointers.Curved中ActivationAction的值了,这里我们设计将右手扳机键做为发射曲线的按键,所以我们键Input.UnityInputManager.OpenVR.RightController下的RightTrigger_Touch[15]赋值在ActivationAction。
二、更改射线的样式
我们可以展开直线的预制体可以看到里面又起始点Origin,中间的线RepeatedSegment以及终点的Destination,这时候我们就可以直接更改里面的游戏物体。