BindObjectsを設定したオブジェクトを消滅後、シーン遷移で戻ってきた際にクラッシュしてしまう

お世話になっております。
掲題の件について、以下の通りBindObjectsを設定したオブジェクト消滅後に元のシーンに戻ってくるとゲームがクラッシュしてしまいます。

①オブジェクト1にBindObjectsを設定(接続データを追加してオブジェクトを接続し生成)
②オブジェクト1をシーン1に配置
③シーン1にてオブジェクト1を消滅
④portalを使用してシーン1からシーン2に遷移
⑤portalを使用してシーン2からシーン1に戻る
⑥ゲームがクラッシュ

VSでオブジェクト生成をすれば問題なさそうです。
こちらの件、ご確認いただけますと幸いです。

■godot.log
Action Game Maker 1.2.10 based on Godot v4.4 - ACTION GAME MAKER 公式ホームページ
Vulkan 1.2.154 - Forward+ - Using Device #0: Intel - Intel(R) UHD Graphics

CrashHandlerException: Program crashed
Engine version: Action Game Maker v4.4.1.stable.custom_build
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[0] <couldn’t map PC to fn name>
[1] <couldn’t map PC to fn name>
[2] <couldn’t map PC to fn name>
[3] <couldn’t map PC to fn name>
[4] <couldn’t map PC to fn name>
[5] <couldn’t map PC to fn name>
[6] <couldn’t map PC to fn name>
[7] <couldn’t map PC to fn name>
[8] <couldn’t map PC to fn name>
[9] <couldn’t map PC to fn name>
[10] <couldn’t map PC to fn name>
[11] <couldn’t map PC to fn name>
[12] <couldn’t map PC to fn name>
[13] <couldn’t map PC to fn name>
[14] <couldn’t map PC to fn name>
– END OF BACKTRACE –

ご報告ありがとうございます!
以下条件で最小再現を試みたのですが再現しませんでした、他になにか抜けている手順はあるでしょうか?

  1. オブジェクト1にBindObjectsでオブジェクト2を設定、有効/無効スイッチ設定は無しで接続オブジェクトはシーン読込み時から設定されている状態(オブジェクト2は初期状態の、何もない空のオブジェクト)
  2. オブジェクト1に、1秒後自身を消滅を設定し、シーン1に配置。
  3. プレイヤーオブジェクトを別途用意し、オブジェクト1の消滅を見届けてからシーン1よりシーン2にポータルを使って遷移。
  4. シーン2からシーン1にポータルで戻る。
  5. クラッシュはせず、オブジェクト1が再び出現・消滅する。
「いいね!」 1

ご確認ありがとうございます。
手順は合っているかと思いますので、もしかしたら私の何かの設定が影響している可能性もあるかもしれません。
事象を再現させたテストPJを添付いたしますので、お手数ですがご確認いただけますと幸いです。

■TestPJ

testproject_2026-05-11.zip (1.4 MB)
①起動後、1秒後にオブジェクト1を消滅
②起動後、2秒後に子オブジェクトを消滅(子オブジェクトは消滅させなくても事象は発生)
③プレイヤーを移動させ、足場端のportalからシーン1->シーン2へ遷移
④プレイヤーを移動させ、足場端のportalからシーン2->シーン1へ遷移 ★ここでクラッシュ

「いいね!」 1

再現プロジェクトありがとうございます!
こちらのプロジェクトで確認をできました、開発に報告をさせていただきます。
色々と設定を変えてみたのですが何が違うのかわかりませんね・・・なんだろうな・・・

「いいね!」 1

ありがとうございます。よろしくお願いいたします。
私の方でももう少し設定内容を確認してみます。

また何か進展ありましたらご連絡いただければと思います。よろしくお願いいたします。

やりたいことができなくなってしまいますが、子オブジェクトの「移動制御を手放す」チェックボックスをオンにするとクラッシュしなくなりました。
調査の参考になるか分からないですが、よろしくお願いいたします。

追加調査ありがとうございます!
となると消滅した親オブジェクトを追従しようとしてクラッシュしているのか・・・
報告させていただきます。

「いいね!」 1

こちらの問題ですが、クラッシュ問題は本日配信のバージョン1.2.11にて修正をさせていただきました。

ただ、こちらの問題は2つの複合的な要素が絡まっている問題でした。

  1. BindObjectsによる生成時、親オブジェクトが消滅対象となっているとクラッシュする(←報告頂いた問題です)
  2. 復活条件「シーンが切り替わった」のオブジェクトが、シーンを切り替えて戻ってくると、「元々シーンにあったオブジェクト」と、「復活したオブジェクト」の2つに増殖してしまう。

2.の方はまだ修正中になります。

「いいね!」 1

ご連絡ありがとうございます。
1については私の方でもクラッシュしないことを確認いたしました。
早急なご対応ありがとうございました。

2についてはご連絡いただいた通り、消滅後にシーンを切り替えて戻ってくると消滅したオブジェクトが動かなかったりオブジェクトが2つに増殖することを確認いたしました。
こちらについては引き続きご対応よろしくお願いいたします。

こちらオブジェクトの分裂問題を本日配信の1.2.12で修正させていただきました!

こちらに関してですが、1.2.12でも分裂問題が再現しております。
また「出現時の実行ステート」が実行されない不具合もありそうです。
以下に実施した内容を記載いたしますのでご確認よろしくお願いいたします。

■実施したこと
①オブジェクト1体を消滅後にシーン切替して戻ってくる

  1. 分裂事象は再現しないが、オブジェクトの「出現時の実行ステート」が実行されない
  2. 再度シーン切替して戻ってくる
    →オブジェクトの「出現時の実行ステート」が実行される

