プレイヤーの出現位置#

ロケーションとして作成するVCIはプレイヤーの出現位置を指定できます。

設定方法#

プレイヤーの出現位置としたいTransformを持つオブジェクトを選択して VCIPlayerSpawnPoint コンポーネントを追加します。

VCIPlayerSpawnPoint コンポーネント#

  • スタジオやルームに入室した際のプレイヤーの出現位置を定義するコンポーネントです。

  • このコンポーネントがアタッチされたGameObjectのTransformの位置、回転がプレイヤーの出現する位置、回転として使用されます。

    • ローカル空間の+Z方向を向いた状態でプレイヤーが出現します

  • ルームで「リスポーン」を実行した際もこのコンポーネントで指定した位置にプレイヤーが出現します。

  • 1つのGameObjectには1つの VCIPlayerSpawnPoint コンポーネントを追加できます。

  • 1つのVCIには複数の VCIPlayerSpawnPoint コンポーネントを含めることができます。

  • 1つの VCIPlayerSpawnPoint コンポーネントを持つオブジェクトに対して1人のプレイヤーが束縛されます。ただし、Orderが0の場合はこの限りではありません(後述)。

Transformの制限#

このコンポーネントを持つオブジェクトのTransformは以下の制限があります。

  • Rotation X, Z は 0 である必要があります。

  • スタジオには高さの概念がないため、Position Yは無視されます。

注釈

この制限は親のTransformの影響を考慮します。
正しく設定したのに出力時エラーが発生する場合は、親のTransformに意図しない移動, 回転が加えられていないか確認してください。

プロパティー#

プロパティー

説明

備考

Order

優先順位

Radius

出現位置の半径

Studio only

Order#

  • プレイヤーを出現位置に束縛する際の優先順位です。

  • 値が小さいほど優先されます。ただし0の場合はこの限りではありません(後述)。

  • この値が同じ場合は同じ値の出現位置からランダムに選択されます。

  • プレイヤーが退出した場合、次に入室したプレイヤーは退出したプレイヤーの出現位置を含めて優先順位がもっとも高い出現位置に束縛されます。

Orderが0の場合#
  • Orderが0の場合、優先順位が最低になり、他に束縛できる出現位置がない場合にのみ使用されます。

  • Orderが0の出現位置は、1つの出現位置に対して複数のプレイヤーを束縛できます。

  • Orderが0の出現位置が複数ある場合、ランダムな出現位置が選択されます。

  • Orderが0の出現位置が1つもなく、他に束縛できる出現位置がない場合は、プレイヤーは空間の原点に出現します。

Radius#

  • 0より大きい値を指定すると、VCIPlayerSpawnPoint の Transform.position を原点とする、XY平面上の半径 Radius の円内のランダムな位置にプレイヤーが出現します。

  • ルームではこの値は無視されます。

移動と姿勢の制限#

Studio only

プレイヤーの出現位置を指定した場合、オプションとしてプレイヤーの移動範囲やアバターの姿勢を制限できます。
ルームではこの制限は無視されます。

設定方法#

VCIPlayerSpawnPoint がアタッチされたGameObjectに VCIPlayerSpawnPointRestriction コンポーネントを追加します。

VCIPlayerSpawnPointRestriction コンポーネント#

  • プレイヤーの出現位置に対して移動範囲やアバターの姿勢を制限するコンポーネントです。

  • VCIPlayerSpawnPoint がアタッチされたGameObjectに追加する必要があります。

  • 1つのGameObjectには1つの VCIPlayerSpawnPointRestriction コンポーネントを追加できます。

  • 1つのVCIには複数の VCIPlayerSpawnPointRestriction コンポーネントを含めることができます。

プロパティー#

プロパティー

説明

RangeOfMovementRestriction

プレイヤーの移動範囲の有無と形状

LimitRadius

円形移動範囲の半径
0の場合は移動できなくなる
(RangeOfMovementRestrictionがCircleの場合に有効)

LimitRectLeft

矩形移動範囲のローカル軸-X方向の端
(RangeOfMovementRestrictionがRectangleの場合に有効)

LimitRectRight

矩形移動範囲のローカル軸+X方向の端
(RangeOfMovementRestrictionがRectangleの場合に有効)

LimitRectBackward

矩形移動範囲のローカル軸-Z方向の端
(RangeOfMovementRestrictionがRectangleの場合に有効)

LimitRectForward

矩形移動範囲のローカル軸+Z方向の端
(RangeOfMovementRestrictionがRectangleの場合に有効)

PostureRestriction

姿勢制限の有無と姿勢

SeatHeight

仮想座面の高さ[m]
(PostureRestrictionがSitOnの場合に有効)

移動範囲#

  • 移動範囲の形状はXZ平面上の円形と矩形の2種類から選択できます。

姿勢制限#

  • 姿勢制限は座り姿勢のみサポートしています。

  • 座り姿勢制限を有効にすると、アバターが座った姿勢で固定されます。

  • アバターの向きは VCIPlayerSpawnPoint の Transform.rotation に固定されます。

  • アバターのHipボーンは SeatHeight に指定した高さに固定されます。