PickupをSpawn対応にする
Object Spawn Systemでは、基本的に VRCPickup を持つオブジェクトをSpawn対象として使用します。
このページでは、ワールド内に配置済みのPickupを、Object Spawn Systemで扱える構成へ変更します。
必要な構成
Spawn対象のGameObjectに、次のコンポーネントがあることを確認してください。
| コンポーネント | 用途 |
|---|---|
VRCPickup | プレイヤーがオブジェクトを持てるようにする |
Rigidbody | Pickupの物理挙動を制御する |
Collider | PickupとReturnトリガーの衝突を検出する |

位置・回転などをプレイヤー間で同期する場合は、用途に応じた同期コンポーネントも使用してください。VRCObjectSync はその選択肢の1つですが、Object Spawn Systemの動作に必須ではありません。
1. 対象のGameObjectを確認する
Hierarchyで、Object Spawn Systemから表示したいPickupを選択します。
標準版では、次の対象が同じGameObjectである必要があります。
VRCObjectPoolに登録するGameObjectVRCPickupを持つGameObject- Returnトリガーへ入るColliderを持つGameObject
標準版で扱える構造
VRCPickup やReturn判定に使うColliderが子GameObjectにあるなど、上記と異なる構造のアイテムを利用したい場合は、オブジェクト スポーン拡張 をご利用ください。
2. 専用レイヤーを設定する
Object Spawn SystemのReturn対象専用レイヤーを用意することを推奨します。
- UnityのLayer設定へ新しいレイヤーを追加する
- Spawn対象かつPickupであるGameObjectに、作成したレイヤーを設定する
- 必要に応じて子GameObjectにも同じレイヤーを設定する。ただし、標準版でReturn判定に使用するColliderは、
VRCObjectPoolに登録するGameObjectと同じGameObjectへ設定する - 後で作成する
ReturnObjectのLayerに、同じレイヤー番号を設定する

Layer の対応Pickup側のGameObjectと ReturnObject の Layer には、同じレイヤー番号を設定してください。
番号が一致しない場合、PickupをReturnトリガーへ入れても非表示になりません。
準備ができたら、VRCObjectPoolを設定する へ進み、用意したGameObjectをPool配列へ登録します。