Skip to main content

Snapper(吸附器)和Snap Target(吸附目标)

Snapper 组件介绍

Snapper(吸附器)组件允许其所在的 Slot(插槽)将父级变更为 SnapTarget(吸附目标)所在的 插槽。Resonite组件如图所示

20260204160858_1.jpg

用法

属性名称 类型 描述
UseBoundingBoxCenter
(使用边界框中心)
Bool  
SnapCheckRadius
(吸附检测半径)
Float  
CheckStaticColliders
(检测静态碰撞体)
Bool 允许 Snapper(吸附器) 寻找设置为 Static(静态)而非 Trigger(触发器)的碰撞体。
SnapTargetWhitelist
(吸附目标白名单)
List<SnapTarget> 该 Slot 可以附着的 Snap Target 列表。
Keywords
(关键词)
List<String> 用于匹配对应 Snap Target 的关键词列表。可以包含多个关键词以吸附到多个不同的 Snap Target 上。

行为机制

该组件允许其驻留的 Slot 吸附到另一个 Slot 中的 Snap Target 上。

SnapTargetWhitelist(吸附目标白名单) 允许你指定一个该组件将链接到的 SnapTarget 列表,以便你限制其可吸附的范围。

Keywords(关键词) 列表允许你提供一组单词,Snap Target 可以利用这些单词来筛选特定类型的吸附器(Snapper)。

重要提示: 此组件必须与 Grabbable 组件放置在同一个 Slot 中(通常是你希望吸附的对象的根链接层级)。一旦吸附成功,该组件所在的 Slot 将会成为吸附目标(Snap Target)的子节点。

示例

如后面个人解释

SnapTarget(吸附目标)组件介绍

SnapTarget(吸附目标)组件允许带有 Snapper(吸附器)组件的插槽(Slot)附着到当前插槽上。

用法

属性名称 类型 描述
SnapperWhitelist
(吸附器白名单)
List<Snapper> 允许附着到此组件的 Snapper 列表。
SnapperKeywordWhitelist
(吸附器关键词白名单)
List<String> 用于匹配对应 Snapper 的关键词列表。
Filters
(过滤器)
List<SnapperFilter> (文档待完善)
DirectSnapOnly
(仅直接吸附)
Bool 未使用
MaximumSnapDistance
(最大吸附距离)
Float Snapper 能与 Target 发生吸附的最大距离。该值驱动 SphereCollider(球形碰撞体)的半径。
MaximumAngleDeviation
(最大角度偏差)
Float (文档待完善)
AnimationTime
(动画时间)
Float Snapper 插值移动(平滑过渡)到 Target 所需的时间。
AutoSnap
(自动吸附)
Bool (文档待完善)
_snapColliderRadius FieldDrive<Float> SphereCollider 的半径驱动引用。
proxySphere
(代理球体)
SphereCollider 当 SnapTarget 添加到 Slot 时,一同被添加的 SphereCollider 的引用。

行为机制

该组件允许包含它的 Slot 接收包含 Snapper 组件的 Slot。发生吸附时,Snapper 所在的 Slot 将进入 SnapTarget Slot 的层级结构中(成为子物体),并定位到中心位置。

SnapperWhitelist(吸附器白名单) 允许你指定允许与该 SnapTarget 链接的特定 Snapper 组件。

SnapperKeywordWhitelist(吸附器关键词白名单) 允许具有相同关键词的 Snapper 与该 SnapTarget 链接。

示例

如后面个人解释

个人解释

目前在Resonite上制作枪械而言,至少是弹夹来说,是不依赖于动画实现的,所以在Resonite中,是可以实现像H3VR那样精确地完成换弹等各种动画。

枪械这一点上要注意的是,大部分枪都是自带SkinMeshRender的,这种蒙皮骨骼会很影响操作,并且不能用作在吸附器上,所以在使用的时候,先在游戏里把它烘焙成静态网格再进行。