https://www.xuebuyuan.com/2147872.html

Unity3d 动态字体

2014年09月05日 ⁄ 综合 ⁄ 共 2101字 ⁄ 字号 小 中 大 ⁄ 评论关闭

目前测试发现 4.0的动态字体中的Include Font Data选项对移动端依然无效。自从3.4版本将其取消后,至今没有重启。4.0看来只是加强了动态字体的渲染,但是依旧需要将字体打包进游戏安装包中,防止移动端没有该字体而造成系统崩溃的BUG。

虽然Unity对移动端强行打包字体,但是如果用户输入的问题在字体包里没有,Unity会调用系统字体进行渲染。

PC端可以使用,导入的ttf文件Character:Dynamic; Include Font Data非选中; Font Names:设置通用字体(Droid Sans Fallback,Droid Sans,Heiti SC,Helvetica,黑体,宋体,微软雅黑,华文细黑,sans-serif),编译时,字体将不会打包进游戏资源。

目前我找到的解决方案有两个,
         1.游戏导入安卓的默认字体(Droid Sans Fallback),该字体Version   1.0版只有3M,基本上可以支持用户在安卓上能够输入的所有汉字,动态字体依旧启用,如果移动端存在我们指定的默认字体,其实我们打包进去的Droid  Sans Fallback是不会起作用的。
         
        2.游戏直接使用Arial作为动态字体,打包的时候arial会被打包,只有700KB,只要移动端安装了默认字体,就不会出问题,目前测试安卓下没有问题,ios未知。

目前游戏配置的动态字体名称列表:(Droid Sans Fallback,Droid Sans,Heiti SC,Helvetica,华文细黑,黑体,宋体,微软雅黑,sans-serif,arial)
           安卓默认字体:Droid Sans Fallback,Droid Sans;
           Ios默认字体:Heiti SC,Helvetica,华文细黑;
           容错字体:黑体,宋体,微软雅黑

这里补充一点,Unity在客户端运行时,根据用户输入先使用打包的字体进行显示,如果打包字体没有该文字,那么Unity将会调用系统字体。

而且即便是在系统中没有找到游戏指定的字体时,它也会按字符编码显示相应的文字,或者Unity先调用当前系统默认字体,根本没有按指定的动态字体去调 用。这条是在安卓下测试出来的,有个人猜测的成分在:在我指定了一个英文动态字体时,依旧不影响中文在安卓端的显示。而且我在手机端安装了楷体,动态字体也指定楷体时不起作用。

Unity3.5中内建精简字体字库方法讲解

在Unity3.5中内建了精简字体字符的功能.更加方便,也非常利于修改等等.在此之前一直用FontSbusetPack进行精简.为什么要精简字库集?最简单的一个原因就是为了让Unity发布的移动设备能文本能使用字体来定义样式.

Unity内建的用法很简单,只需选择放入的字体,修改Character项为"Custom set",接着出现Custom Chars中输入你想使用的字符串,字符重复无所谓,因为最终会自动过滤掉重复字符.如输入"你好世界",那么整个字体最终只包含"你好世界"这四个字的字符贴图,也就是你仅仅能用这个字库来显示"你好世界"这几个字.最简单的测试办法只选择字体,在GameObject-Create Other-GUIText创建一个使用所选字体的文本标签来测试就可以了.

这里有一个脚本,用于将一个文本文件里包含的字符串读入并赋予给Custom Chars编辑框中.这个脚本特点是可以按照字符重复次数多少排序,即用该文本文件中用的次数越多这个字符会越靠前排列提升读取速度.另外会将键盘上的字母,数字及其他符号自动包含其中.感谢 Unity郭振平 编写和分享该脚本.

首先将下列脚本(见本文附件)保存为"UnicodeTextImporter.cs"文件放项目资源目录里的Editor文件夹内.

然后找个你需要的字体放入项目中,只好选择这字体,在检视面板中设置你需要的字体尺寸,颜色等.然后选择"Character"为"Custom set".

将你最终用来显示的文本内容以UTF-8编码保存为文本文档存于Assets/Resources(推荐的,放在任意目录下都可)中.

接着在项目视图选择这个字体文件,在Unity顶部菜单选择AssetDatabase-Import Font with Text File,会弹出打开文件对话框. 选择上面存放于Resources文件夹中的文本文件.

成功导入后会显示"ImportFontWithTextFromFile: Final Unicode String: xxxxx"字样.重新选择一次字体且选择字体的贴图会看到类似如下的精简结果.

至此精简工作完成.

如遇读取进来的不正确,有乱码现象,需检查文本编码是否为UTF-8,并且需要重启Unity才能再次正常执行该插件。

