我们使用一张图片来作为Sprite图集,创建地形图:
运行后,会发现,瓦片之间似乎总是有间距。
检查了图片发现,并不是图片边界存在间隙。
最后发现问题是出在图片资源中的线性过滤属性值:
在设计界面就能够看的很清楚。
起初还以为是tilemap的属性值设置不正确导致。
最终发现问题出在这里:
图片导入到Unity之后,对于其Unity中,有一个属性值:Filter Mode。
默认配置的是:Bilinear。
查看UnityDoc上如下描述:
Filter Mode: Select how the Texture is filtered when it gets stretched by 3D transformations. The default option is Bilinear.
从描述上看是3D位移时的纹理过滤,实际上2D也会受到影响。
Bilinear: The Texture appears blurry up close.——纹理近距离显示模糊?不是很懂。
将其设置为无过滤,上图中的“缝隙”就消失了。
最终显示效果如图所示:终于正常了:
也许在3D场景中会有更加明显的差异吧。就我们的问题而言,确实是这个属性值影响的。修改后也确实解决了我们的问题,做个记录。