unity2D sprite尺寸以及UI在场景视图和游戏视图显示不一致问题

一、sprite尺寸问题

unity很容易遇到瓦片地图单元格尺寸与自己的sprite图像尺寸不符的问题,这时候需要注意瓦片地图的单元格尺寸单位不是像素,默认是1,而要让自己的sprite刚好填满一个单元格,需要设置sprite图片属性中的每单位像素数。假如图片像素是16 * 16,那么将每单位像素数设置为16,就意味着瓦片地图一个单元格大小刚好是16 * 16像素。如果不设置好这个属性那么sprite就可能在瓦片地图中非常大或者非常小。

二、2D场景UI在场景视图和游戏视图显示的尺寸和位置不一致问题

问题如图所示,我的UI在场景中正常视角是看不到的,因为它在我游戏画面的右上角而且非常大,但在游戏场景中它的位置和尺寸就正常了不少。

场景视图

游戏视图

问题原因,这个问题的原因在于canvas画布的渲染模式,如图,它默认是屏幕空间-覆盖模式,在这种模式下它的游戏视图不是按照设置的相机视角渲染的,而是以画布为参考,而场景视图显示的是二维下物体的绝对位置,这样就导致了二者的显示差异。

要让两个视图一致,保证UI正常显示,就需要设置Canvas的渲染模式为屏幕空间-摄像机,并将主摄像机设置为渲染摄像机,如图

这样两个视图就一致了,UI也能正常显示了。

相关推荐
SmalBox2 天前
02-07-原理篇-文件系统与跨平台适配
unity3d·游戏开发
SmalBox3 天前
02-06-原理篇-热更新与版本管理
unity3d·游戏开发
SmalBox4 天前
02-05-原理篇-资源加载与缓存机制
unity3d·游戏开发
SmalBox5 天前
02-04-原理篇-资源组织与依赖分析
unity3d·游戏开发
SmalBox6 天前
02-03-原理篇-资源打包流程详解
unity3d·游戏开发
SmalBox7 天前
02-02-原理篇-Unity Addressable Assets原理深度解析
unity3d·游戏开发
_zhourui_h_8 天前
Unity 内存数据极限防护:一个 int 藏 8 份密文,修改器到底还能怎么改?
unity3d
SmalBox8 天前
02-01-原理篇-Unity原生AssetBundle原理深度解析
unity3d·游戏开发
fujisheng6618 天前
FUI 验证实战:从 Prefab 节点改名到生成诊断与构建门禁
unity3d
_zhourui_h_9 天前
Unity AssetBundle 打包极限治理:依赖环、重复资源、包体膨胀,怎么在上线前全部揪出来?
unity3d