核心提示:首先,你要拥有将ttf格式的字体(网上随便找个ttf的字体吧),转换成js文件。当然只还得依靠于gihub提供的插件(下载地址:https://github.com/gero3/facetype.js...
首先,你要拥有将ttf格式的字体(网上随便找个ttf的字体吧),转换成js文件。当然只还得依靠于gihub提供的插件(下载地址:https://github.com/gero3/facetype.js)
第二步,你就是需要把它引用到你的threejs中。当然你还得确保他有中文字体吧!,最最简单的方法就是打开js,然后随便翻几页,看看有没有中文字体咯!
<script type="text/javascript" src="fonts/FangSong_Regular.typeface.js">script>还可以有很多,记住,必须把格式改成(xxxxxxxx.typeface.js)
<script type="text/javascript" src="fonts/bitstream_vera_sans_mono_roman.typeface.js">script> <script type="text/javascript" src="fonts/helvetiker_regular.typeface.js">script> <script type="text/javascript" src="fonts/helvetiker_bold.typeface.js">script>
第三步,我就不细述,怎么在threejs中写代码,直接附上代码;
/*设置字体*/
var text1;
var controls2 = new function () {
this.size = 80;
this.height = 30;
this.bevelThickness = 2;
this.bevelSize = 0.5;
this.bevelEnabled = true;
this.bevelSegments = 3;
this.bevelEnabled = true;
this.curveSegments = 12;
this.steps = 1;
this.font = 'fangsong_gb2312';//注意,这个要与浏览器运行时F12中的object相一致。
this.weight = "normal";
// this.style = "italics";
this.asGeom = function () {
// remove the old plane
scene.remove(text1);
// create a new one
var options = {
size: controls2.size,
height: controls2.height,
weight: controls2.weight,
font: controls2.font,
bevelThickness: controls2.bevelThickness,
bevelSize: controls2.bevelSize,
bevelSegments: controls2.bevelSegments,
bevelEnabled: controls2.bevelEnabled,
curveSegments: controls2.curveSegments,
steps: controls2.steps
};
console.log(THREE.FontUtils.faces);
text1 = createText(new THREE.TextGeometry("GAP", options));
text1.position.x = -500;
text1.position.y = 100;
text1.position.z = 900;
scene.add(text1);
};
}
controls2.asGeom();
这里需要说的
this.font = 'fangsong_gb2312';这个名字的取法应该跟浏览器中的相同!
然后,就可以愉快的使用中文输出啦!!!!效果如下:


