我对物体的本地坐标和世界坐标完全感到困惑。 我有这样的对象层次结构:
我将 LeftTargetPrefab 和之前保存的位置(例如 Vector3(10f, 10f, 10f))添加到 BallsPath 中,并且设置正确。但如果我尝试将 LeftTargetPrefab 添加到 BallTargets,则位置也会设置为 Vector3(10f, 10f, 10f)。如果在开始游戏时,我创建 LeftTargetPrefab 的克隆并将其拖动到 BallsTarget 中,则坐标将正确转换为本地坐标。如何确保通过 Instantiate 添加到 BallsTarget 时,LeftTargetPrefab(Clone) 位置立即正确地重新计算到本地位置?
当您说“使用之前保存的位置添加 LeftTargetPrefab”时,这是否会在运行时从脚本中发生?
您可以尝试
Object.Instantiate的
instantiateInWorldSpace
选项。为此,您可以通过父级 Transform
进行实例化(我猜在本例中为 BallsTarget
)。
另一种选择是通过父对象的
Transform.loaclPosition
等传递父对象的位置和可能的局部坐标偏移。