Unity手游实战:从0开始SLG——TextMeshPro(五)Sprites

3 年前 · 来自专栏 Unity手游开发三两事

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的大小。
编辑于 2019-11-22 20:14

文章被以下专栏收录

    Unity手游开发三两事

    Unity手游开发三两事

    记录游戏开发中碰到的各种问题,解决思路和方法,以及项目或者技术方案的选型和总结。