2

我正在使用 OBJLoader 加载大型 3D 模型(在 .obj 文件中描述),并且我想在其表面上显示模型名称。虽然 Three.js 似乎只能显示英文字符。我的问题是如何在 Three.js 中显示汉字?

4

3 回答 3

2

有几种显示文本的方法(https://github.com/mrdoob/three.js/wiki/Text-in-Three.js),但由于导出中文字体可能更困难,因此可能更容易将汉字绘制到画布纹理上,并将纹理用作场景中的材质。

于 2012-09-18T00:30:46.947 回答
0

另一种选择是使用msdf-bmfont-xml。此示例使用Microsoft YaHei

charset.txt——</p>

你好,世界

您可能需要先安装依赖项。然后:

npm install msdf-bmfont-xml -g
msdf-bmfont -f json yahei.ttf -i charset.txt --pot --square

最后,使用three-bmfont-text渲染文本。

于 2018-01-26T03:58:58.847 回答
0

好像可以用Facetype.js弄个中文字体库,比如"YaHei_Regular.typeface.json" ,就可以显示汉字了。

var fontLoader = new THREE.FontLoader();
    fontLoader.load("YaHei_Regular.typeface.json", (font)=> {
        this.font = font;
    });
于 2017-03-17T07:53:16.023 回答