プロジェクトアーキテクチャ
プロジェクト構成
プロジェクトは3つの独立したサンプルで構成されていて、以下のフォルダー構造で整理されています。
| /00_MainMenu | メインメニューシーンを含みます。 |
| /01_ThirdPersonCharacter | Third Person Characterサンプルを含みます。 |
| /02_Platformer | Platformerサンプルを含みます。 |
| /03_Shooter | Shooterサンプルを含みます。 |
| /Common | すべてのサンプル間で使用される共有リソース(プレハブ・スクリプト・グラフィック)です。 |
各サンプルフォルダーとCommonフォルダーには、Quantumシミュレーション関連スクリプトを含むSimulationフォルダーが存在します。Starterサンプルでは利便性のため、シミュレーションコードは関連アセットの隣に置かれています。デフォルトのSimulationフォルダーはQuantumUser/Simulationですが、Quantum.Simulation.asmrefファイルが存在する所であれば異なるフォルダーを選択可能です。
Common/Simulationフォルダーには、すべてのサンプルで使用される共有のシミュレーションコード(入力や移動システムなど)が含まれています。共通機能を探す際には、このフォルダーを確認してください。
各サンプルにはSystemsConfigアセットがあり、サンプルごとに必要なQuantumシステムのみを有効にします。参考として、/02_Platformer/Configs/SystemsConfig-Platformer.assetファイルを閲覧すると、Platformerサンプルのシステムがどのように構成されているかを確認できます。

ゲームはUIGameMenuコンポーネントから起動します。このコンポーネントは、各サンプルシーンのUIGameMenuゲームオブジェクト(例:02_Platformerシーンなら、UI/UIGameMenuゲームオブジェクト)に置かれています。また、各サンプルに必要な設定(例:SystemsConfig)が含まれています。
1 - Third Person Character

Third Person Characterサンプルは、UnityのStarter Assets - Third Personをマルチプレイヤー環境に変換したものです。プレイヤーは三人称キャラクターとしてスポーンし、プロトタイプ環境を歩き回ることができます。デフォルトのCharacterControllerコンポーネントを使用するかわりに、KCCアドオンを使用してプレイヤー移動を制御しています。KCCアドオンは、Quantum用に特別に設計されたKinematic Character Controllerです。数十~数百のキャラクターを処理できるよう高度に最適化されていて、劣悪なネットワーク環境下でもスムーズな移動と回転が実現できます。
次のステップ
キャラクターの移動について詳しく知りたい場合は、KCCサンプルプロジェクトをご覧ください。実践的なキャラクターアニメーションについては、Simple FPSプロジェクトをご覧ください。格闘ゲームやスポーツゲームなどで精密なアニメーション同期が必要な場合は、Quantum Animatorアドオンをご覧ください。
2 - Platformer

Platformerサンプルは、Third Person Characterサンプルと同様の基盤に、ゲームオブジェクトのインタラクション(例:コインや足場からの落下)、RuntimePlayerデータ(プレイヤー名)の使用、単純なゲームループ(プレイヤーが10枚のコインを集めながら頂上のフラグを目指す)を追加しています。各ラウンド終了後、すべてのプレイヤーはスタート地点に戻ります。
次のステップ
Platform Shooter 2Dサンプルは、高速アクション満載のアクションゲーム体験を提供します。また、物理インタラクションは、Quantumの真価が発揮される領域です。Sports Arena Brawlerで、プレイヤー同士とボールの相互インタラクションを確認してみてください。
3 - Shooter

Shooterサンプルは、シンプルな一人称視点シューティングゲームです。プレイヤーは空飛ぶ鶏を撃ち、最高のハンターを目指します。プレイヤーが足場から落下するか、他のプレイヤーに倒されると、鶏カウントはリセットされます。このサンプルでは、シンプルなレイキャストロジックやカスタムアセット(ChickenConfig)の使用例も示しています。
次のステップ
シューティングゲームはマルチプレイヤーのジャンルでは最も人気があるため、シューティングゲーム開発を始めるための豊富なリソースを提供しています。Simple FPSはサンプルの純粋な発展型で、完全なゲームループ・弾薬管理・多様な武器・ピックアップアイテム・プレイヤー統計とリーダーボードなどを提供しています。Platform Shooter 2Dは、2Dの総合的なシューティングゲーム体験を提供します。トップダウン視点のTwin Stick Shooterサンプルは、「ブロスタ(Brawl Stars)」のようなゲームの構築方法を学ぶことが可能で、BotSDKアドオンを使用したプレイヤーAIの完全な実装が含まれます。
Quantum Simple FPSでは、ラグ補償とスナップショット補間の実装例も提供していますが、特にPCやコンソール向けの対戦シューティングゲーム開発では、Fusionの方が適している場合があることにご留意ください。
その他のQuantumサンプル
その他のサンプルプロジェクトについては、サンプルをご覧ください。
Back to top