如果那些游戏 objects 与 UI 无关,可以将 Canvas objects(rectTransform)与常规游戏 objects(变换)混合使用吗?
is it okay to mix Canvas objects (rectTransform) with regular game objects (transform), if those game objects have nothing to do with UI?
我的游戏战斗系统(显示生命值文本等)有一个 parent Canvas 元素,并且混合了 UI 东西和可控游戏 objects 因为它是 children。所以有些 object 有 transform
,有些有 rectTransform
.
这是我的层次结构的一个小样本:
- Parent对战Canvas是canvasobject(
rectTransform
)
- BattleEnemyObject 和 BattlePlayerObject 是常规游戏对象 (
transform
)
- BattleObjects(所有实例化 object 的容器)使用
rectTransform
,
- 但是它的 child SnakePlayer 是一个普通的游戏对象 (
transform
)
我开始意识到这是多么混乱,但到目前为止一切似乎都很好。所以我的问题是,是否可以将 Canvas 内容 (rectTransform
) 与常规游戏 object 内容 (transform
) 混合使用,如果这些游戏 object 有与 UI?
无关
我想我对transform
和rectTransform
之间的区别缺乏理解。在此感谢任何建议!
是的,绝对没问题。 RectTransform
继承自 Transform
。所以所有的 RectTransforms 都具有普通变换的所有功能。
许多人将画布的渲染模式更改为 World Space
,然后将 RectTransform
视为对 space 的正常变换。有一些有趣的效果,例如下面的效果,需要 RectTransform
用作变换。
您可以拥有多个具有多种渲染模式的画布,以获得一些非常有趣的效果。
我的游戏战斗系统(显示生命值文本等)有一个 parent Canvas 元素,并且混合了 UI 东西和可控游戏 objects 因为它是 children。所以有些 object 有 transform
,有些有 rectTransform
.
这是我的层次结构的一个小样本:
- Parent对战Canvas是canvasobject(
rectTransform
) - BattleEnemyObject 和 BattlePlayerObject 是常规游戏对象 (
transform
) - BattleObjects(所有实例化 object 的容器)使用
rectTransform
, - 但是它的 child SnakePlayer 是一个普通的游戏对象 (
transform
)
我开始意识到这是多么混乱,但到目前为止一切似乎都很好。所以我的问题是,是否可以将 Canvas 内容 (rectTransform
) 与常规游戏 object 内容 (transform
) 混合使用,如果这些游戏 object 有与 UI?
我想我对transform
和rectTransform
之间的区别缺乏理解。在此感谢任何建议!
是的,绝对没问题。 RectTransform
继承自 Transform
。所以所有的 RectTransforms 都具有普通变换的所有功能。
许多人将画布的渲染模式更改为 World Space
,然后将 RectTransform
视为对 space 的正常变换。有一些有趣的效果,例如下面的效果,需要 RectTransform
用作变换。
您可以拥有多个具有多种渲染模式的画布,以获得一些非常有趣的效果。