位置: 编程技术 - 正文

Unity3D插件之TextMeshPro字体资源的制作(unity text)

编辑:rootadmin

推荐整理分享Unity3D插件之TextMeshPro字体资源的制作(unity text),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity text,unity 3d text,unity中text的用法,unity3d插件怎么用,unity 3d text,unity ui text,unity3d插件怎么用,unity3d插件怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

由于TextMeshPro的字体资源后缀是.asset,所以,需要我们借助插件的字体工具TextMeshPro-Font Asset Creator来生成新的字体资源。该工具打开路径:Window-Font Asset Creator。具体操作可见TextMeshPro/User Guide/TextMesh Pro User Guide.pdf这个文档,有详细介绍。

由于用到了中文字体,所以需要修改插件的源码。本篇博客还提供了常用的个字体的txt文档,下载链接:

制作字体的具体步骤如下:

1、生成txt字体文件

把你所需要的字体,粘贴复制到txt文档中,另存为,编码&#;式选择Unicode&#;式。关于字符编码&#;式,见上面的文章。点击打开链接 。

2、熟悉插件工具——Font Asset Creator

1)Font Source:设置字体&#;式,我用的是隶属,为了避免错误,尽量去Windows系统里拷贝字体过来即可。在工程目录下新建Fonts目录,拷贝进去。

2)Font Size:设置字体大小,最好是使用Auto Sizing

3)Font Padding:设置字体间距,像素为单位,*尺寸下,间距设置为5即可

4)Atlas Resolution:设置图集尺寸,根据字体多少来确定

5)Character Set:设置字体内容,即需要制作的字体资源包括哪些字体。(1)ASCII:仅包含ASCII的字符集;(2)ASCII Lowercase:小写ASCII字符集;(3)ASCIIUppercase:大写ASCII字符集;(4)Numbers&#;Symbols:数字&#;符号字符集;(5)Custom Range:可以定义一个范围的字符集,但是仅限于ASCII和拉丁字母,如在自定义窗口范围输入-或者-;(6)Custom Characters:自定义字符集,可以在自定义窗口输入自定义的字符;(7)Characters from File:从外部文件读入,即我们这片文章介绍的主要内容。当选择该模式时,可以拖拽一个txt文档到自定义窗口。如上图所示;

Unity3D插件之TextMeshPro字体资源的制作(unity text)

6)Font Style:字体&#;式设置,如加粗、下划线、outline等。但是这个设置是非必须的;

7)Font Render Mode:字体渲染模式。(1)Hinted Smooth:反锯齿渲染模式;(2)Smooth:和(1)差不多;(3)Raster Hinted:光栅渲染模式,带hinting效果;(4)Raster:光栅模式,不带hinting效果;(5)Signed Distance Field :创建SDF字体集的标准模式,字体采样使用X,生成更精确的资源;(6)Signed Distance Field :使用X采用,处理复杂的字体或者高频率曲线的变化,注意:这个处理方式显著低于X的模式。

8)Get Kerning Pairs:暂时不懂,也没用到。

9)Generate Font Atlas:生成字体资源

)Save TextMeshPro Font Asset:保存字体资源,是以.asset的后缀文件保存的。保存位置放在刚才创建的Fonts目录下即可,如果使用Signed Distance Field的渲染模式,将会生成在字体资源名称后加上SDF。

3、修改TextMeshPro源码

通过2生成的字体资源,我们在使用时会报The given key was not present in the dictionary:原因是这个插件是以ASCII为基础,处理的代码逻辑,所以需要做一些修改。通过代码我们可以看到,保存字体资源时,使用的是字典型的数据结构中,key&#;使用该字体当前编码方式下的进制数。如“A"在ASCII编码&#;式下是,保存时的key即为。又如汉字”我“在Unicode编码&#;式下是u,转换为十进制是,则保存时key&#;即为。而插件的源码中默认给我们添加了LineFeed()、Return()、Space()3个ASCII字符,所以这三个字符保存时使用的是ASCII下的编码&#;。因此,当我们使用Unicode时,如果插入ASCII的编码&#;,肯定会报错的。所以我们把它注释掉。即:TextMeshProFont.cs :添加 /* ; 添加 /*; :改为了;TMPro_Private.cs :Fonts/ARIAL SDF 改为UI/Fonts/SIMLI。可以自己全局搜索characterDictionary.TryGetValue,看看哪里使用到了自己没使用的key&#;,注释或者修改掉就可以了。保存,运行;

