SpawnOffset の設定項目
SpawnOffset は、Spawn後の移動先を基準として、アイテム固有の位置と回転の補正を追加します。
| 項目 | 型 | 説明 |
|---|---|---|
| Position Offset Y | float | 移動先TransformのローカルY軸方向へ加える位置オフセット 既定値は 0 |
| Rotation Offset | Vector3 | 移動先の回転へ追加するX、Y、Z回転オフセット 既定値は (0, 0, 0) |
計算方法
位置と回転は、移動先のTransformを基準に次のように計算されます。
position = destination.position
+ destination.rotation * (Vector3.up * positionOffsetY);
rotation = destination.rotation
* Quaternion.Euler(rotationOffset);
このため、Position Offset Y は傾いた Spawn Point のローカル上方向へ適用され、Rotation Offset は移動先の向きを基準とするローカル回転になります。
手元移動時は基準回転に Quaternion.identity を使用します。
配置場所と適用範囲
通常アイテムでは、SpawnOffset を VRCObjectPool に登録するルートGameObjectへ追加します。Helper付きアイテムでは、Return Base Go または HG Base に指定したGameObjectへ追加することもできます。
次の場合にだけ適用されます。
- 手元への移動
- 単一の
Spawn Pointへの移動 - 複数の
Spawn Pointsから選択された地点への移動
移動先がない場合とReturn時には適用されません。HGSpawnHelper、CompSpawnHelper を使用するアイテムにも対応しています。
ObonEasy連携
ObonEasy v3.0以降の TrayItem または TrayItemManual がある場合、そのコンポーネントの Position Offset Y と Rotation Offset を SpawnOffset の代わりに使用できます。ObonEasyは必須依存ではありません。
検索対象は次のとおりです。
| 移動処理 | TrayItem系コンポーネントの検索対象 |
|---|---|
| 通常アイテム | Spawnルート |
CompSpawnHelper | Return Base Go |
HGSpawnHelper | HG Base |
指定されたGameObjectだけを検索し、子階層は検索しません。Helper付きアイテムでは、TrayItem系コンポーネントと同じ Return Base Go または HG Base から SpawnOffset も検索します。
オフセットの優先順位は次のとおりです。
- Spawnルートの
SpawnOffset - Helper付きの場合、
Return Base GoまたはHG BaseのSpawnOffset - 構成に応じた検索対象の
TrayItemManualまたはTrayItem - オフセットなし
ObonEasy v3.0より前のフィールド構成には対応していません。
設定手順は Spawn時の位置・回転を調整する をご覧ください。