Unity手游实战:从0开始SLG——TextMeshPro(五)Sprites
TextMesh Pro 允许你通过Rich Text的方式在text里包含sprites,因为sprites其实是图片,所以要确保它的分辨率够高才行。
1、Sprite Asset
使用Sprites功能的话,你需要提供一张texture atlas。TextMesh Pro使用它自己的管理器来管理这些资源。你可以无限制的使用Sprites atlas。但是需要明确的是,你使用的 atlas越多,Draw calls就会越高,所以如非必要,最好使用一张吧。
1.1、Creating A Sprite Asset
- 首先你需要提供一张Sprite的atlas texture。把它的 Texture 格式 设置为 Sprite (2D and UI),Sprite Mode设置为Multiple。
- 使用 Unity的Sprite Editor工具将图集分割成单独的sprites。
- 通过Asset - Create - TextMeshPro - Sprite Asset的方式创建一个新的 Asset资源。你在做这步操作之前,必须要先选中一个texture,因为创建 sprite asset的过程就是通过选中的这个texture来进行的。你需要保留这张源纹理,但是你可以把它的格式改回normal,因为我们不再需要使用Unity的sprite数据了。
1.2、Using Sprite Assets
使用 Sprite Assets之前,先将它放在Resources / Sprites folder 目录下面,这样TextMesh Pro才能找到它们。不过你也可以配置一个默认资源。
sprite asset会保持对源图集的引用,并且它也拥有自己的material,用来渲染这些sprites。
1.3、Sprite List
在这里你可以编辑atlas里的每一个sprite,也可以做一些必要的调整。这些sprites会被分页显示,可以通过顶部和底部的按钮进行页码切换,也可以通过搜索名字来过滤这些sprites。点击某一个入口区域,可以激活当个sprite的编辑功能,你可以在这里做修改,复制或者移除等操作。
sprites的名字是自动生成的,但是你可以按照你想要的名字去修改,不过要保证唯一性。你也可以在rich text里使用id来鉴别不同的sprite,id是不能修改的。
- X, Y, W, H几个值是用来标识sprite的矩形区域。
- OX and OY 用来偏移sprite的位置,定义它左上角和它baseline的位置关系。
- ADV 值用来控制下一个字符离当前字符baseline的距离。
- SF 用来缩放sprite,方便调整sprite的大小。