运行发现还是报错,再次检查发现,TextMeshPro默认给我们使用了Arial SDF,即TMPro_Private.cs 行,把字体设置成你自己的字体资源即可。注意路径问题。

同时,TextMeshPro设置text的长度默认是8,但是当我们传入的字符串长度超出8时,会给我们新开辟一个数组,并赋&#;给原来的数组。详见TMPro_Private.cs 行和行。

4、使用到的工具

1)各种进制转换: TMPro

运行即可看到效果,其实不懂的可以详细看看上面提到的文档。

Unity3D工程生成代码解析 转载自:

Unity3D的坑系列:打包Assetbundle丢失Shader问题(贴图显示不了) Unity3D的坑系列:打包Assetbundle丢失Shader问题(贴图显示不了)从Unity4.2开始,为了减少首包大小,不会默认将所有Shader引擎加到游戏程序中,据Unity技术

关于Shader wants normals, but the mesh doesn&#;t have them的问题 转载自:

标签: unity text

本文链接地址:https://www.jiuchutong.com/biancheng/380115.html 转载请保留说明!

上一篇:Tasharen Fog of War v1.0战争迷雾插件的使用(含Unity5.0Bug解决)

下一篇:Unity3D工程生成代码解析(unity3d怎么编程)

  • 实物折扣的增值税
  • 个税申报人员多怎么申报
  • 买的矿泉水可以烧开吗
  • 开办费计入管理费用后是否要转出
  • 个人取得哪项收入需要缴纳个人所得税
  • 企业改制重组增值税优惠政策
  • 跨月应该如何开具红字发票?
  • 接受捐赠材料支付的运费 扣除
  • 施工企业仪器设备入什么会计科目核算?
  • 土地罚款可以计入成本吗?
  • 劳务公司民工工资可以抵进项吗
  • 预收电费怎么做会计分录
  • 机打发票领回怎么录入
  • 企业净资产指的是什么?
  • 怎么知道是不是强制执行
  • 公司所得税汇算清缴退税流程
  • 员工借款收不回来账务处理
  • 坏账准备本期期末应有金额
  • 没有预付账款科目计入哪里
  • ca证书延期不了
  • 企业 停业
  • 化工厂危险废物种类以及处置方式
  • 收回物资的加工成本
  • win7的文件系统
  • win11插耳机没声音
  • win11怎么提高运行内存
  • pavmail.exe - pavmail进程是什么文件 有什么用
  • linux zmodem
  • win10开机强制进入修复模式
  • php判断两个给定值相同
  • linux init3
  • 收到支票直接背书账务
  • 业务实际发生没得取得发票怎么做账
  • 持有至到期投资在资产负债表怎么填
  • 详解php实现页面跳转
  • laravel框架最新版本
  • php实现自动识别的方法
  • 深度学习中正样本、负样本、简单样本、困难样本的区别 (简单易懂)
  • ai作画
  • Vue中 provide、inject 详解及使用
  • 工程竣工决算会计账务处理
  • 固定资产改造费用化账务处理
  • 所得税需要结转么
  • 进货退出进项税额的核算
  • 销售的百分点怎么计算
  • 所得税季度申报表怎么填
  • 农业种植公司有补贴吗
  • 学习笔记——Servlet
  • 印花税怎么填申报表
  • 工资预提和计提的区别
  • 合营企业和联营企业构成关联方吗
  • 企业哪些进项税抵扣
  • 销售明细账本怎么填写
  • 固定资产汽车折旧年限是多少年
  • 电费已支付未充值
  • 如何调整以前年度库存
  • 支票存根联丢失可以用回单代替么
  • 工程结算收入是否缴纳增值税
  • 银行承兑汇票怎么看
  • 商品销售成本的计算可以采用逆算成本法,其操作方法是
  • 结账时如何划线进去
  • mysql 5.7.12 winx64安装配置方法图文教程
  • sqlserver数据库备份
  • Linux下Dr.com(802.1x)拨号上网完美解决方法(Ubuntu)
  • centos 安装选择
  • window怎么样
  • linux查看sh
  • 微软商店更新错误
  • sql2000停止拒绝访问
  • linux内核命名
  • windows8无法安装wps
  • js设计模式有什么用
  • jQuery实现的AJAX简单弹出层效果代码
  • javascriptz
  • jQuery基于muipicker实现仿ios时间选择
  • python dask
  • 报销的费用交印花税吗
  • 小规模纳税人租赁收入增值税税率是多少
  • 税法普法宣传
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设