【问题标题】:ThreeJS font not loadingThreeJS字体未加载
【发布时间】:2015-05-06 09:35:13
【问题描述】:

我最近开始使用 ThreeJS,但我想不通。 我想加载自己的字体以在场景中显示 3D 文本对象,我跟着 this example 一切顺利,但现在当我只更改 TextGeometry 对象中的“字体:”选项时,一切都崩溃了,什么都没有显示(错误是字体未定义)

我使用 typeFace 创建字体并包含脚本似乎很好, 我个人认为我输入错误的字体名称有一些东西,因为我在某处读到 .typeface.js 之间的所有内容都是threeJS正在寻找的实际字体名称,应该包含(小写),但是在示例中,没有 _regular 。 或者字体名称和字体系列之间的区别......不知道!

谢谢。

    <script type="text/javascript" src="mrdoob-three.js-1769fbf/examples/fonts/helvetiker_regular.typeface.js"></script>
    <script type="text/javascript" src="trebuchet_ms.typeface.js"></script>


        var textGeo = new THREE.TextGeometry( "THREE.JS", {
            size: 50,
            height: 10,
            curveSegments: 50,
    //        font: "helvetiker",  works fine 
            font: "trebuchet_ms",
    //        weight: "bold",
    //        style: "normal",
            bevelThickness: 11,
            bevelSize: 0,
            bevelEnabled: true
        });
        textGeo.computeBoundingBox();
        var textMaterial = new THREE.MeshPhongMaterial( { color: 0xff0000} );
        var mesh = new THREE.Mesh( textGeo, textMaterial );
        mesh.position.set(0,0,0) ;
        mesh.castShadow = true;
        mesh.receiveShadow = true;
        scene.add( mesh );

Uncaught 正常粗细和正常样式的字体 trebuchet 是 不见了。

【问题讨论】:

标签: fonts three.js


【解决方案1】:

这里是如何找到要使用的字体名称:

  1. 打开 typeface.js 文件
  2. 查找 font_family 属性:"font_family_name":"Trebuchet MS"
  3. 将其更改为全部小写。空间很好。

所以在你的具体例子中:

var textGeo = new THREE.TextGeometry( "THREE.JS", {

    size: 200,
    height: 50,
    curveSegments: 12,

    font: "trebuchet ms",
    // weight: "normal",
    // style: "normal",

    bevelThickness: 2,
    bevelSize: 5,
    bevelEnabled: true

});

提示:如有疑问,请在遇到错误时在浏览器控制台中评估 THREE.FontUtils.faces。这将为您提供所有当前注册字体的名称。

【讨论】:

  • 谢谢,对我帮助很大:)
  • 字体名不用调整,reference小写即可:new THREE.TextGeometry(str, {font: "trebuchet ms"})
  • 感谢有关 THREE.FontUtils.faces 的提示。
猜你喜欢
  • 2012-12-26
  • 2014-09-07
  • 2018-03-06
  • 1970-01-01
  • 2017-12-10
  • 2016-06-05
  • 2013-10-16
  • 2013-11-08
  • 1970-01-01
相关资源
最近更新 更多