Transform/Interaction/GrabInstancer

Last-modified: 2024-10-10 (木) 19:30:37


GrabInstancer (グラブ インスタンサー)

掴むと増えるコンポーネント


項目

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

Template:
雛形(複製元)を指定する。
掴むと、このスロットが複製されて掴まれる。(ContainerTemplateを指定している場合は、そちらの子になる。)

ContainerTemplate:
上記の雛形を入れるための容器を指定する。
掴むと、このスロットも複製されて上記Templateで指定したスロットを配下にして掴まれる。
複数のGrabInstancerで共通の容器を指定できるので、【容器+雛形1】,【容器+雛形2】…のように組み合わせて使う事ができます。

ContainerTemplateInstanceRoot:
容器のどこに雛形を入れるか指定する。
指定しないと容器スロットの直下に入る。

ActivateRoot:
掴んで複製した雛形又は容器スロットのActiveをTrueにする。

EnableGrabbable:
掴んで複製した雛形又は容器スロットのGrabbableをTrueにする。
雛形又は容器スロットのGrabbableはFalseにしておくと、複製元スロットを掴まれる心配がありません。

SetInstancePersistent:
掴んで複製した雛形又は容器スロットのPersistentをFalseにする。
PersistentがFalseだと、そのスロットは保存されません。この設定を活用する事で、ゴミを残さない素晴らしいアイテムが作れます。

ちなみに、この項目の型はNullable<T>です。検索するときは、型の後ろに「?」を付けます。(bool?やfloat?等)
左側をTrueにすると動作します。次に右側のvalueで値を指定します。
実質的には複製したスロットのPersistentをFalseにする為に使用する事になるので、右側のvalueはFalseのまま使うことになります。


ExcludedParts(list):
Addを押すとリストが増える。
増やしたくないスロットを指定する。ここで指定されたスロットは複製対象から除外されます。

Physical:
レーザーで掴めなくする。(Falseならレーザーでも掴める。)

GrabPriority:
掴む優先度。複数の物を同時に掴んだ際、数字が大きい方が優先される。
ちゃんと設定すれば、アイテムがより使いやすくなります。


使用例

  • このコンポーネントと同じスロット又は配下のスロットにColliderが必要です。
  • Boxを増やす設定方法を解説します。
    1,Boxに親スロットを作成して、GrabInstancerコンポーネントをアタッチ。
    2,BoxスロットのGrabbableコンポーネントのEnabledをFalseにする。
    3,BoxスロットをGrabInstancerコンポーネントのTemplate欄に入れる。


その他

  • アセット(メッシュやマテリアル等)を雛形の中に入れてしまうと、掴む度にアセットも増えちゃうので、入れないようにしましょう。アセット(特にマテリアル)が増えると、容量も処理負荷も重くなります。
    アセットは『Destroy Preserving Assets』♻ボタンで、Root直下のAssetsスロットに自動格納させるか、雛形とは別階層のスロットに入れておきましょう。
  • 特殊な条件下で使用すると、雛形の方が掴まれちゃうバグがあるけど、発生条件忘れちゃった。普通に使う分には心配する必要はないです。おそらく、そのバグを引き当てる事ができる技術をお持ちなら、簡単に対処できるはずです。