QCHT互动工具包能够在手部追踪和控制器之间实现无缝切换,前提是控制器可用。
基于XRIT,不论是手部追踪还是控制器,交互实现方式都保持一致。只需使用XR Switch Hand To Controller Manager组件即可启用该系统。
双手和控制器分别由它们自己的XR控制器驱动,并设置了各自的XR互动器。
XR Switch Hand To Controller Manager组件提供了两种切换规则:
● 双控制器同时连接:一旦左右两个控制器都处于活动状态,系统将停止手部追踪并启用控制器。若其中一个控制器电池耗尽或仍放置在表面上,则系统重新启用手部追踪并激活之。
● 至少有一个控制器连接:只要有一个控制器活动,系统即停止手部追踪并启用控制器。
Integration
在场景中的任何对象(例如XR原点)上添加一个XRSwitchHandToControllerManager组件,并根据以下示例设置isLeftControllerTracked和isRightControllerTracked变量,使用左右XR控制器的isTracked动作。
在场景层次结构中添加手部使用的QualcommHandControllerLeft和QualcommHandControllerRight预制体实例,以及控制器使用的QualcommControllerLeft和QualcommControllerRight。它们应该作为子对象被放置在摄像机偏移或ARSession Origin游戏对象下,以确保正常运作。
将这些预制体实例QualcommHandControllerLeft和QualcommHandControllerRight分配给XRSwitchHandToControllerManager组件的Left/Right Hand Controller和Left/Right Controller属性,具体操作如下所示。
在这个例子中,将使用Oculus Touch控制器交互配置文件中的isTracked动作来实现手部和控制器之间的切换。
请确保在项目设置的OpenXR设置中选择了Oculus Touch控制器作为交互配置文件。