保存可能なオブジェクトについて、シーン切り替え後の読み込み時の初期化に関する質問

本日、AGMの2.0.1バージョンでいくつかのテストを行いました。その結果、以下の状況が判明しました。

シナリオ1では、多くの保存可能なオブジェクトを設定しました。これらは主に重要なアイテムで、取得すると永久に消失する性質を持っています。
同じシナリオ内でセーブ後にロードをテストしたところ、消失動作を持つオブジェクトは確かに復活していませんでした。

しかし、プレイヤーがシナリオ1からシナリオ2へ移動し、そこでセーブ&ロードを行った後にシナリオ1に戻ると、理論上は永久に消失するはずのオブジェクトがすべて初期状態にリセットされていました。

これは、現在のセーブデータが単一のシナリオ内のオブジェクトの保存状態のみをカバーしていることを意味するのでしょうか?これがバグなのかどうか、ご教示いただけますでしょうか?

===============================================================
また、AGMのシーン切替機能で初期位置を設定できることを知りました。これは非常に優れた機能のように見えます。

この機能を使ってみようと思い、シーン内にStartPointノードを作成しました。

そこにはターゲットとなるプレイヤーが設定されており、プロジェクト側でプレイヤーオブジェクトも適切に設定しています。

シーン切替後、キャラクターはStartPointノードに正しく出現しましたが、それはクローンでした。
シーンツリーのノードにはデフォルトのプレイヤーも残っており、結果として2人のプレイヤーを同時に操作する状態になってしまいました :rofl:

この素晴らしいシーン切替の開始地点機能について、プレイヤーのインスタンスを唯一(ユニーク)にすることは可能でしょうか?
例えば、ポータルを使ってシナリオ1からシナリオ2へ移動する場合のように、シーンツリーのノード内にあるデフォルトのプレイヤーオブジェクトを自動的にクリーンアップするような動作を期待しています。

ご指導のほど、よろしくお願いいたします!

まず1つ目について調査をしました、

シーン1に戻ると元に復活してしまうケース

  • アイテムの復活条件が「シーン切り替えで復活」になっている
  • 「取得」を消滅アクションではなく、スイッチや無効化・非表示で表現している。この状態はシーン1の object_data_list にしか無いので、シーン2でセーブした時点で失われます
  • 「シーン終了時に状態を引き継ぐ」に頼っている

一方、** 消滅アクション+復活条件「なし 」 **であれば、キーが not_revive_object に入って保存・復元され、シーン1に入ったときに削除されるはずです。

該当オブジェクトが、どのような設定になっているかチェックして教えていただいてもよいでしょうか。

ご返信ありがとうございます。テスト環境において、シナリオ1のオブジェクトはVSアクション【自己消滅】で処理されます。BaseSettingsには復活条件が設定されていません。セレクトは可能です。

このような設定状態で、
プレイヤーがシナリオ1を離れ、シナリオ2でセーブせずに戻った場合、またはシナリオ2でセーブせずにシナリオ1に戻った場合、オブジェクトは復活しません。
しかし、シナリオ2でセーブしてロードし、その後シナリオ1に戻ると、オブジェクトはすべて初期化されます。

「シナリオ終了後も状態を保持する」オプションを有効にしてみましたが、ロードしてからシーンを変更すると、やはり初期化されてしまいます。

「いいね!」 1

ご報告ありがとうございます!

原因特定にまでは至っていませんが、バグ自体は確認できたので調査します。

また、スタートポイントがあり、既存のオブジェクトがある場合はコピーではなくそれを移動させて利用するようにしようと思っています。

「いいね!」 1

ありがとうございます!次のバージョンでの修正を楽しみにしています!

シーン開始地点でのオブジェクト生成を優先するようにしたのも、確かに合理的でとても期待できます!

これらの問題を修正するバージョン2.0.2を配信させていただきました。

「いいね!」 2

この修正速度、本当にすごい!!
テストで判明した問題を即座に修正してくださり、制作チームの圧倒的な対応力に感謝します!!

===========================================

さらに、シーン開始地点のオブジェクト切り替え機能についていくつかテストを行いました。
その結果、新しく生成されたプレイヤーオブジェクトは、以前のプレイヤーが持っていた数値の変化を継承できないことがわかりました。

例えば、HP上限を増加させるアイテムをプレイヤーに持たせた場合、シーン開始地点を使用する前までは、ゲームの進行に伴ってキャラクターのHP変数が増加していました。

しかし、シーン開始地点のオブジェクトでは、これらの変数が継承されず、代わりに初期状態のオブジェクトが新規作成されるようです。

そこで質問なのですが、シーン開始地点で生成されるオブジェクトが、以前のキャラクターの変数やスイッチを継承させる方法はあるでしょうか?

「いいね!」 1