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

一、sprite尺寸问题

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

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

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

场景视图

游戏视图

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

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

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

相关推荐
SmalBox4 小时前
【节点】[ChannelMask节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox1 天前
【节点】[Filter-FadeTransition节点]原理解析与实际应用
unity3d·游戏开发·图形学
Thomas游戏开发1 天前
Unity3D的委托和事件的用法详解
前端框架·unity3d·游戏开发
SmalBox2 天前
【节点】[Filter-Dither节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox3 天前
【节点】[Blend节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox4 天前
【节点】[GammaToLinearSpaceExact节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox5 天前
【节点】[LinearToGammaSpaceExact节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox6 天前
【节点】[RGBtoGrayscale节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox7 天前
【节点】[RGBtoLuminance节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox8 天前
【节点】[ColorspaceConversion节点]原理解析与实际应用
unity3d·游戏开发·图形学