このページは編集中です。更新が保留になっている可能性があります。
ホストマイグレーション
Level
INTERMEDIATE
概要
Fusionホストマイグレーションサンプルは、元のホストがセッションから退出した後、HostModeでホストを別のクライアントに移行する方法を示しています。
注意: ホストマイグレーションAPIに関する詳細な説明については、ホストマイグレーションに関するマニュアルページをご参照ください。
Photon Insiders Stream - Fireside Chat - ホストマイグレーション (2022年3月1日)
アップグレードノート
このサンプルはもともとFusion 1.0用に作成されており、上記のビデオもそのサンプルに言及しています。しかし、このサンプルとFusion 1.0のバージョンの違いは最小限です。以下に、両者のいくつかの違いを示します:
- NetworkTypeId:
GameController.cs内でNetworkObject.NetworkGuidを呼び出すために使用されていた'SceneNOSolver'は、Fusion 2.0ではもはや存在しません。代わりに、NetworkObject.NetworkTypeIdが使用されるようになりました。 - プロトタイピングアドオン: Fusion 1.0のプロトタイピングアドオンは
InputBehaviourPrototypeを除いて削除されました。
Fusion 1.0からFusion 2.0への移行については、こちらをご覧ください。
始める前に
サンプルを実行するには、まずPhotonEngine DashboardでFusion AppIdを作成し、それをPhotonAppSettingsのApp Id Fusionフィールドに貼り付けてください(Fusionメニューからアクセスできます)。次に、Gameシーンをロードし、Playを押します。
ダウンロード
| Version | Release Date | Download |
|---|---|---|
| 2.0.3 | 9月 26, 2024 | Fusion Host Migration 2.0.3 |
プレハブ
GameController.prefab: ゲーム自体を制御し、ホストマイグレーションを実行する責任を持つプレハブ。FusionRunner.prefab: Fusionが正常に動作するために必要なすべてを含むFusionNetworkRunnerプレハブ。このプレハブは、ゲームが実行中にNetworkRunnersを作成するために使用されます。Goal.prefab: プレイヤーがインタラクト可能なオブジェクトをドラッグする目的地となるシンプルなゲーム目標。Interactable.prefab: プレイヤーの方向に引かれるインタラクト可能なオブジェクト。Player.prefab: プレイヤーのプレハブ。
シーン
Game- サンプルのメインシーンで、基本的な地面とゲームを実行するために必要なプレハブのみが含まれています。起動すると、クライアントを開始し、ランダムなゲームに接続するか、新しいゲームを作成するためのスタートメニューが表示されます。
ビヘイビア
GameController: このクラスはサンプルのメインエントリーポイントです。NetworkRunnersを管理し、接続を行い、セッションを作成する責任を持ちますが、最も重要なのはホストマイグレーションを実行することです。詳細については、GameController.OnHostMigrationのコードを確認してください。GoalController:Goalプレハブのコントローラー。Interactableの存在を検知し、プレイヤーのスコアを増加させるロジックを呼び出します。InteractableController:Interactableプレハブのコントローラー。近くにいるプレイヤーを検知し、まるでプレイヤーに引き寄せられているかのようにその方向に移動します。PlayerController:Playerプレハブのコントローラー。移動方向に基づいてプレイヤーを移動させます。ConnectionTokenUtils: クライアントが自分自身を識別するために使用するユニークトークンを作成するためのユーティリティメソッドのセット。