====== VCI PlayerSpawnPointRestriction ====== * VCIPlayerSpawnPointRestriction の作成には[[https://github.com/virtual-cast/VCI/releases | VCI v0.30]]以降が必要です。 * Webのアイテム画面では VCIPlayerSpawnPointRestriction の動作確認はできません。 * 隠し機能なため、**Room では使用できません**。 ===== 何をするためのコンポーネントか ===== [[vci:component:sdk:playerspawnpoint| VCIPlayerSpawnPoint]] と紐づいた Player(演者)に対して、制限を加えるためのコンポーネントです。 現状は以下の2つの機能が存在します。 1. **可動範囲制限** 2. **姿勢制限** VCIPlayerSpawnPoint 同様、**背景VCIとして読み込んだ場合にのみ**機能します。 ===== 導入方法 ===== VCIObject がアタッチされた GameObject 下のいずれかの階層にある GameObject に VCIPlayerSpawnPointRestriction をアタッチしてください。 (自動で VCIPlayerSpawnPoint もアタッチされます) {{:vci:sdk:playerspawnpointrestriction:psprsample1.png?400|}} 1つの VCI に複数追加することができます。 1つの GameObject にアタッチできる VCIPlayerSpawnPointRestriction は1つです。 ===== 可動範囲制限 ===== Player のXZ平面での可動範囲を制限します。 出現地点を原点とした制限になります。 出現地点の指定は、VCIPlayerSpawnPoint 側で行ってください。 必要ない場合は、 RangeOfMovementRestriction を NoLimit にしてください。 === 半径制限 === {{:vci:sdk:playerspawnpointrestriction:psprsample_radius.png?400|}} RangeOfMovementRestriction を **Circle** にした場合有効になります。 出現地点を中心として、紐づけられた Player の可動範囲は LimitRadius で指定された円形範囲内になります。 指定した可動範囲は、画像のように緑色の線で可視化されます。 Circle を指定した状態で LimitRadius を 0 にした場合、Player は出現地点から移動できなくなります。 === 矩形制限 === {{:vci:sdk:playerspawnpointrestriction:psprsample_rectangle.png?400|}} RangeOfMovementRestriction を **Rectangle** にした場合有効になります。 出現地点とアタッチされた GameObject のY軸回転を基準に、 LimitRectLeft/Right/Backward/Forward で左右後前に動ける距離をそれぞれ指定できます。 Left, Backward には0以下の値、Right, Forward には0以上の値を入れる必要があります。 紐づけられた Player の可動範囲は上記で指定した値によって囲われた矩形範囲内(もしくは線上)になります。 指定した可動範囲は、画像のように緑色の線で可視化されます。 ===== 姿勢制限 ===== 必要ない場合は、 PostureRestriction を NoLimit にしてください。 === 座位指定 === {{:vci:sdk:playerspawnpointrestriction:siton_sample.png?400|}} 指定した PlayerSpawnPoint の Order に紐づいた Player キャラクターは、指定方向を前として座った姿勢で固定されます。 PostureRestriction を **SitOn** にした場合有効になります。 PlayerSpawnPointRestriction がアタッチされたコンポーネントのY軸回転によって、Player キャラクターの「前」がZ軸+方向に固定されます。 SeatHeight で座る仮想椅子の座面高を指定でき(単位は m)、 Player の Hip が指定した高さに固定されます。