7 - 次のステップ
概要
チュートリアルでは、Fusionで使用するいくつか基本的なコンセプトを説明してきましたが、これ以外にも多くの機能が存在します。Fusionはマルチプレイゲーム開発で陥りがちなネットワーク関連の問題を解決する様々なコンポーネントや機能を備えていますが、必ずしも全てがあらゆるゲームジャンルで必要になるわけではありません。
ここでは、チュートリアルでは取り上げなかった機能のマニュアルやサンプルを紹介します。その中には高度なトピックも含まれます。
サンプル
Fusionには様々なサンプルが用意されており、二つのカテゴリーに分類されています。
- Game Samples:特定のゲームの実装例を紹介するゲームプレイに焦点を当てたサンプル
- Technical Samples:マルチプレイゲーム開発における技術的な実装パターンに焦点を当てたサンプル
チュートリアル完了直後は、以下のどちらかを参考にすることをお勧めします。
- Fusion Asteroids(共有モード版とホストモード版があります)
共有モード
このチュートリアルで説明したホストモード以外のネットワークトポロジーに、共有モードがあります。このモードでは、クライアントが各オブジェクトの状態権限を共有していて、全ての権限を持つようなホストは存在しません。
ラグ補償(Lag Compensation)
ハイペースなシューティングゲームでは、厳格なサーバー主導の動作が問題になることがあります。サーバーが見ている世界と、クライアントが見ている世界が、全く同じというわけではないからです。
クライアントが敵をクロスヘアの中心に捉えて射撃したとしても、サーバーがそれを処理する段階では状況が変わっている可能性があります。
クライアント側で当たり判定を取ることでこの問題を解消することもできますが、チートのリスクが高まってしまいます。
Fusionではかわりに、サーバーが特定のクライアントの視点からレイキャストを行う、ラグ補償レイキャストに対応しています。
関心領域(Area of Interest)
多数のプレイヤーが参加する大規模なワールドのゲームでは、常に全ての状態を全員に共有することを避けると、ネットワークの使用量が最適化できます。
特にFusionでは、プレイヤーに複数の関心領域を割り当てて、その領域外で発生するネットワーク上の状態の変更を除外することができます。
Fusionのコンポーネント
このチュートリアルで紹介したコンポーネントはNetworkTransform
とNetworkRigidbody3D
のみでしたが、Fusionは他にも様々なコンポーネントが標準で使用可能です。