アーキテクチャ
Simulation Systems
Gameplay System
ゲームステートの制御・プレイヤーのスポーン・統計の計算・勝利条件判定を担当する主要なシステムです。
Player System
プレイヤー入力を処理し、特定コンポーネントにアクションを伝搬します。例えば、キャラクターコントローラー(Quantum KCC)に入力方向を設定するなどです。
Health System
プレイヤーの体力・被ダメージ処理・リスポーン後の短時間無敵状態を管理します。
Pickup System
ワールド内のアイテムを更新し、プレイヤーがアイテムに触れた際の取得処理を担当します。
Weapons System
プレイヤーの武器管理・切り替え・リロード・射撃を処理します。
Lag Compensation Systems
スナップショット補間されたエンティティに対して、物理演算クエリ(例:レイキャスト)を実行する方法を提供します。
これらのシステムは、Quantumシミュレーション内で「プロキシ」を動的に生成/破棄します。プロキシは、スナップショット補間時点の参照エンティティを模倣します。
プレイヤーの射撃は、他プレイヤーのエンティティに対してではなく、プロキシに対して評価されるため、誤予測が除外されて射撃精度が向上します。
Views
Player View
プレイヤーのビジュアルとカメラを処理するスクリプトです。
Weapon/Weapons View
シミュレーションのイベントに反応して、武器のビジュアルを同期します。
Health View
体力の変化(被ダメージ)に反応して、ヒットエフェクトを生成したり、無敵状態表示を制御します。
Pickup View
シミュレーションステートに基づき、アイテムのビジュアルを制御します。
その他
弾のビジュアル
飛び交う弾を制御する通常のMonoBehaviourスクリプトです。終端でヒットエフェクトを生成します。
UI
Quantum Simple FPSのユーザーインターフェースは、特定のUIフレームワークに依存せず、直感的な方法で処理されます。UI管理を担当するメインスクリプトはGameUIで、ゲームプレイ中に表示すべき適切なUIゲームオブジェクトを有効にします。さらにGameUIスクリプトは、他のUI要素への参照を保持して、プレイヤースポーン時のプレイヤーUIを更新します。