アットウィキロゴ


Save Game System

Game Kit ControllerにおけるSave Game System(saveGameSystem.cs)コンポーネントは、ゲームの進行状況を保存・読み込みするための中心的なシステムです。

このコンポーネントは、主にプレイヤーのステータス、位置、シーンの状態、およびスロットベースのセーブデータの管理を担当しています。

主な機能と役割


1. セーブデータの管理(スロットシステム)
  • 手動セーブ: UI(セーブメニュー)を通じて、プレイヤーが任意のスロットにデータを保存できます。
  • チェックポイント: 特定の地点を通過した際に自動的に保存される「チェックポイントスロット」をサポートしています。
  • オートセーブ: シーン遷移時などに自動で保存される隠しスロット(Auto Load Save)を管理します。

2. 保存される情報の種類
  • プレイヤーの状態: 位置(X, Y, Z)、回転、使用中のカメラの向き。
  • ゲーム進行: 現在のシーン(ビルドインデックス)、チャプター名、総プレイ時間。
  • 乗り物: セーブ時に乗り物を運転していた場合、その乗り物のIDや種類も保持されます。
  • タイムスタンプ: 保存した日付と時刻。

3. ビジュアル・UI機能
  • セーブスロットのプレビュー: セーブした瞬間のカメラ映像をキャプチャし、セーブスロットのアイコンとして表示する機能(Photo Capturer)があります。
  • セーブ中アイコン: 保存処理中に「Saving...」などのアニメーションやアイコンを表示できます。
  • セーブメニューの制御: スロットのリスト表示、スクロール、ボタンの有効/無効状態などを管理します。

4. 物理セーブステーション(Physical Save Station)
  • 単なるシステムとしてのセーブだけでなく、ゲーム内の特定のオブジェクト(端末や装置など)に近づいてインタラクトすることでセーブ画面を開く「物理ステーション」としての設定も可能です。

5. 拡張性とイベント
  • `useEventOnSaveGame` や `useEventOnLoadGame` などのUnityEventが用意されており、セーブ/ロード時に特定の処理(例:演出の再生、ログの出力など)を追加できます。

設定のポイント

Main Settings: `sceneToLoadNewGame`(ニューゲーム時に読み込むシーン)や `manualSaveEnabled`(手動セーブの許可)を設定します。
Checkpoint Settings: チェックポイントのスロットを上書きするか、削除可能にするかなどを調整します。
Components: `Player Controller` や `Player Camera`、UI要素(`Save Menu`、`Scrollbar`など)をリンクさせる必要があります。

このコンポーネントは通常、プレイヤーオブジェクト(`Character`など)またはゲーム管理オブジェクト(`Player And Game Management`配下)に配置され、`gameManager`コンポーネントと連携して動作します。




目標の保存

全体設定

CharacterのObjective Log SystemコンポーネントのSave Current Player Missions To Save Fileにチェックが入っていると、プレイヤーが現在持っているミッションの進行状況(受託済み、完了、発見済みなど)が保存されるようになる。


個別設定

Objective Event Systemの Objective Event SystemコンポーネントのSave/Load Mission Settingsでさらに個別に設定が可能。
  • Save Game On Mission Complete: ミッションが完全に完了した瞬間に、ゲーム全体を自動的にセーブします。
  • Save On Each Sub Objective Complete: ミッション内の各サブ目的(ステップ)が完了するたびに、ゲーム全体を自動的にセーブします。
  • Update Subobjectives Complete On Load Game: ゲームロード時に、セーブされたデータに基づいてサブ目的の完了状態を復元(同期)するかどうかを設定します。
  • Resume Mission On Load Game If Not Complete: ミッションが進行中の状態でセーブ・ロードされた場合、自動的にそのミッションを再開状態にします。
  • Use Event When Loading Game And Objective Complete: 「既に完了しているミッション」がある状態でゲームをロードした際に、特定のイベント(演出やフラグ更新など)を実行したい場合に有効にします。




インベントリの保存

Player ControllerのInventory ManagerコンポーネントのSave/Loadでインベントリの保存について設定可能。




ゲームオブジェクトの保存設定

タグ:

+ タグ編集
  • タグ:
最終更新:2026年06月08日 22:21