通过将纹理放入 Assets 文件夹,即可将等距瓦片地图的各个瓦片或瓦片图集导入 Unity 项目。选择导入的图像可以在 Inspector 窗口中查看其纹理导入器 (Texture Importer) 设置。
导入精灵供等距瓦片地图中使用时,请使用以下建议设置。有关每项设置的更多信息,请参阅 Texture Type: Sprite (2D and UI) 文档。
1.Texture Type - 将此项设置为 Sprite (2D and UI)。瓦片地图不支持其他纹理类型。 2.Sprite Mode - 如果纹理只包含一个精灵,将此项设置为 Single。如果包含多个精灵纹理(例如具有多个瓦片纹理的精灵图集),则设置为 Multiple。 3.Pixels Per Unit (PPU) - 此值是构成所选精灵的一个 Unity 单位的像素数。此设置决定了精灵在瓦片地图上渲染时的大小。还受到包含瓦片地图的网格的 Cell Size 设置(决定了构成单个单元格的 Unity 单位数量)的影响。
在下面的示例中,导入的精灵为 256x128 的图像,且等距瓦片地图的 Cell Size 为(XYZ:1, 0.5, 1)Unity 单位。要使精灵完全适合瓦片地图的单个单元格,请将其 PPU 值设置为 256。然后,精灵的整个宽度对应于一个 Unity 单位:等于单个单元格的宽度(X 值:1)。
如果精灵的 PPU 值设置为 128,则其宽度变为 2 (256px/128) Unity 单位。这会导致精灵在瓦片地图上绘制时在视觉上显示为覆盖 2 个单元格的宽度。但是,渲染精灵的瓦片仍为单个单元格位置。
1.Mesh Type - 设置为 Tight 可确保瓦片网格贴合导入的精灵的轮廓,并使瓦片在瓦片地图上绘制到一起保持齐平。由于大多数等距瓦片一般为菱形,将此属性设置为 Full Rect 可能会导致在等距瓦片的角点处绘制不必要的透明空间而造成浪费,因此不建议这样设置。 2.Generate Physics Shape - 如果瓦片不需要与 Physics2D 交互,则取消选中此选项。如果启用此选项,可根据瓦片精灵的形状生成物理形状,然后与 Tilemap Collider 组件一起使用。若要使生成的物理形状与瓦片地图的单元格匹配,请选择瓦片资源并将其 Collider Type 属性设置为 Grid。
导入精灵后,通过打开每个精灵的 Sprite Editor 并编辑它们的轮廓即可优化轮廓。对于等距瓦片地图中的精灵,应该设置精灵的 Pivot 属性,使“ground”相对于精灵。
如果在将 Sprite Mode 设置为 Multiple 的条件下导入纹理并且纹理包含多个精灵,则应在 Sprite Editor 中编辑每个精灵的轮廓。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.