Tilemap Renderer 组件用于渲染场景中的瓦片地图 (Tilemap)。Unity 会创建默认附加了 Tilemap Renderer 组件的瓦片地图。Tilemap Renderer 可以:
The Render Mode affects the sorting of Tilemap Sprites when rendered.
Chunk Mode 是 Tilemap Renderer 的默认渲染模式:
When set to Chunk Mode, the Tilemap Renderer handles Sprites on a Tilemap in batches and renders them together. They’re treated as a single sort item when sorted in the 2D Transparent Queue. While this reduces draw calls, other renderers can’t render between any part of the Tilemap, preventing other rendered Sprites from interweaving with Tilemap Sprites.
In Chunk Mode, the Tilemap Renderer isn’t able to sort Tiles from multiple textures individually and doesn’t render the tile sprites consistently (refer to the example below).
将构成瓦片地图的所有精灵个体打包到单个精灵图集中可解决此问题。为此需要执行以下操作:
从 Assets 菜单创建精灵图集(选择:Atlas > Create > Sprite Atlas)。
向精灵图集添加精灵,方法是在精灵图集的 Inspector 窗口中将精灵拖到 Objects for Packing 列表中。
单击 Pack Preview。Unity 在播放模式下将精灵打包到精灵图集中,并正确排序和渲染精灵。仅播放模式下在 Editor 中可见。
在 Individual Mode 模式下,Tilemap Renderer 会对瓦片地图上的精灵进行排序和渲染,同时考虑场景中的其他渲染器,例如 Sprite Renderer 和 Mesh Renderer。如果其他渲染器与瓦片地图上的精灵和对象进行交互,请使用此模式。
In this mode, the Tilemap Renderer sorts sprites based on their position on the Tilemap and the sorting properties set in the Tilemap Renderer. For example, this allows a character sprite to go in-between obstacle sprites (refer to the example below).
Using the same example in Chunk Mode, character sprites might get hidden behind ground sprites:
Using Individual Mode might reduce performance as there is more overhead when rendering each sprite individually on the Tilemap.
To sort and render tile sprites on an Isometric Z as Y Tilemap, set the Transparency Sort Axis to a Custom Axis. To do this:
Refer to the page on Creating an Isometric Tilemap for more information about the Transparency Sort Axis settings.