Spawn時の位置・回転を調整する
SpawnOffset を使用すると、手元または Spawn Point へ移動するアイテムに、位置と回転のオフセットを追加できます。大きさや原点、正面方向が異なるアイテムを、同じ出現地点へ自然に配置したい場合に使用します。
設定手順
VRCObjectPoolのPoolに登録したアイテムのルートGameObjectを選択するSpawnOffsetコンポーネントを追加するPosition Offset Yに、移動先から上下へずらす距離を設定するRotation Offsetに、移動先へ追加するX、Y、Z回転角度を設定するSpawnObjectExtからアイテムをSpawnし、位置と向きを確認する
通常アイテムでは、SpawnOffset を VRCObjectPool に登録するルートGameObjectへ追加してください。Helper付きアイテムでは、Spawnルートに加えて Return Base Go または HG Base に指定したGameObjectも検索対象になります。それ以外の子GameObjectに追加した SpawnOffset は使用されません。
位置オフセットの方向
Position Offset Y は、ワールドのY軸ではなく、移動先TransformのローカルY軸方向へ適用されます。
例えば Spawn Point が傾いている場合は、その傾きに合わせた上方向へアイテムが移動します。正の値でローカル上方向、負の値でローカル下方向へ移動します。
Move Item To Hand では手の位置を移動先として使用し、基準回転はありません。そのため、位置オフセットはワールドのY軸方向へ適用されます。
回転オフセット
Rotation Offset は、X、Y、Zで指定した回転を移動先の回転へ追加するローカル回転です。Spawn Point の向きを基準に、アイテム固有の正面や傾きを調整できます。
適用される条件
オフセットは、次のいずれかによってSpawn後の移動が行われる場合に適用されます。
Move Item To Handが有効- 単一の
Spawn Pointが指定されている - 複数の
Spawn Pointsから有効な移動先が選ばれる
移動先が指定されておらず、アイテムが VRCObjectPool の位置にそのまま出現する場合、位置・回転オフセットは適用されません。Return時にも適用されません。
Helperコンポーネントとの併用
HGSpawnHelper または CompSpawnHelper を持つアイテムにも使用できます。HelperはPoolへ登録するルートGameObjectへ追加してください。SpawnOffset は同じSpawnルート、またはHelperの HG Base / Return Base Go に指定したGameObjectへ追加できます。両方にある場合はSpawnルートの設定が優先されます。
Helperの Move Delay 後に、オフセットを含む位置と回転へ移動します。
ObonEasyの設定を流用する
ObonEasy v3.0以降を導入している場合は、SpawnOffset を追加せず、TrayItem または TrayItemManual の Position Offset Y と Rotation Offset をSpawn時にも使用できます。
この連携機能にはObonEasy v3.0以降が必要です。旧バージョンのObonEasyには対応していません。ObonEasyを導入していない環境では、TrayItem系コンポーネントの検索を行った結果が未検出となるだけで、Object Spawn Extensionは通常どおり動作します。
TrayItem系コンポーネントの検索対象は、アイテム構成によって異なります。
| アイテム構成 | 検索対象 |
|---|---|
| Helperなしの通常アイテム | VRCObjectPool に登録したSpawnルート |
CompSpawnHelper | Return Base Go に指定したGameObject |
HGSpawnHelper | HG Base に指定したGameObject |
子階層全体や、上記以外のPickupは検索しません。対象となるGameObjectへ TrayItem または TrayItemManual を追加してください。
通常アイテムでは、Spawnルートの SpawnOffset だけを検索します。Helper付きアイテムでは、Spawnルートに加えて Return Base Go または HG Base にある SpawnOffset も検索します。
Helper付きアイテムの優先順位は次のとおりです。
- Spawnルートの
SpawnOffset Return Base GoまたはHG BaseのSpawnOffset- 同じBaseGoの
TrayItemManualまたはTrayItem
複数のオフセットが加算されることはありません。
動作確認
Position Offset Yへ分かりやすい正の値を設定する- アイテムをSpawnし、出現地点のローカル上方向へ移動することを確認する
Spawn Pointを傾け、傾きに合わせて位置オフセットの方向が変わることを確認するRotation Offsetを設定し、出現地点の向きを基準に回転が追加されることを確認する- ObonEasyと連携する場合は、
SpawnOffsetを外した状態でもTrayItem系コンポーネントのオフセットが反映されることを確認する
各項目の詳細は SpawnOffset の設定項目 をご覧ください。