Unity XR Interaction Toolkit 组件解析(二)Select Action Trigger 参数(State,State Change,Toggle, Sticky)

XR Direct Interactor 脚本和 XR Ray Interactor 脚本中有个名叫 Select Action Trigger 的参数。

Unity XR Interaction Toolkit 组件解析(二)Select Action Trigger 参数(State,State Change,Toggle, Sticky)_第1张图片

Unity XR Interaction Toolkit 组件解析(二)Select Action Trigger 参数(State,State Change,Toggle, Sticky)_第2张图片

它决定了 XR Controller 的 Select Action 要如何被触发。

Unity XR Interaction Toolkit 组件解析(二)Select Action Trigger 参数(State,State Change,Toggle, Sticky)_第3张图片

每个参数的意思可以参考官方文档:https://docs.unity3d.com/Packages/[email protected]/manual/xr-direct-interactor.html

Unity XR Interaction Toolkit 组件解析(二)Select Action Trigger 参数(State,State Change,Toggle, Sticky)_第4张图片

但是官方的解释可能有些难懂,我这里就配合图文,讲一下我个人的理解。

首先讲一下 Toggle 和 Sticky,这两个相对而言比较好理解。我们就以抓取这个交互为例,抓取的 Select Action 绑定的是 “按下手柄抓取键” 这个动作。

如果选择了 Toggle,靠近物体按下手柄抓取键,物体会被抓在手上,但是这时候即使松开了抓取键,物体还是会被抓在手上,只有等到下一次按下抓取键,物体才会被释放。如果选择了 Sticky,靠近物体按下手柄抓取键,物体会被抓在手上,即使松开了抓取键,物体还是会被抓在手上,但是只有等到下一次按下抓取键并松开抓取键,物体才会被释放

Toggle:

Unity XR Interaction Toolkit 组件解析(二)Select Action Trigger 参数(State,State Change,Toggle, Sticky)_第5张图片

Sticky:

接下来说一说 State 和 State Change 的区别。官方的解释看起来可能不大好理解。从实际使用体验上来看,在可抓取物体的 Select Mode 选择了 Single, 也就是只允许单手抓取的前提下,对这个物体进行左右手切换抓取,就能看出显著的区别。

Unity XR Interaction Toolkit 组件解析(二)Select Action Trigger 参数(State,State Change,Toggle, Sticky)_第6张图片

如果选择了 State,会有一只手无法接管另一只手的抓取权,可能出现在左手,也可能出现在右手。举个例子,可能右手柄按着抓取键将物体抓在手中的时候,左手柄按下抓取键无法接管抓取权,也就是无法切换到左手进行抓取,这种情况下只有先松开右手手柄抓取键才会进行切换抓取。

如果选择了 State Change,则可以随意切换抓取。因为推荐大家在抓取功能上使用 State Change。

State:

State Change:

Unity XR Interaction Toolkit 组件解析(二)Select Action Trigger 参数(State,State Change,Toggle, Sticky)_第7张图片

你可能感兴趣的:(#,XR,Interaction,Toolkit,组件解析,unity,xr,游戏引擎)