每个 GameObject 都有 Transform,而且只有一个。每个变换只能创建附加到游戏对象。Hierarchy 是通过 Transform 实现的,但 GameObject 严重依赖它。
为什么它们是不同的实体而不是同一个东西,有什么原因吗?
每个 GameObject 都有 Transform,而且只有一个。每个变换只能创建附加到游戏对象。Hierarchy 是通过 Transform 实现的,但 GameObject 严重依赖它。
为什么它们是不同的实体而不是同一个东西,有什么原因吗?
Component和GameObject是名为Object的基类的继承类型。组件只能存在并附加到对象。
Transform是Component的继承类型。所有游戏对象都必须附加一个变换组件。原因是:
场景中的每个对象都有一个变换。它用于存储和操作对象的位置、旋转和缩放。每个 Transform 都可以有一个父级,它允许您分层应用位置、旋转和缩放。这是在层次结构窗格中看到的层次结构。
如果你问为什么会有这样的架构,你可能会发现这种讨论会在不止几篇文章和书籍中引起争论。我曾经自己问过这个问题,我发现下面的 Stack Overflow 答案是最好的答案。