Three.js 加载中文字体
three.js在场景中可以加载obj文件(OBJLoader),加载stl文件(STLLoader)
加载文件太大时可以将obj和stl等转化的json文件等。
本文讲解如何加载字体以及中文字体
之前用three.js写个加载3D立体文字效果,发现输入中文会返回“?”,后来发现three.js字体(examples\fonts)文件夹下的json文件中只有英文和一些符号的,没有中文。
所用工具:facetype.js-gh-pages(上传字体,可以找本地电脑控制面板中的字体库的字体(TTF)进行测试,不过找小一点的,太大了编辑器打开会崩溃)
我用的是 方正兰亭超细黑简体 1.6M挺小,可以打开下面工具地址,上传这个ttf后缀的字体文件,它将会下载一个.json的文件。
https://github.com/gero3/facetype.js.git 下载地址
http://gero3.github.io/facetype.js 远程地址
加载慢的优化方案有:
1.弄个默认的json文件,把glyphs对象数组清空( "glyphs":{} ),在加载之前请求接口,接口返回该输入字体的glyphs下的字体数据对象,让把对象追加到glyphs里
面,就不用加载全部的了。
按照这方法100%能加载出中文字体,经本人亲测。