②オブジェクト2体を消滅後シーン切替して戻ってくる

  1. 分裂事象は再現しないが、オブジェクトの「出現時の実行ステート」が実行されない(二体とも)
  2. 上記状態のオブジェクトを再度消滅させ、シーン切替し戻ってくる
    →消滅させたオブジェクトが分裂している

こちらの件、オブジェクトによっては分裂が再現しない代わりに、②-1~②-2の手順を実施すると、オブジェクトがカメラにフレームインしたタイミングでダメージ処理が走り、オブジェクトが消滅する事象も発生しています。
「出現時の実行ステート」が実行されないことが悪さをしているような気もしますが詳細な条件は不明です。。。

こちらですが、「出現時の実行ステート」はその名の通り出現時に行われるもので、消滅からの復活では実行されないものになっています。
なので、消滅後に初期ステートに戻るようなリンクを作るなどで対応してみていただくことは可能でしょうか。

ご回答ありがとうございます。
ご記載いただいた内容を試しに実施してみました。

・消滅後に無条件で初期ステートに戻すと、オブジェクトは見えないのですが初期ステート以降のVSが実行されている。(敵の攻撃もプレイヤーオブジェクトにヒットする)

・オブジェクトが完全に消滅してから初期ステートに戻すと、そもそもオブジェクトが消滅しているため初期ステートに戻すことができない。

------
以降、私の所感となりますがご確認・ご検討いただけますと幸いです。
・私の作りの問題ですが、複数の(雑魚)敵オブジェクトを1つのVSで管理しているため、上記対応はなかなか難しい
→戻るべき初期ステートを変数等で分岐させる必要がある

・BaseSettingsの消滅後の復活条件で復活したオブジェクトが、初期ステートを実行しないことに少し違和感を感じる
→分裂事象も鑑みると、復活は内部的には別オブジェクトを配置しているため初期ステートが実行されるべきではないか。また、アクションゲームであれば敵が復活した際には初期ステートを実行する方が自然に感じる

→復活した際に初期ステートを実行しないのであれば、「復活した際に実行するステート」を設定する項目がほしい(基本的には初期ステートになる気がするのであまり意味はないかもですが)

ご意見ありがとうございます。
挙動変更となるので慎重に検討したいところですが、確かにその方が良さそうですよね・・・開発チームと協議してみます。

「いいね!」 1

ありがとうございます。
いずれにしても現状ではVSにて消滅後に初期ステートに遷移させるのは上手くいっていないため、最低限何かしらの代替策は必要かと思います。

お手数をお掛けして申し訳ありませんがよろしくお願いいたします。

こちら開発に確認したところ自分の認識違いがありました、
復活時に実行されるステートは最後に実行していたステートではなく、「初期ステート」になるとのことでした。
もし初期ステート以外が実行されているのであればバグかもしれません。

また、「出現時のステート」ですが、こちらはご要望通り復活時に対応できないか検討させていただいています。
従来の仕様と競合しないよう、「復活時のステート」という新しい設定を追加するかもしれません。

「いいね!」 1

ご連絡ありがとうございます。
先ほど確認したところ、復活時は「初期ステート」が実行されていました。
そのため、バグではなさそうです。

ただやはり、現状のままだと
・ここの足場には左右に移動するゾンビを配置しよう
・こっちの足場にはプレイヤーを追跡するゾンビを配置しよう
とした場合、復活時に初期ステートを実行すると、復活した際にそれぞれの挙動ができないかと思います。
それぞれの挙動ごとにオブジェクトとVSを作成すれば可能かもしれないですが、さすがにそれば煩雑かなと感じました。

>また、「出現時のステート」ですが、こちらはご要望通り復活時に対応できないか検討させていただいています。
>従来の仕様と競合しないよう、「復活時のステート」という新しい設定を追加するかもしれません。
ご検討ありがとうございます。
個人的には、復活時に「初期ステート」を実行ではなく「出現時の実行ステート」を実行すれば最低限問題ないかと思っております。
が、ご認識の通り従来の仕様や他機能との相互関係、私も把握できていない部分もあるかと思いますので、お忙しいところ恐縮ですが引き続きご検討よろしくお願いいたします。

こちらの問題は本日配信の1.2.13にて「復活時のステート」設定を追加する形で実装させていただきました、よろしくお願いいたします。

「いいね!」 1

復活時の実行ステートの追加ありがとうございます。
追加いただいた機能が問題なく動作していることを確認できました。
この度はこちらのご提案をご検討いただき、また早急なご対応ありがとうございました。

ただ、テストPJでは再現しないのですが、私が開発しているPJの方だと何故かオブジェクトの分裂事象が発生している状況です。
原因が分からないため、少し調査・検証してみます。

また、今回の改修が原因かは不明ですが、下記のような事象が発生しております。
テスト用PJを添付いたしますのでご確認よろしくお願いいたします。
testproject_2026-05-26.zip (2.1 MB)

■再現方法
前提(敵の設定):
・表示方向:FaceDirecitionにてプレイヤーを向くように設定
・テンプレート移動でプレイヤーに近づくように設定
・BaseSettingsの左右反転モードをオン
・出現時の実行ステート、復活時の実行ステートは初期ステート以外を設定

手順
1.起動後、Zキーで攻撃して敵オブジェクトを倒す
2.右のポータルからシーン2へ遷移
3.シーン2の右のポータルからシーン1へ遷移
4.★敵オブジェクトが後ろを向きながらプレイヤーへ近づく
5.デバッグを終了せずに、再度手順1~4を実行すると敵オブジェクトの向きが正しい状態でプレイヤーに近づく

上記、初期ステートのアニメーションカテゴリ名を未設定(空欄、またはハイフン)にすると上記事象が発生しなくなる(敵の向きが正しくなる)ようです。

「いいね!」 1