【BUG】使用 VS 动作生成对象时,因 BaseSettings 的 “离开摄像头复活” 功能出现 bug//【バグ報告】VS アクションでオブジェクト生成時の BaseSettings によるオブジェクト再生成の不具合//【Bug Report】Object Respawn Bug Caused by BaseSettings When Spawning Objects with VS Actions

使用 VS 动作生成对象时,因 BaseSettings 的 “离开摄像头复活” 功能出现 bug。

AGM:1.0.24

操作方法:← or →

动作-对象生成后BaseSettings复活bug.rar (362.5 KB)

复现步骤(方式一):

  1. 运行项目(开始测试)。:backhand_index_pointing_up:

  2. 让对象 A(作为镜头相关的对象)离开圆形对象 B。

  3. 再返回圆形对象 B 的位置,有时需要重复几次操作.

从零复现步骤:

  1. 在场景中预先通过一个 A 对象生成多个 B 对象(为便于确认,将它们设置在不同 X 轴位置)。

  2. 启用 B 对象 BaseSettings 中的 “离开摄像头复活” 条件及启用条件。

  3. 为 B 对象设置摧毁条件(离开距离、时间消除、离开摄像头)。

  4. 当镜头离开 B 对象的摧毁触发位置后,B 对象会在同一位置复活,有时还会导致 debug 模式直接卡住甚至闪退。

问题描述:

  1. 当 A 对象生成若干个 B 对象后,B 对象离开摄像头范围被删除,再次返回 B 对象所在区域时,B 对象会在同一位置生成,有时还会导致程序卡住甚至闪退。

  2. A 对象生成其他 B 对象后,这些 B 对象不会触发 BaseSettings 中 “镜头靠近时启用” 的条件。

  3. 如果直接将 B 对象预先放置在场景中,则不会出现闪退情况,且复活和删除过程顺利。

JP:

操作方法:← または →

AGM:1.0.24

https://guild.rpgmakerofficial.com/uploads/short-url/gHfht5CpEeDh9BIgXGFn49U0b4H.rar

再現手順(方法 1):

  1. プロジェクトを実行します(テスト開始)。:backhand_index_pointing_up:

  2. A オブジェクト(カメラに関連するオブジェクト)を円形の B オブジェクトから離します。

  3. 円形の B オブジェクトの位置に戻ります。時にはこの操作を何度か繰り返す必要があります。

ゼロからの再現手順:

  1. シーン内であらかじめ 1 つの A オブジェクトを使って複数の B オブジェクトを生成します(確認しやすいように、X 軸の異なる位置に配置します)。

  2. B オブジェクトの BaseSettings にある「カメラ範囲外で再生成」の条件と有効化条件を有効にします。

  3. B オブジェクトに破棄条件(距離外、時間経過、カメラ範囲外)を設定します。

  4. カメラが B オブジェクトの破棄トリガー位置から離れると、B オブジェクトが同じ位置で再生成され、時にはデバッグモードが直接フリーズしたりクラッシュしたりします。

問題の説明:

  1. A オブジェクトが複数の B オブジェクトを生成した後、B オブジェクトがカメラ範囲外に出て削除され、再び B オブジェクトのあるエリアに戻ると、B オブジェクトが同じ位置で生成され、時にはプログラムがフリーズしたりクラッシュしたりします。

  2. A オブジェクトが他の B オブジェクトを生成した後、これらの B オブジェクトは BaseSettings の「カメラが近づいた時に有効化」という条件がトリガーされません。

  3. B オブジェクトをあらかじめシーンに配置した場合、クラッシュすることはなく、再生成と削除もスムーズに行われます。

EN:

Operation Method: ← or →

AGM:1.0.24

https://guild.rpgmakerofficial.com/uploads/short-url/gHfht5CpEeDh9BIgXGFn49U0b4H.rar

Reproduction Steps (Method 1):

  1. Run the project (start testing).:backhand_index_pointing_up:

  2. Move object A (the object related to the camera) away from the circular object B.

  3. Return to the position of the circular object B, sometimes you need to repeat the operation several times.

Zero-based Reproduction Steps:

  1. In the scene, pre-generate multiple B objects using one A object (place them at different X-axis positions for easier identification).

  2. Enable the “Respawn when leaving camera” condition and enable condition in the BaseSettings of B objects.

  3. Set destruction conditions for B objects (out of distance, time elimination, leaving camera).

  4. When the camera leaves the destruction trigger position of B objects, B objects will respawn at the same position, and sometimes it will cause the debug mode to freeze or crash directly.

Problem Description:

  1. After object A generates several B objects, B objects are deleted when they leave the camera range. When returning to the area where B objects are located again, B objects will be generated at the same position, and sometimes it will cause the program to freeze or crash.

  2. After object A generates other B objects, these B objects will not trigger the “enable when camera is close” condition in BaseSettings.

  3. If object B is placed directly in the scene in advance, there will be no crash, and the respawn and deletion processes will be smooth.

I was able to replicate the crash with the project. I’ve reported it to the devs with the event viewer info to see if we can narrow this down.

thanks :cat_face: