Fusion Starter

概要
Fusion Starterは入門レベルのゲームサンプルで、Fusionのテストや学習、友人や同僚とマルチプレイヤーゲームを楽しめるように設計されました。

このプロジェクトは、複数の小さな独立したサンプルで構成されています。各サンプルはそれぞれのフォルダーと名前空間に分けられていて、現在は以下3つのサンプルが用意されています。
Fusion Starterは、シンプルなアプローチかつ理解しやすいコードを念頭に設計されています。すべてのスクリプトにはわかりやすいコメントが付けられているため、Fusionのベストプラクティスを実践しつつ、初心者にも理解しやすい仕様になっています。劣悪なネットワーク環境下でも非常にスムーズに動作することをテストしてみてください。
ホストモード(クライアントサーバー型)版と共有モード版の2つのバージョンが存在します。共有モード版はWeb上にも公開されていて、ブラウザから直接テストできます。
ダウンロード - ホストモード
| Version | Release Date | Download |
|---|---|---|
| 2.0.5 | 5月 14, 2025 | Fusion Starter - Host Mode 2.0.5 |
ダウンロード - 共有モード
| Version | Release Date | Download |
|---|---|---|
| 2.0.4 | 1月 29, 2025 | Fusion Starter - Shared Mode 2.0.4 |
ホストモード vs 共有モード
ホストモードはクライアントサーバー型で、1つのクライアントがサーバーとして機能します。この構成では、サーバーがすべてのゲームオブジェクトに対する権限を持ちます。クライアントは、サーバーの応答を待つことなく、クライアントサイド予測とサーバーリコンシリエーション(ロールバックと再シミュレーションのループ)を使用して、自身の入力操作に対する即時の反応を提供します。
共有モードでは、クライアントが自身のオブジェクトに対する権限を持つため、クライアントサイド予測やサーバーリコンシリエーションは不要になります。予測・ロールバック・再シミュレーションのループが存在しないため、共有モードは初心者にも理解しやすいモードです。このモードではRPCが頻繁に発生し、特にプレイヤー同士や中立オブジェクトとのインタラクション(クライアントが権限を持たないオブジェクトのプロパティ変更リクエスト:ダメージを与える・コインを収集するなど)で顕著です。クライアントが自身のオブジェクトに対する権限を持つ関係で、共有モードではチートが発生しやすいため、このモードはカジュアルゲームに適しています。共有モードは、モバイル/Webプラットフォームや、大人数のゲーム(例:MMO)に推奨されます。共有モードのセキュリティは、カスタムサーバープラグインで強化可能です。
Fusionの各モードの詳細や使い分けについては、**Fusion とは?**をご覧ください。
💡備考:ホストモードは、クライアント/ホスト接続向けに設計されていますが、専用サーバー上でゲームを実行する場合も同様です。これは、UIGameMenuスクリプトの起動引数を変更するだけでテストできます。
学習ガイド
このサンプルを掘り下げる前に、Fusionの基本的な理解を深め、ホストモード入門または共有モード入門のチュートリアルを完了しておくことを推奨します。
要件:
- Unity 2022.3
- Fusion AppId:サンプルを実行するには、まずPhotonEngineダッシュボードからFusion AppIdを作成して、Realtime Settings(
Tools/Fusion/Realtime Settingsメニューを選択)のApp Id Fusionフィールドに貼り付けてください。その後、ゲームの開始セクションへ進んでください。
プロジェクト構成
プロジェクトは、3つの独立したサンプルから構成されています。
| /00_MainMenu | メインメニューシーン |
| /01_ThirdPersonCharacter | Third Person Character サンプル |
| /02_Platformer | Platformer サンプル |
| /03_Shooter | Shooter サンプル |
| /Common | すべてのサンプルで使用される共通のプレハブ・スクリプト・アセット |
ゲームの開始
Fusion Starterの各サンプルは、それぞれのシーンファイルを直接開いて再生できます。あるいは、すべてのサンプルを/00_MainMenu/00_MainMenuにあるMainMenuシーンから起動することもできます。

ゲームを開始すると、小さなゲームメニューが表示され、プレイヤーはニックネームやセッション名(ルーム名)を入力できます。それから「Start Game」ボタンをクリックすると、新しいゲームセッションを作成するか、既存のゲームに接続されます。

