更新于 

2D Sprite Shape

Sprite Shape

Sprite Shape

官方文档

Unity中两种创建地图的方式:

  • Tile Map 通过在grid上铺满瓦片的方式创建地图,灵活度低
  • Sprite Shape 能够对Sprite图做拉伸、平铺等操作,更加灵活

使用Sprite Shape,首先要安装它:
Window/Package Manager/Packages:Unity Registry/2D SpriteShape/Install

准备的Sprite精灵图需要进行一些配置:

  • Pixels Per Unit : 16
  • Filter Mode : Point
  • Compression : None

Open Sprite Shape

open sprite shape比较适合用来做平面

创建 Sprite Shape Profile

Project菜单/Create/2D/Sprite Shape Profile

将平面图作为-180°到180°的Sprite图填入,

在Hierarchy树下创建Open Sprite Shape:
2D Object/Sprite Shape/Open Sprite Shape

将Sprite Shape Controller的Profile设置为刚才创建的Sprite Shape Profile,
Edit Spline:

这里由于没有对Sprite拉伸的部分进行处理,所以会出现一段一段的情况,
需要对Sprite进行Border调整:

这样Sprite Shape拉伸部分就会根据调整的部分进行拼接:

Sprite Shape Collider

Sprite Shape的Collider使用Edge Collider 2D,

加入后,需要调整Sprite Shape Controller中的2个属性:

  • Update Collider 为true
  • 调整Offset,不然Collider判定在Edge的中间

Close Sprite Shape

在Close Sprite Shape中,旋转角度不同的Sprite可以选择不同的贴图,

只需要规定好起始角度,和在这个角度范围内展示的贴图即可:

注意:闭合的Sprite Shape使用Angle Ranges配置四周的贴图,
中心贴图需要对Fill Texture进行配置,
中心贴图绘制的模式在选择填入的Sprite贴图Inspector中,
有一个Weap Mode属性,可以选择Repeat重复。

Coners设置拐角贴图:

创建Close Sprite Shape,
赋值Profile,最终可以获取到一个可编辑的Close Sprite Shape: