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

へのごはん様製アイテムを設定する

HGSpawnHelper は、へのごはん様 製の食べられるギミック付きアイテムをObject Spawn Extensionで扱うための専用Helperコンポーネントです。v7.x.x系とv8.x.x系に対応しています。

設定手順​

  1. アイテム全体のルートGameObjectへ HGSpawnHelper を追加する
  2. Inspector上部で、使用するアイテムに合う v7.x.x または v8.x.x を選択する
  3. AUTO SET を押して、ルート以下から必要な参照を自動設定する
  4. 設定された参照と、Inspectorにエラーが表示されていないことを確認する
  5. 同じルートGameObjectを VRCObjectPool の Pool 配列へ登録する
  6. 必要に応じて Move Delay を調整する
  7. 子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 があることを確認する
v8.x.x系の必須コンポーネント

HG Base に VRCObjectSync がない場合は移動できません。ルートGameObjectに ResetSwitchHelper がない場合は、Return時にギミックをリセットできません。

v7.x.x系の設定​

  • v7.x.x を選択する
  • HG Base に、対象アイテムのBaseスクリプトを持つGameObjectを設定する
  • HG Sync に、移動に使用する VRCObjectSync を持つGameObjectを設定する
v7.x.x系の必須参照

HG Base または HG Sync が未設定の場合や、HG Sync に VRCObjectSync がない場合は移動できません。

HG Base に直接付いている UdonSharpBehaviour から、型名に次のいずれかを含むコンポーネントを順に検索します。

  • HGSBase
  • HGSTableware
  • HGSDish

HGSCore* しかないものは、Return対応の対象外です。

v7.x.x系のへのごはん様製アイテムを使用している場合

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 を使用します。

動作確認​

  1. アイテムをSpawnし、全体が指定地点へ移動することを確認する
  2. Pickupとして操作し、食べられるギミックが正常に動作することを確認する
  3. 子PickupをReturnトリガーへ入れる
  4. アイテム全体が非表示になることを確認する
  5. 再度Spawnし、ギミックが初期状態に戻っていることを確認する

所有権と位置同期を確認する場合は、2クライアントでテストしてください。