潍坊做网站优化,域名怎么建网站,网络营销渠道,微信微博网站建设是在学习tilemap绘制世界地图的时候发现的这个功能。 之前一直只是粗略的知道这部分是对应图片资源的压缩的。比如Compression是指的压缩质量#xff0c;想要完全不压缩就设置None#xff0c;会导致图片资源会大一些。
在我的例子工程中#xff0c;其他图片资源的尺寸都是6…是在学习tilemap绘制世界地图的时候发现的这个功能。 之前一直只是粗略的知道这部分是对应图片资源的压缩的。比如Compression是指的压缩质量想要完全不压缩就设置None会导致图片资源会大一些。
在我的例子工程中其他图片资源的尺寸都是64x64在tilemap的调色板中放入是没有任何异常的。但是这个作为瀑布的图片原图尺寸是640x256如果按照64比例会生成10*4的图 但是从图片细节上来看并不需要切割成这么小的方块。所以切割时对64x64等比例放大成为128x128这样既能不缺少更多细节又不至于切割的过于零碎不好使用。 当然还可以继续放大。但是如果继续放大纵方向是256个像素就无法区分瀑布底部和瀑布上面不利于扩展使用。
由此我得到了10张128x128的图片0-4张可以形成瀑布上方的动画5-10可以形成瀑布下方的动画。
但是将这个作为Tile之后我发现这个Tile和其他的tile之间如果同时放入调色盘中会有明显的不适因为该tile会比其他的tile大了一圈如图所示 一个解决方法是专门为这个tile创建一个单独的调色板设置对应的尺寸这样就能够正常使用了。 但是查看示例工程将64x64的tile和这个128x128的tile放到一个调色板看着没有任何的违和感。
原因是瀑布图切割成128x128但是有一个Pixels Per Unit其他图设置为64表示一个单元格渲染64像素将这个128x128的Pixels Per Unit设置成128就表示对于这一张图一个单元大小的格子渲染这张图片时渲染128个像素最终效果就是如上图所示虽然是同样的格子原图尺寸不一样但是对于我们逻辑上来说都是一个格子。在项目工程中是统一的。
通过Pixels Per Unit就能够把不同分辨率的图通过设置每单位像素数令其在逻辑上大小一致最终效果如图所示
一开始以为是压缩导致以下是在调查这个问题的时候发现的关于素材压缩的一些配置。之前对于压缩设置只是有个概念没有具体研究其影响。
查看发现这个128x128的sprite在示例工程中实际是51x51。 那么这个51x51是怎么来的我们明明知道png素材的尺寸是640x256。
为什么不使用64x64而是51x51 如图所示。设置了“Max Size” 256.
这个是设置了图片导入工程后对图片进行怎样的一个压缩处理
设置max size为256后原本640x256的图片就会被等比例缩小为256x(256/640*256)也就是256x102.4.
这个时候虽然我们进入sprite editer中切图还是按照640x256进行切割的但是我们最终得到的可供工程所使用的“Sprite”素材已经变成了128 * 256/640 51.2。
所以这就是我们的sprite的最终尺寸了。
这个地方实际上并不是设置sprite素材的属性而是导入图片后对素材做怎样的压缩处理甚至其大小也会做对应的变化。
如
设置了maxsize 256后图片的尺寸为256x102大小为76.5KB。
如果设置的maxsize高于原图的最长宽或者高那么图片尺寸为原图尺寸
640x256并且大小也会做相应的变化成为80.0KB . 如果再次基础上我们修改Compression属性也就是修改压缩程度
比如选择“High Quality”可以看到图片的颜色格式也变成了RGBA多了一个alpha通道并且图片大小变成了160.0KB 。 之前虽然知道这个地方是设置图片导入工程后的压缩算法的但是没有这么直观的感受到。原来这里的修改是会直接影响到后面所有的使用者。
当然不要忘记那个filter mode设置为pointno filter。