add_childでシーンを読み込むとゲームオブジェクトが無効になる問題について

add_child を使用してシーンをロードする際に問題が発生しています。

func _switch_to(room_scene: PackedScene) -> void:
	if current_scene:
		current_scene.queue_free()

	current_scene = room_scene.instantiate()
	scene_layer.add_child(current_scene)

上記のコードのように、子ノードを切り替える方式でシーンをロードしようとしています。これは、私のプロジェクトが SubViewport ノードを使用して2Dカメラのビューポートを表示し、ビューポートとUIを共存させる効果を実現しているためです。


しかし、ここで問題が発生しました。このシーンを直接インスタンス化した場合、



GameObject は正常にインタラクション可能です。

しかし、コードを使用してシーンを追加した場合、



GameObject は正常にインタラクションできません。

この間、コライダーの条件は変更されておらず、違いはロード方法のみです。この問題の解決方法についてご教示ください。

理解が正しいとすれば、コードで GameObject を追加した際、その GameObject が正しく動作しないということでしょうか?

コードで GameObject を追加する際は、以下のように AGMakerManager に登録する必要があることを知っています:
AGMakerManager.regist_game_object(“TargetNode”)

これを試して、うまくいくかどうか確認してみてください。

ありがとうございます。実際、プロジェクトの進行を促進するため、後ほど関連するGameObjectをNode2Dノードに置き換えました。ご提案いただいた方法は、この問題に関する最小限の検証プロジェクトで試してみます。