“作为子对象生成”的预期值

您好,

关于对象生成选项中的“作为子对象生成”,即使选择了该选项,似乎并未成为父对象的子级(例如:不跟随父对象)。请问这具体的规格是怎样的?

我尝试将以下脚本附加到生成的对象上,并追溯其父对象,发现无论该选项是开启还是关闭,对象的“父对象的父对象”(最近的父对象是附加了脚本的节点的父对象,因此“父对象的父对象”应为预期的生成源)均为 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

给您带来不便,敬请谅解,若能确认此事将不胜感激。

关于这一点,稍微有些复杂……
“作为子对象生成”并不等同于“作为子节点生成”。
那么,什么是子对象呢?它是在 Actzuku 的视觉脚本中单独定义的,用于驱动"ChildSettings"节点。

对象的生成位置在 1.0.13 及之前版本默认为 Object Root,而在 1.0.14 及之后版本则由 Object Mount Target 规定。