TextMesh Pro是Unity默认文本组件的替代品。TextMesh Pro和默认组件一样拥有高性能,它使用了完全不同的Signed Distance Field(SDF)渲染技术,该技术最初由Valve在《军团要塞2》中使用。TextMesh Pro能够很轻松就能让文本看起来更美观,还提供了更高级的控制功能,你可以通过检视窗口和脚本控制文本效果。

当你在项目中使用TextMesh Pro,它拥有改进的视觉效果。由于使用SDF渲染技术,你可以轻松修改文本的效果,无需重新制作字体。每个TextMesh Pro组件都附带可以调整的材质,从而修改文本的风格。TextMesh Pro还具有更好的控制功能。TextMesh Pro组件包含所有原始文本组件拥有的变量以及更多其它变量。

全世界现在有超过25万名开发者在使用TextMesh Pro,我们将在本文中将介绍如何充分使用这款强大的工具。

TextMesh Pro对比默认文本

使用默认Unity文本时,有时候拉伸或调整文本对象大小会使其看起来很模糊。这是因为该文本对象不带有相应信息控制调整大小后的效果,因此Unity需要“临时拼凑”像素,并尝试动态生成丢失的像素。

TextMesh Pro使用了不同的渲染技术,所以不存在这样的问题。SDF的原则是以高分辨率渲染字体图集,因此字体始终拥有调整字符大小时的外观信息。

2018-10-30 11:51 上传

下载附件 (52.33 KB)

使用TextMesh Pro,你可以导入任意字体文件,并点击Window > TextMesh Pro > Font Asset Creator创建自定义字体资源。这允许你为字体图集选择分辨率,选择的分辨率将决定SDF渲染处理文本时的效率。分辨率越低,字体图集生成的速度就会越快。

2018-10-30 11:51 上传

下载附件 (39.01 KB)

由于字体带有不同大小的外观信息,它可以从字体图集重构轮廓和阴影,你只需要调整材质的属性,并观察文本外观的变化即可。

更好的控制功能

TextMesh Pro可以提供非常美观的文字,但如果无法控制它,美观的文本又有什么意义呢?

TextMesh Pro组件拥有多个选项,允许你自定义字体大小、段落间距、对齐方式、文字间距等属性,还能启用Autosize功能来使文本适应容器的大小。

Autosize功能和文本容器可以让你在处理不同平台或文本语言时更好地控制文本效果,因为它们允许文本自动根据文本容器调整大小,不必编写任何脚本。然而,如果你想在运行时修改这些设置,你可以从TextMeshPro API访问TextMesh Pro组件中的所有变量。

对于额外的自定义图层,你可以添加Text Info Debug Tool 组件到文本对象上,以便直观地表示字符、文字、链接和文本行等属性。

2018-10-30 11:51 上传

下载附件 (34.32 KB)

如果你希望在每次插入标头,标题或引语时节省格式化文本的时间,可以根据特定用途设置风格图集。例如:向标头添加装饰内容。

若要创建风格图集,选择Create > TextMesh Pro > Style Sheet即可。你可以将新资源设为默认风格图集,在Edit > Project Settings > TextMesh Pro Settings进行设置即可。

2018-10-30 11:51 上传

下载附件 (43.19 KB)

富文本

除了用检视窗口和脚本控制文本的外观,你还可以使用文本字段进行控制。

如果你熟悉HTML或XML,可以使用它们自定义文本效果。如果不熟悉的话,可以阅读如何在TextMesh Pro中使用富文本指南来了解。当你想在同一文本对象中使用多种风格、大小和材质时,该功能非常实用。

2018-10-30 11:51 上传

下载附件 (639.07 KB)

自定义材质

使TextMesh Pro变得美观的另一个方法是给文本应用表面着色器,这能让场景中的光照影响文本。

下图的示例中,几个实时点光源会在场景中移动,展示文本受光照影响的效果。

2018-10-30 11:51 上传

下载附件 (1.22 MB)

材质属性提供了选项用于自定义各种设置,例如:Face、Outline、Bevel、Lighting、BumpMap、EnvMap、Glow和Debug设置。

创建出满意的材质后,你可以创建一个材质预设,以便能够在任何时候重复使用字体资源。我们可以右键单击材质名称,选择‘Create Material Preset’,这样做会创建材质预设资源,它可以在TextMesh Pro component > Font Settings > Material Preset中选择。

回退系统

如果生成的字体图集缺少部分字符,每当输入这些字符时,TextMesh Pro会使字符回退到默认字形,你可以在Edit > Project Settings > TextMesh Pro Settings修改该字形。

你也可以设置一个或多个字体资源,当字符无法在主要图集中找到时,TextMesh Pro会将字符回退为这些资源中的字符。出于优化目的,可以使用高分辨率的主要字体图集,而所有回退图集则使用较低分辨率。

你可以使用TextMesh Pro设置来设定字体和材质或图片精灵资源在Resources路径中的位置。

使用富文本时,你可以插入一个精灵,具体根据你在设置中定义的可用主精灵资源。最简单的方法是导入精灵图集,然后在精灵编辑器中进行切分,右键点击该资源,选择Create > TextMesh Pro > Sprite Asset。

你可以自定义资源的偏移或轴心等设置。相同的,如果在主精灵资源找不到指定精灵,你可以设置一系列回退精灵资源(Fallback Sprite Asset)用于回退。

2018-10-30 11:51 上传

下载附件 (131.86 KB)

性能

在性能方面, TextMesh Pro的性能和默认文本的性能没有差别。它仍会在四边形上渲染,因此它和使用位图字体时一样高效,而且也没有运行时内存分配,TextMesh Pro只会在运行项目时为文本对象分配空间。

