お世話になっております。
オブジェクトの生成オプションの「子オブジェクトとして生成」ですが、こちらを選んでも親オブジェクトの配下になっているような様子がない(例:親に追従しない)のですが、こちらについてはどのような仕様となっておりますでしょうか。
以下のようなスクリプトを配下ノードにアタッチしたGameObjectを生成し親を辿ってみたところ、オプションをオンにしてもオフにしてもオブジェクトの親の親(直近の親はスクリプトをアタッチしたノードの親GameObjectなので親の親が生成元の想定)はObjectRootで、それより上を辿っても生成元のオブジェクトを検知できませんでした。
extends Node2D
初期化時に自身からメインシーンのルートまでの全ての親ノードを遡り、名前とクラスを出力します
func _ready() → void:
# メインシーンのルートノードを取得
var scene_root: Node = get_tree().get_current_scene()
# 自身のノードから開始
var node: Node = self
# 親を遡り続ける
while node.get_parent() != null:
# 親ノードに進む
node = node.get_parent()
# ノード名とクラスを出力
print(“[Ancestor] %s (Type: %s)” % [node.name, node.get_class()])
# メインシーンのルートに到達したら終了
if node == scene_root:
break
お手数おかけいたしますがご確認いただければ幸いです。