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

一、sprite尺寸问题

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

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

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

场景视图

游戏视图

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

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

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

相关推荐
留待舞人归4 天前
【Unity3D优化】优化多语言字体包大小
游戏·unity·游戏引擎·unity3d·优化
留待舞人归7 天前
【Unity优化】提高热更新和打包速度
游戏·unity·游戏引擎·unity3d·优化
Thomas游戏开发9 天前
Unity3D 自动化游戏框架设计
前端框架·unity3d·游戏开发
一名用户11 天前
unity实现自定义粒子系统
c#·unity3d·游戏开发
Thomas游戏开发13 天前
Unity3D TextMeshPro终极使用指南
前端·unity3d·游戏开发
Thomas游戏开发14 天前
Unity3D 逻辑代码性能优化策略
前端框架·unity3d·游戏开发
Thomas游戏开发15 天前
Unity3D HUD高性能优化方案
前端框架·unity3d·游戏开发
一名用户17 天前
unity随机生成未知符号教程
c#·unity3d·游戏开发
Thomas_YXQ1 个月前
Unity3D HUD UI性能优化方案
开发语言·ui·搜索引擎·性能优化·全文检索·unity3d
Thomas_YXQ1 个月前
Unity3D Overdraw性能优化详解
开发语言·人工智能·性能优化·unity3d