统一坐标不起作用
Unity coordinates doesn't work
我是 Unity 的新手,如果这个问题不难回答,请见谅:)
所以,我在编辑器中的 Canvas 上有一段文字,没关系,它在场景编辑器和游戏中也显示得很好。
但是,当我添加两个 Sprites,分别是玩家和敌人时,这些 sprite 的位置表现得有点奇怪。
文本位置是:x:-293 y:195,当我修改文本的位置时,它工作正常。
当我将精灵添加到 x:0 y:0 和 x:1 y:1 时,在场景编辑器中它们出现在左下角,但是当我签入时游戏中,他们被放置在屏幕中央。
我的问题是为什么场景(灰色)和游戏(蓝色)上的坐标和位置如此不同?
因为Unity中Canvas的初始化渲染模式是"ScreenSpace - Overlay"。所以它显示在场景中太大的区域。如果你只想在相机的视野中工作,在检查器中只需将 Canvas 的渲染模式更改为 "ScreenSpace-Camera" 并将你的 MainCamera 拖到检查器中的 RenderCamera 。即使您使用 ScreenSpace-Camera,RectTransform(UI 对象变换)的坐标系也不同于 Transform(普通游戏对象变换)
在此视图中,如果靠近场景的左下角,您会看到主相机区域和处于正确位置的精灵。
希望对您有所帮助。
我是 Unity 的新手,如果这个问题不难回答,请见谅:) 所以,我在编辑器中的 Canvas 上有一段文字,没关系,它在场景编辑器和游戏中也显示得很好。 但是,当我添加两个 Sprites,分别是玩家和敌人时,这些 sprite 的位置表现得有点奇怪。
文本位置是:x:-293 y:195,当我修改文本的位置时,它工作正常。
当我将精灵添加到 x:0 y:0 和 x:1 y:1 时,在场景编辑器中它们出现在左下角,但是当我签入时游戏中,他们被放置在屏幕中央。
我的问题是为什么场景(灰色)和游戏(蓝色)上的坐标和位置如此不同?
因为Unity中Canvas的初始化渲染模式是"ScreenSpace - Overlay"。所以它显示在场景中太大的区域。如果你只想在相机的视野中工作,在检查器中只需将 Canvas 的渲染模式更改为 "ScreenSpace-Camera" 并将你的 MainCamera 拖到检查器中的 RenderCamera 。即使您使用 ScreenSpace-Camera,RectTransform(UI 对象变换)的坐标系也不同于 Transform(普通游戏对象变换)
在此视图中,如果靠近场景的左下角,您会看到主相机区域和处于正确位置的精灵。
希望对您有所帮助。