操作方法:
W,S,A,Dキーで移動Shiftキーでダッシュ、Spaceキーでジャンプ- マウスで周囲を見回す
Left mouse buttonで武器の射撃(Shooterサンプルのみ)Escキーを押して、プレイ中にゲームメニューを開く
1 - Third Person Character

Third Person Characterサンプルは、UnityのStarter Assets - Third Personをマルチプレイヤー環境に変換したものです。プレイヤーは三人称キャラクターとしてスポーンし、プロトタイプ環境を歩き回ることができます。デフォルトのCharacterControllerコンポーネントを使用するかわりに、Simple KCCアドオンを使用してプレイヤー移動を制御しています。Simple/Advanced KCCアドオンは、Fusion用に特別に設計されたKinematic Character Controller(KCC)です。数十~数百のキャラクターを処理できるよう高度に最適化されていて、劣悪なネットワーク環境下でもスムーズな移動と回転が実現できます。
次のステップ
キャラクターアニメーションの詳細については、Animations技術サンプルをご覧ください。キャラクター移動についての知見は、Simple KCC サンプルかAdvanced KCC サンプルから深く掘り下げることができます。三人称キャラクター制御とティックベースアニメーションについては、大型サンプルのBR200にも含まれています。ただし、このサンプルは上級者/エキスパート向けのため、Fusionに習熟してから取り組むことをお勧めします。
2 - Platformer

Platformerサンプルは、Third Person Characterサンプルと同様の基盤に、ゲームオブジェクトのインタラクション(例:コインや足場からの落下)、RPC(例:プレイヤー上部のネームプレート)の使用、単純なゲームループ(プレイヤーが10枚のコインを集めながら頂上のフラグを目指す)を追加しています。各ラウンド終了後、すべてのプレイヤーはスタート地点に戻ります。
次のステップ
同様のプラットフォーマーの基本をカバーしつつ、Advanced KCCアドオンを導入し、移動能力や完全なゲームループを追加したMulti Climb チュートリアルもご覧ください。キャラクター移動と移動アフェクター(ジャンプパッド・フォースフィールド・サーフェイスなど)に関する最高のガイドとしては、Simple KCC サンプルとAdvanced KCC サンプルは必見です。2Dプラットフォーマーについては、Razor Madnessサンプルをご覧ください。
3 - Shooter

Shooterサンプルは、シンプルな一人称シューティングゲームです。プレイヤーは空飛ぶ鶏を撃ち、最高のハンターを目指します。プレイヤーが足場から落下するか、他のプレイヤーに倒されると、鶏カウンターはリセットされます。この例(ホストモード)では、Fusionのラグ補償を使用して、ネットワーク環境が悪い条件下でも鶏や他のプレイヤーへの命中精度を保証します。共有モードでは、クライアントがローカルで命中判定を行い、他のクライアントに自身への被ダメージを通知(Health.csスクリプトのRPC_TakeHit参照)します。
次のステップ
シューティングゲームはマルチプレイヤーのジャンルでは最も人気があるため、シューティングゲーム開発を始めるためのリソースを豊富に提供しています。Projectiles Essentials技術サンプルは、Fusionにおける弾の同期方法を学び、各アプローチの長所短所を理解する上で不可欠です。Simple FPSはこのサンプルの純粋な発展型で、完全なゲームループ・弾薬管理・多様な武器・ピックアップアイテム・プレイヤー統計とリーダーボード・Fusionメニューとの統合を提供しています。Projectiles Advancedでは、ホーミング弾・跳弾・グレネード・散弾など、あらゆる種類の弾に対するソリューションを提供すると同時に、マルチプレイヤーシューティングゲーム開発における実践的な現実問題にも対処します。大型サンプルであるBR200は、大人数プレイヤー数と、ティック精度のアニメーションやサブティック精度の射撃といった高度な技術に焦点を当てています。
サードパーティーアセット
Fusion Starterサンプルは、様々な素晴らしいサードパーティーアセットを活用して構築されています。
- Starter Kit 3D Platformer by Kenney under CC0 license
- Starter Kit FPS by Kenney under CC0 license
- Starter Assets: Character Controllers | URP by Unity under Unity Companion License
これらアセットをダウンロードおよび使用する前には、UCL license termsを必ずお読みください。
Back to top