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

SpawnOffset の設定項目

SpawnOffset は、Spawn後の移動先を基準として、アイテム固有の位置と回転の補正を追加します。

項目型説明
Position Offset Yfloat移動先TransformのローカルY軸方向へ加える位置オフセット
既定値は 0
Rotation OffsetVector3移動先の回転へ追加する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ルート
CompSpawnHelperReturn Base Go
HGSpawnHelperHG Base

指定されたGameObjectだけを検索し、子階層は検索しません。Helper付きアイテムでは、TrayItem系コンポーネントと同じ Return Base Go または HG Base から SpawnOffset も検索します。

オフセットの優先順位は次のとおりです。

  1. Spawnルートの SpawnOffset
  2. Helper付きの場合、Return Base Go または HG Base の SpawnOffset
  3. 構成に応じた検索対象の TrayItemManual または TrayItem
  4. オフセットなし

ObonEasy v3.0より前のフィールド構成には対応していません。

設定手順は Spawn時の位置・回転を調整する をご覧ください。