跳至主要内容
版本: 2.2.0

Haply::Inverse::Unity::Inverse3Body

管理Inverse3设备的身体方向,对指定的游戏对象应用实时方向更新。 更多

继承于Haply.Inverse.Unity.CursorBehaviour, MonoBehaviour

受保护的功能

名称
覆盖 void更新光标()
更新 GameObject 的旋转,使其与相关Inverse3设备的当前方向一致。
虚拟覆盖 void添加设备监听器()
为设备添加监听器。
虚拟覆盖 void删除设备监听器()
删除设备上的监听器。

受保护的财产

名称
覆盖 boolIsUpdateCursorRequired
指示是否需要在下一次调用 FixedUpdate 时调用 UpdateCursor 方法。

公共属性

名称
浮动旋转分辨率
旋转游戏对象所需的最小方向变化。

其他继承成员

继承自Haply.Inverse.Unity.CursorBehaviour的受保护函数

名称
虚拟游戏对象GetModelPrefab()
获取启动时应实例化的 prefab。
虚拟 void醒来()
虚拟 void开启()
空白更新()
空白固定更新()

继承自Haply.Inverse.Unity.CursorBehaviour的公共属性

名称
设备行为设备
控制光标的设备。
变革模型预置
游标模型的预制件,用于显示该行为自动实例化的游标模型。
变革模型父节点
此行为实例化时用作模型预制件父对象的变换。
变革模型
场景中游标模型的实例。
bool隐藏控制器模型
是否隐藏游标模型。
浮动半径
获取模型半径。

继承自Haply.Inverse.Unity.CursorBehaviour的受保护属性

名称
bool设备是否已设置
指示设备是否已设置。

详细说明

class Haply::Inverse::Unity::Inverse3Body;

管理Inverse3设备的身体方向,对指定的游戏对象应用实时方向更新。

Inverse3Body组件会监听来自其关联Inverse3设备的方向变化,并将这些更新应用于其所连接的 GameObject 的变换。这样就能在虚拟环境中同步显示设备的物理方向。

从设备接收到的方向数据可在应用前通过Inverse3.coordinateConverter 进行修改,允许进行轴重新排序、否定和应用旋转偏移等调整。这种灵活性可确保虚拟表示与用户的期望和虚拟场景的具体情况保持一致。

方向更新的灵敏度可通过rotationResolution(旋转分辨率)来控制,它定义了更新游戏对象旋转所需的最小方向变化。这有助于减少抖动和不必要的更新,提高方向表示的平滑度。

该组件需要一个关联的Inverse3设备才能正常工作。它订阅来自设备的方向变化事件,并相应地更新游戏对象的方向。如果设备未设置或断开连接,该组件将停止更新游戏对象的方向。

受保护函数文档

函数 UpdateCursor

override void UpdateCursor()

更新游戏对象的旋转方向,使其与相关Inverse3设备的当前方向一致。

该方法将Inverse3设备的最新方向数据直接应用到 GameObject 的变换中,同时考虑Inverse3.coordinateConverter 中指定的任何修改。每当设备的方向发生重大变化,超过rotationResolution 所定义的阈值时,都应调用该方法。

函数 AddDeviceListeners

virtual override void AddDeviceListeners()

为设备添加监听器。

重实现Haply::Inverse::Unity::CursorBehaviour::AddDeviceListeners

重载后可添加自定义方向监听器。

函数 RemoveDeviceListeners

virtual override void RemoveDeviceListeners()

从设备上删除监听器。

重实现Haply::Inverse::Unity::CursorBehaviour::RemoveDeviceListeners

重载后可移除自定义方向监听器。

受保护财产文件

属性 IsUpdateCursorRequired

override bool IsUpdateCursorRequired;

表示是否需要在下一次调用 FixedUpdate 时调用 UpdateCursor 方法。

如果需要更新光标的方向,该属性将返回 true。当设备的方向发生重大变化,超过rotationResolution 定义的阈值时,该属性就会被设置。

公共属性文档

旋转分辨率变量

float rotationResolution = 0.025f;

旋转游戏对象所需的最小方向变化。

定义方向更新的灵敏度。数值越小,更新越频繁,数值越大,可能会减少抖动,但会降低响应速度。