为什么 Unity 在某些函数(例如 GetChild())中使用 Transform 而不是 GameObject?

Rog*_*ang 5 c# transform parent-child unity-game-engine gameobject

Unity 使用transform.GetChild(childNum)gameObject.GetChild(childNum).

我知道 Unity 中的每个 GameObject 都有一个 Transform 组件,并且该函数返回子项的 Transform,但是使用 GameObject 类获取子项不是更合逻辑吗,因为它引用场景或项目中的实际 GameObject而不仅仅是一个组件?为什么使用 Transform 来查找分层信息?

Con*_*sed 5

为什么使用 Transform 来查找分层信息?

因为无论是象征性的还是字面意义上的,变换都充当(并且确实)孩子和父母之间的锚点。