メインコンテンツまでスキップ

Returnトリガーを作る

Returnトリガーへ表示中のオブジェクトを入れると、PickupをDropした後、そのオブジェクトを非表示にします。Extension版では、ReturnObjectExt を使用します。

設定手順​

  1. HierarchyにReturnトリガー用のGameObjectを追加する
  2. ReturnObjectExt コンポーネントを追加する
  3. Colliderを追加し、Is Trigger を有効にする
  4. Pools に、非表示にする対象が登録された VRCObjectPool のGameObjectを登録する
  5. Layer を、Return対象のColliderを持つGameObjectのレイヤー番号にする

ReturnObjectExtとColliderを設定したInspector

既定のLayerは 13 で、VRChatのPickupレイヤーを示します。

専用レイヤーを使用する

Object Spawn Extensionと関係のないPickupが同じレイヤーに設定されている場合、そのPickupがReturnトリガーへ入ると強制的にDropされてしまい、取り出せなくなります。意図しない反応を防ぐには、Return対象専用のレイヤーを使用してください。

専用レイヤーの作成方法は、PickupをSpawn対応にする をご覧ください。

ReturnトリガーのCollider範囲を表示したSceneビュー

複数のPoolを登録する​

Pools には、次のどちらも登録できます。

  • VRCObjectPool コンポーネントがあるGameObject
  • 複数の VRCObjectPool を子に持つ親GameObject

料理や飲み物など、種類ごとに VRCObjectPool を分ける場合は、空の親GameObject以下にまとめます。

ObjectSpawnPools
├─ FoodPool
├─ DrinkPool
└─ DessertPool

この例では、ObjectSpawnPools を Pools へ登録すると、その子階層にあるすべての VRCObjectPool がReturn対象になります。

別のReturnObjectと設定を共有する​

複数のReturnトリガーで同じPool設定を使う場合は、Reference へ設定済みの ReturnObject または ReturnObjectExt を登録します。

Reference を使用すると、現在の Pools に加えて、参照先に設定された Pools も検索対象になります。現在の Pools を空にする場合は、Reference を設定してください。

動作確認​

  1. Spawnスイッチからオブジェクトを表示する
  2. 表示したオブジェクトをReturnトリガーへ入れる
  3. PickupがDropされ、オブジェクトが非表示になることを確認する

Pickupが子階層にあるアイテムでは、複雑なPickupを設定する の手順でHelperコンポーネントを追加してください。

各項目の詳細は ReturnObjectExt の設定項目 をご覧ください。

必要に応じて、Resetスイッチを作る へ進んでください。