我遵循了演示代码,但无法绘制TextGeometry。字体文件存在于服务器上。

    var loader = new THREE.FontLoader();

    loader.load( 'fonts/open-sans-regular.js', function ( font ) {

        const textMaterial = new THREE.MeshBasicMaterial( { color: 0x00ffff } )

        const textGeometry = new THREE.TextGeometry('asdfasdfasdfdsf',
        {
            font: font,
            size: 300,
            height: 200,
            curveSegments: 4,
            material: textMaterial
        }
    )

        textGeometry.translate(20, 50)
        const mesh = new THREE.Mesh(textGeometry, textMaterial)
        scene.add(mesh)

    } );

最佳答案

 <script type="text/javascript" src="Font.js" ></script>
 <script type="text/javascript" src="FontLoader.js" ></script>
 <script type="text/javascript" src="FontUtils.js" ></script>
 <script type="text/javascript" src="TextGeometry.js" ></script>
 <script type="text/javascript" src="helvetiker_regular.typeface.js">
 </script>


我不确定是否有帮助。但是,当我首先添加这些文件时,我可以创建3D文本。
这是我的代码。

 var textMat = new THREE.MeshBasicMaterial({color:0x000000});
 var textGeo = new THREE.TextGeometry("text",{
    size : 15,
    height: 1,
    curveSegments: 3,
    font: 'helvetiker',
    weight: 'normal',
    bevelThickness: 3,
    bevelSize: 0,
    bevelEnabled: true
  });
  var textMesh = new THREE.Mesh(aboutmeGeo,bulletMat);
  textMesh.position.set(x,y,z);
  function createText(){
  scene.add(textMesh);
  }
  function removeText(){
  scene.remove(textMesh);
  }


我在threejs r80中下载了FontLoadejs,Fontjs;
FontUtiljs在这里:
https://github.com/kriffe/threejs-extras
您可以在threejs旧版本中下载helvetiker_regulartypefacejs。
希望我的回答对您有所帮助。^-^

关于javascript - Three.js TextGeometry故障图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39159338/

10-10 22:08