Skip to main content

RawDataTool 组件

RawDataTool 组件介绍

RawDataTool(原始数据工具)组件用于创建多种不同的工具,它允许获取装备该工具的手部的相关动作数据。该组件关联了一个 ProtoFlux 节点(RawDataTool Events)。Resonite组件如图所示。

20260204165228_1.jpg

字段

属性名称 类型 描述
_equipLink LinkTarget<ITool> (ITool 内部引用)
TipReference
(末端参考点)
Slot (ITool 标准字段:工具作用点的参考 Slot)
BlockGripEquip
(阻止握柄装备)
Bool (ITool 标准字段:禁止通过握柄键装备)
BlockRemoteEquip
(阻止远程装备)
Bool (ITool 标准字段:禁止远程激光装备)
EquipName
(装备名称)
String 工具的名称。
_overrideActiveTool
(覆盖活跃工具)
InteractionHandler (内部使用)
_gripPosesGenerated Bool (内部使用:是否已生成握持姿态)
LocalTipOffset
(本地末端偏移)
Float3 工具及其激光的偏移量。
LocalTipReference
(本地末端参考点)
Slot 用作激光源和末端位置的 Slot。
UseLaser
(使用激光)
Bool 是否启用激光功能及其视觉效果。
BlockPrimaryWhenTouching
(接触时阻止主按键)
Bool 当工具接触墙壁时,阻止使用主按键(Primary)。
UseSecondary
(使用副按键)
Bool 允许使用副按键(Secondary)。
注意:在 Quest 上禁用此项会关闭“坦克式控制(Tank Controls)”模式(这是 Resonite 社区中许多 Quest 用户不喜欢的移动模式)。
AllowUseWhenHolding
(允许握持时使用)
Bool 允许用户在仅“握住”(Holding)工具而不是“装备”(Equipped)工具时使用它。
Equipped
(已装备)
Bool 工具是否处于已装备状态。如果用户握住工具末端,此项也会返回 True。通常被称为“软装备(Soft Equipping)”或“伪装备”。
ControllerType
(控制器类型)
SyncType 持有此工具的控制器的 Type(C# 类)。
ControllerSide
(控制器侧)
Chirality 持有此工具的是左手、右手还是无控制器。
PrimaryStrength
(主按键力度)
RawOutput<Float> 该手主按键的实时更新力度值。适用于 VR 控制器或游戏手柄类控制器。
SecondaryAxis
(副按键轴)
RawOutput<Float2> 该手用于副按键操作的触控板上的拇指位置。
Primary
(主按键)
RawOutput<Bool> 用户是否按下了该手的主按键(Primary)。参见 Controls
Secondary
(副按键)
RawOutput<Bool> 用户是否按下了该手的副按键(Secondary)。参见 Controls
_primaryStrengthStream ValueStream<Float> 主按键力度的数据流。源自用户的数据流,可通过 User Inspector 查看。
_secondaryAxisStream ValueStream<Float2> 副按键轴的数据流。源自用户的数据流,可通过 User Inspector 查看。
_primaryStream ValueStream<Bool> 主按键按下状态的数据流。源自用户的数据流,可通过 User Inspector 查看。
_secondaryStream ValueStream<Bool> 副按键按下状态的数据流。源自用户的数据流,可通过 User Inspector 查看。
_rawStrength Float 主按键力度的原始未过滤值。
_rawAxis Float2 副按键轴的原始未过滤值。
_rawPrimary Bool 主按键按下状态的原始未过滤值。
_rawSecondary Bool 副按键按下状态的原始未过滤值。
PrimaryActionDescription
(主动作描述)
String 设置标签,告知用户此工具的主按键(Primary)是做什么的。
SecondaryActionDescription
(副动作描述)
String 设置标签,告知用户此工具的副按键(Secondary)是做什么的。

用法

将此组件附加到一个 Slot 上,它将生成该工具工作所需的子 Slot。

该组件需要在其 Slot 层级中包含一个 Collider(碰撞体),以便工具可以被抓取和使用。通常需要将此工具与 ProtoFlux 或其他组件结合使用,以添加自定义行为逻辑。

示例

暂无示例。RawDataTool一般情况下,是给PC这些无法直接抓握而存在的。因此,一般情况下是要搭配着RawDataaToolEvents来一起使用。

image.png