Transform/Interaction/Snapper

Last-modified: 2025-07-13 (日) 18:30:14


Snapper (スナッパー)

手から離れると、SnapTargetコンポーネントが付いているスロットに引き寄せられてくっ付くコンポーネント


項目

Enabled:
このコンポーネントを有効にするかどうか。

UseBoundingBoxCenter:
バウンディングボックスの中央位置が範囲に入ったら作用する。
初期設定(False)だと原点位置が範囲に入ると作用する。

SnapCheckRadius:
SnapTargetに反応する距離。(SnapTarget側のDirectSnapOnlyをTrueにすると使える。)
SnapTarget側のMaximumSnapDistanceと合わせて、それぞれ設定する必要があります。

CheckStaticColliders:
???(Staticタイプのコライダーでも反応する設定っぽいけど、試してもダメだった。どうやって使うの?)

SnapTargetWhitelist(list):
Addを押すと増える。
SnapTargetコンポーネントを指定すると、そのSnapTargetのみ作用する。

Keywords(list):
Addを押すと増える。
キーワードを指定すると、そのキーワードに合うSnapTargetのみ作用する。
SnapTarget側にも同じキーワードを設定する必要がある。


使用例

  • Grabbable等が付いてるスロットと同じスロットにアタッチ。
  • SnapTargetコンポーネントと組み合わせて使用します。
  • 帽子の着脱を例にします。
  1. 帽子スロットは掴める必要があるので、GrabbableやColliderを事前に設定しておきます。(Activeタイプのコライダーは正しく動作しません。)
  2. 帽子スロットをHeadスロットの中に入れて子にします。
  3. 帽子の位置・回転・縮尺を適当に合わせます。
  4. 帽子スロットの親スロットを作り、その親スロットにSnapTargetコンポーネントをアタッチ。
  5. 帽子スロットにはSnapperコンポーネントをアタッチ。
  6. あとは、各設定を適当に弄って完成です。


その他

  • Snapという似た名前のコンポーネントがありますが、無関係です。
  • Grabbableの設定項目にActiveUserFilterやOnlyUsers(list)があります。これを適切に設定する事で、自分だけが取外しできるようになります。
    他人に外されたくないアバターアクセサリー等は、Grabbableの各種設定を適切に行いましょう。
  • 外した帽子等をセッションに置き忘れることがありますので、DestroyOnUserLeave等を設定して自動的に破棄されるようにしておくと安心です。特に、再配布不可な物にはSimpleAvatarProtectionを必ず設定しましょう。
  • EEシステム(イージーエクイップ?)というものがありますが、こちらはSnapperと機能が似ていますが全くの別物です。
    EEアイテムはどのアバターでも全身に手軽にくっ付けることができる一方で、確実に同じ場所に付けることは不可能です。
    そのため、自分自身のアバターアクセサリー着脱にはEEシステムよりもSnapperの方が向いています。
    (また、全身に対応しているEEシステムよりも、個別部位に特化したFluxを組んだ方がシンプルで軽いアイテムが作れます。)