へのごはん様製アイテムを設定する
HGSpawnHelper は、へのごはん様 製の食べられるギミック付きアイテムをObject Spawn Extensionで扱うための専用Helperコンポーネントです。v7.x.x系とv8.x.x系に対応しています。
設定手順
- アイテム全体のルートGameObjectへ
HGSpawnHelperを追加する - Inspector上部で、使用するアイテムに合う
v7.x.xまたはv8.x.xを選択する AUTO SETを押して、ルート以下から必要な参照を自動設定する- 設定された参照と、Inspectorにエラーが表示されていないことを確認する
- 同じルートGameObjectを
VRCObjectPoolのPool配列へ登録する - 必要に応じて
Move Delayを調整する - 子Pickupが使用するLayerと
ReturnObjectExtのLayerを一致させる
AUTO SET は、HG Base に対応するBaseスクリプトを持つGameObjectを設定します。v7.x.x系を選択した場合は、HG Sync もあわせて設定します。自動設定できない場合は、次のバージョン別設定を確認して手動で指定してください。
v8.x.x系の設定
v8.x.xを選択するHG Baseに、対象アイテムのBaseスクリプトとVRCObjectSyncを持つGameObjectを設定するHG Syncは使用しないHGSpawnHelperを追加したルートGameObjectに、ResetSwitchHelperがあることを確認する
HG Base に VRCObjectSync がない場合は移動できません。ルートGameObjectに ResetSwitchHelper がない場合は、Return時にギミックをリセットできません。
v7.x.x系の設定
v7.x.xを選択するHG Baseに、対象アイテムのBaseスクリプトを持つGameObjectを設定するHG Syncに、移動に使用するVRCObjectSyncを持つGameObjectを設定する
HG Base または HG Sync が未設定の場合や、HG Sync に VRCObjectSync がない場合は移動できません。
HG Base に直接付いている UdonSharpBehaviour から、型名に次のいずれかを含むコンポーネントを順に検索します。
HGSBaseHGSTablewareHGSDish
HGSCore* しかないものは、Return対応の対象外です。
v7.x.x系のへのごはん様製ギミック付きアイテムを導入済みのUnityプロジェクトでObject Spawn Extensionをアップデートした場合、設定済みの HG Sync を検出し、自動的にv7.x.x系の設定として引き継ぎます。通常は、アップデート後にバージョンを選び直したり、参照を再設定したりする必要はありません。
アップデート後は、HGSpawnHelper で v7.x.x が選択され、既存の HG Base と HG Sync が維持されていることを確認してください。移行前に HG Sync が設定されていない場合は、v7.x.x系として自動判定されません。
Spawn・Return時の動作
Spawn時は、SpawnObjectExt の設定に従って、手元または指定された出現地点へアイテムの構造全体を移動します。
HG Base は、SpawnOffset やObonEasyのTrayItem系コンポーネントを検索する対象にもなります。出現位置と向きを補正する場合は、Spawn時の位置・回転を調整する をご覧ください。
Return時は、Poolへ登録したルートを非表示にする直前に、へのごはん様製ギミックのリセットイベントを全クライアントへ送信します。v8.x.x系では ResetSwitchHelper の Respawn、v7.x.x系ではBaseスクリプトの State7_Reset を使用します。
動作確認
- アイテムをSpawnし、全体が指定地点へ移動することを確認する
- Pickupとして操作し、食べられるギミックが正常に動作することを確認する
- 子PickupをReturnトリガーへ入れる
- アイテム全体が非表示になることを確認する
- 再度Spawnし、ギミックが初期状態に戻っていることを確認する
所有権と位置同期を確認する場合は、2クライアントでテストしてください。