如果大幅提高字符数量,也只会发生一次重新分配;如果降低字符数量,也不会进行重新分配,除非减少至少256个字符。就改进效果而言,因为TextMesh Pro使用SDF渲染技术,你可以通过TextMesh Pro得到更好的风格结果,例如:轮廓和阴影。

安装与资源

你在Unity 2018.1及更高版本中点击Window > Package Manager > TextMesh Pro > Install 进行安装。

当你将TextMesh Pro导入项目中时,本文所提到的多数功能可以在示例场景中找到。建议你在使用TextMesh Pro前查看这些场景,因为示例场景的内容会解答你的许多疑问。

在TextMesh Pro中使用富文本指南,请访问:

游客,如果您要查看本帖隐藏内容请回复

小结

如何在Unity 2018中充分使用TextMesh Pro为大家介绍道这里,希望你能学以致用创造出更加精美的UI。

unity3d html 富文本框,在Unity 2018中充分使用TextMesh Pro相关推荐

  1. 在Unity 2018中充分使用TextMesh Pro

    TextMesh Pro是Unity默认文本组件的替代品.TextMesh Pro和默认组件一样拥有高性能,它使用了完全不同的Signed Distance Field(SDF)渲染技术,该技术最初由 ...

  2. selenium python 文本框输入信息_selenium python向富文本框中输入内容

    基于本人不会JavaScript,不能像大神一样写出很牛X的方法,只能使用者屌丝方法了,不过很容易理解. 我使用的是ueditor富文本框 1.我的富文本框是在一个iframe中,进入iframe的方 ...

  3. uniapp 电商app 富文本框的使用——添加图文功能

    uniapp 富文本框的使用 uniapp中是有富文本框组件的. uniapp中的富文本框组件的使用官网链接:https://uniapp.dcloud.io/component/editor?id= ...

  4. uniapp 发布文章app 富文本框的使用——添加图文功能

    uniapp 富文本框的使用 uniapp中是有富文本框组件的. uniapp中的富文本框组件的使用官网链接:https://uniapp.dcloud.io/component/editor?id= ...

  5. 解决Vue用v-html、v-text渲染后台富文本框文本内容样式修改问题,用自定义css样式无法渲染出对应效果的问题

    举例: 如果您要加载富文本框内容的DOM id是detail 那么就这么写scss样式 #detail {font-size: 14px;text-align: center;&>> ...

  6. 常用的富文本框插件FreeTextBox、CuteEditor、CKEditor、FCKEditor、TinyMCE、KindEditor ;和CKEditor实例...

    目前市面上用的比较多的富文本编辑器有: FreeTextBox 一个有很多年历史的富文本编辑器了,使用简单,而且一般的使用是免费的,但是不开源,上传图片上传附件等功能没有,扩展性差. CuteEdit ...

  7. ueditor 不显示工具栏_Python 之Django富文本框Ueditor的使用

    Django框架是用Python进行Web开发的重要框架,进行Web开发通常会用到网页编辑器,百度的Ueditor网页编辑器功能非常强大,不直接支持python,但有Django第三方插件支持这就是D ...

  8. split、replace、indexof、substr 用法 (获取后台富文本框内容,截取图片)

    1.split()  分割字符串,转化成数组 (1)分割数据中有某段字符串的数据 ,转化成数组 //拿取富文本框中的图片var div=data[0].text.split("/agricu ...

  9. django(7)modelform操作及验证、ajax操作普通表单数据提交、文件上传、富文本框基本使用...

    一.modelForm操作及验证 1.获取数据库数据,界面展示数据并且获取前端提交的数据,并动态显示select框中的数据 views.py from django.shortcuts importr ...

最新文章

  1. dataframe构建
  2. 博客园2013年5月份第1周源码发布详情
  3. 九、Pandas高级处理
  4. 支付宝国庆消费报告出炉:景区消费涨9倍
  5. spring boot log4j2与三方依赖库log4j冲突无法初始化问题解决方法
  6. Android中关于Volley的使用(四)利用NetworkImageView来加载图片
  7. 一道海量日志的随机选取问题
  8. java期末大作业:记事本
  9. JavaWeb课程设计学生宿舍管理系统
  10. 百度招聘的一个小彩蛋
  11. QML快捷键(Shortcut、Keys)
  12. 奶茶店的线上线下营销策略
  13. 计算机网络不同层中用于将网络互连的中间设备——转发器、网桥(桥接器)、路由器、网关
  14. 计算机应用基础(本)第4章答案,计算机应用基础第4章习题答案(江西省三校生).doc...
  15. 谷歌html弹出ie页面,如何从谷歌跳转IE,打开指定的网址
  16. Linux防火墙的关闭
  17. RocketMQ-broker启动流程详解
  18. loadrunner使用web_add_header添加HTTP信息头(比如Content-Type,token等)和使用
  19. CSS/HTML 如何在网页中添加空格(琐碎知识点整理)
  20. 百度贴吧BDUSS获取器

热门文章

  1. 让一个有宽高的盒子垂直水平居中
  2. 数字化转型时代 百年品牌OKI是如何跟进的?
  3. vue 熟悉v-model,双向绑定 实现三级联动
  4. 2020.09.15丨细菌真菌基因组测序原理
  5. 如何轻松修改图片?分享一款40种功能的图片处理工具
  6. 前端web(网络)相关概念(含经典面试题不多)
  7. 调查支付宝 余额宝 天弘基金
  8. matlab 期权图,期权定价matlab程序.docx
  9. @EFragment增强碎片(Fragment)
  10. Java_day10-自我总结