文章转自:1Vr.Cn!

Unity3d 动态字体相关推荐

  1. Unity3D中的动态字体和静态字体

    Unity3D中支持动态字体和静态字体两种格式字体,动态字体即使用TTF格式字体库,静态字体则需要自己打包字体图集.动态字体和静态字体区别在于,动态字体如果出现字体库中不存在的字体,会使用系统字体,而 ...

  2. 如何避免动态字体Font Texture过大

    这是第148篇UWA技术知识分享的推送.今天我们继续为大家精选了若干和开发.优化相关的问题,建议阅读时间10分钟,认真读完必有收获. UWA 问答社区:answer.uwa4d.com UWA QQ群 ...

  3. unity 动态字体 和 静态字体

    Unity3D中的动态字体和静态字体_Wei_Yuan_2012的专栏-CSDN博客_unity 动态字体和静态字体 静态字体(自定义字体)用来做美术字

  4. NGUI动态字体的使用

    LZ今年六月刚刚毕业,在学校跟着老师做Android,OpenGL ES方面的项目(说白了就是干苦力╮(╯_╰)╭).年后来SZ了,就业前景好像并没有电视上渲染的那样糟糕,至少IT行业是这样吧,只要你 ...

  5. 字体感觉小了 引入的vant_动态字体海报如何设计与制作?

    点击上方蓝字,把我设置为星标☆吧前天,第30期「字体+动效」课开始招收些学生,在报名咨询过程当中,有一部分人表示没接触过AE软件,感觉动态制作与设计很难,担心学不好.为了方便大家理解,我将不久前的一个 ...

  6. 动态设置html字号,html动态字体

    html 动态输出,最全总结:国内几个酷炫的H5特效,js动态输出html语句,html动态字体 html 动态,2017年HTML5行业动态,火速出"鸡"啦!,html动态字体, ...

  7. NGUI动态字体教程

    注:此教程仅是用于Unity 4+ 第1 步:导入NGUI 第2 步:导入NGUI_277c_DynamicFonts.unitypackage 如果使用的是ngui2.3.1 或更高的话替换UIFo ...

  8. flutter取消动态字体大小

    如果接触过原生开发的朋友可能知道 最初几年官方推荐使用 sp 作为字体大小的单位,但是事实上经过长时间实践的情况下,大家都开始逐渐使用 dp 作为单位 这样使用者调整系统字体大小,app 中的文字大小 ...

  9. python爬取猫眼遇到动态字体反爬

    前一段时间,爬取了58同城,发现当时的网页对数字有字体反爬虫,然后废了九牛二虎之力找到了规律,终于破解了反爬虫,后来发现猫眼的这个网页虽然使用了字体反爬,但是和原来的58同城还是有很大的差别,后来了解 ...

最新文章

  1. 清华大学何晓斌:未来人才培养是大数据、AI和人文社会科学的结合
  2. python实现顺序查找和哈希查找
  3. 深入理解编译优化之循环展开和粗化锁
  4. 学生渐进片add如何给_渐进镜片的说明与镜架选择
  5. 2017.9.17 function 思考记录
  6. “传统生意”是很难做的,因为要想赚钱,就必须扣细节
  7. python 编码 —— codecs 库
  8. TOB、TOC、TOVC
  9. linux ulimit知识
  10. element ui后台html_Github上10 个优秀的后台控制面板
  11. Delphi2007中安装OCX控件
  12. SiteMesh框架
  13. C++经典程序代码大全
  14. 应该用BPM管理业务规则吗?
  15. 手机上如何将图片压缩到最小
  16. 华钜同创:亚马逊开店六个日常运营小技巧
  17. matlab 画图添加图例时,改变图例中字体大小
  18. angularjs ng-repeat
  19. java判断数据库是否存在_java判断数据库是否存在的方法
  20. 大白菜PE怎么备份还原系统?

热门文章

  1. ar面部识别_AR面部识别有什么品牌?
  2. 共阴共阳数码管(及74HC595控制)
  3. 关于阿里云aca和acp哪个好?阿里云认证证书有含金量吗?
  4. 20190527-陈静初-文件操作-笔记
  5. 【向生活低头】wps行间距问题
  6. Android 节操视频播放器jiecaovideoplayer使用
  7. 建造智能食用菌大棚,用菌菇养殖管理系统管理温室
  8. 初识测开/测试- 细节狂魔 - 测开/测试方向
  9. doodoo.js发布1.1.0 -- 中文最佳实践Node.js Web快速开发框架,支持Koa.js, Express.js中间件。包含多项功能改进,及Bug修复。...
  10. 过于自信,面试普通Java岗被面试官吊打了。。。