Three.js 中的 TextGeometry

3

我在Three.js r74中遇到了TextGeometry的一些问题...

我该如何正确地实现它?

这是我的Codepen代码:

codepen.io/cheesyeyes/pen/eJqZxK

提前感谢您!


请访问http://threejs.org/examples/webgl_geometry_text.html。 - WestLangley
这是另一个例子。http://threejs.org/examples/webgl_shadowmap.html - WestLangley
2个回答

16

好的,对于那些寻求简单答案而不是链接和其他过载示例的人:

字体必须首先使用three.js FontLoader加载:

var loader = new THREE.FontLoader();
loader.load( 'fonts/fontname.js', function ( font ) {

  var textGeometry = new THREE.TextGeometry( "text", {

    font: font,

    size: 50,
    height: 10,
    curveSegments: 12,

    bevelThickness: 1,
    bevelSize: 1,
    bevelEnabled: true

  });

  var textMaterial = new THREE.MeshPhongMaterial( 
    { color: 0xff0000, specular: 0xffffff }
  );

  var mesh = new THREE.Mesh( textGeometry, textMaterial );

  scene.add( mesh );

});   

1
THREE.FontLoader 不是一个构造函数。 - Squirrl
我也遇到了“不是构造函数”的错误,版本号为80。 - jtiscione
我不知道在版本80中发生了什么,但在81中它绝对是核心的一部分,不应该单独加载。所以它必须在那里吧? - florianmaxim
FontLoader 自 r74 版本起成为了核心的一部分。 - prisoner849
能否在TextGeometry中添加字母间距? - rahul cp
这会让你的计算机CPU烧毁,现在已经被弃用了;正在寻找新的答案... - Andy

2

我还要补充一点,您可以通过TypeFace.js将任何现有的OTF或TTF字体转换为JSON或JS字体,这对于FontLoader能够加载它是必要的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接