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

一、sprite尺寸问题

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

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

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

场景视图

游戏视图

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

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

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

相关推荐
Thomas_YXQ5 小时前
Unity3D中基于ILRuntime的组件化开发详解
开发语言·网络·游戏·unity·unity3d
青岚岁叶2 天前
设计模式——泛型单例类
单例模式·设计模式·unity3d
Thomas_YXQ5 天前
Unity3D 如何做好项目性能优化详解
开发语言·性能优化·游戏引擎·unity3d·热更新
Thomas_YXQ8 天前
Unity3D Huatuo:零成本高性能的全平台原生C#热更新方案详解
开发语言·游戏·unity·unity3d
Thomas_YXQ9 天前
Unity3D 基于GraphView实现的节点编辑器框架详解
unity·编辑器·unity3d·游戏开发·热更新
Thomas_YXQ12 天前
Unity3D Huatuo:划时代的原生C#热更新技术详解
开发语言·游戏·unity·c#·unity3d
Thomas_YXQ13 天前
Unity3D Huatuo技术原理剖析详解
unity·unity3d·游戏开发·性能调优·热更新
Thomas_YXQ1 个月前
Unity3D项目为什么要使用FairyGUI
开发语言·unity·游戏引擎·unity3d·游戏开发
nicepainkiller1 个月前
Flutter 内嵌 unity3d for android
flutter·unity3d
Thomas_YXQ1 个月前
Unity3D ngui和ugui区别与优缺点详解
服务器·游戏·unity·unity3d·游戏开发