小编MrC*_*lah的帖子

React- Three/Fiber 创建 3D 文本

我正在尝试使用 Threejs + React- Three/Fiber 创建 3D 文本。我使用字体加载器加载字体,如下所示:

  const font = new FontLoader().parse('/Microsoft Tai Le_Regular.json');

Run Code Online (Sandbox Code Playgroud)

之后,我尝试在网格内使用组件,由于某种原因它不起作用,任何其他类型的几何图形都可以工作。

    <mesh>
      <textGeometry /> // this can't even be compiled ( maybe it has to do with typescript
    </mesh>
Run Code Online (Sandbox Code Playgroud)

有了这个问题,我尝试在 js 而不是 jsx 上创建 textGeometry 所以我这样做了:

     const textOptions = {
    font: font,
    size: props.size,
    height: props.height,
    curveSegments: 12,
    bevelEnabled: true,
    bevelThickness: 10,
    bevelSize: 8,
    bevelOffset: 0,
    bevelSegments: 5
  };
  
  const textGeo = new TextGeometry(props.text, textOptions);
Run Code Online (Sandbox Code Playgroud)

并将“textGeo”传递给网格几何道具

<mesh
  geometry={textGeo}
>
Run Code Online (Sandbox Code Playgroud)

仍然不起作用并给出此错误:无法访问属性“yMax”,data.boundingBox 未定义

感谢您的帮助,

3d jsx three.js reactjs react-three-fiber

5
推荐指数
2
解决办法
9754
查看次数

标签 统计

3d ×1

jsx ×1

react-three-fiber ×1

reactjs ×1

three.js ×1