【问题标题】:use TextGeometry.js in Three.js在 Three.js 中使用 TextGeometry.js
【发布时间】:2016-09-16 16:05:48
【问题描述】:

我想知道您如何在您的three.js 场景中使用three.js 中的extras 文件夹中的TextGeometry.js。我试图在我的场景中添加文本。我找到了这个文件,但不知道如何实现/使用它。这是该文件的链接: https://github.com/mrdoob/three.js/blob/master/src/extras/geometries/TextGeometry.js

【问题讨论】:

标签: javascript 3d three.js


【解决方案1】:

首先创建一个JSON字体here

然后像这样加载它:

var loader = new THREE.FontLoader();

loader.load("fonts/your_font.json", function(font) {

    var textGeo = new THREE.TextGeometry("This is a 3D text", {

        font: font,

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

        bevelThickness: 1,
        bevelSize: 1,
        bevelEnabled: true

     });

    var textMat = new THREE.MeshLambertMaterial({color: 0xFF00FF});

    var textMesh = new THREE.Mesh(textGeo, textMat);

    scene.add(textMesh);

});

【讨论】:

  • 完成所有这些操作后出现此错误:'FrontPageNeue.typeface.json:1 Uncaught SyntaxError: Unexpected token :' 这是我的字体文件:1001freefonts.com/front_page_neue.font 我下载了这个并转换了 .otf文件转为 json。这是错的吗?我应该做一个不同的文件吗?
  • 很多错误。场景现在加载了!它们是: three.js:24569 XMLHttpRequest 无法加载文件:Html/fonts/FrontPageNeue.json。跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。 然后这个: TextGeometry.js:1 Uncaught SyntaxError: Unexpected token import 然后这个: FrontPageNeue.json:1 Uncaught SyntaxError: Unexpected token : TextGeometry.js:1 Uncaught SyntaxError:意外的令牌导入
  • 查看this 跨域请求错误问题。
  • 我尝试了您的示例,将其添加到threejs.org/docs/#Manual/Introduction/Creating_a_scene 末尾显示的 HTML 中,并使用 r81,但我什么也没看到。我用我自己的字体尝试了这两种字体,然后是这个字体:github.com/mrdoob/three.js/blob/master/examples/fonts/… 我没有看到任何错误,我添加了一个 console.log,所以我知道字体正在加载。也许您可以扩展您的示例以使其完全可重现?
  • 更新一下:我搞定了——你的size:50,height:10 比我场景的其他部分大得多。我想我的相机在里面,或者类似的东西。我还需要加一盏灯! github 存储库中的字体和我自己的字体都可以使用。
猜你喜欢
  • 2021-12-23
  • 2023-04-07
  • 2016-02-14
  • 2015-08-05
  • 1970-01-01
  • 2011-12-16
  • 2018-01-23
  • 2015-07-02
  • 1970-01-01
相关资源
最近更新 更多