You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Three Fiber中Text Geometry修改参数后无法缩放的问题求助

React Three Fiber文本极小无法正常显示的解决办法

问题根源

你代码里的FontLoader.load是异步加载方法,直接把它的返回值赋值给font时,这个变量初始是undefined。textGeometry初始化时用了未加载完成的字体,导致文本被渲染成极小的像素点。

修复方案

用React Three Fiber提供的useLoader钩子替代原生FontLoader.load,它会自动处理异步加载的状态,确保字体加载完成后再渲染文本:

  1. 导入所需依赖:
import { useLoader } from '@react-three/fiber';
import { FontLoader } from 'three';
import { TextGeometry } from 'three/addons/geometries/TextGeometry.js';

extend({ TextGeometry });
  1. 加载字体:
const font = useLoader(FontLoader, 'node_modules/three/examples/fonts/droid/droid_sans_bold.typeface.json');
  1. 文本渲染代码保持原有参数即可:
<mesh position={[-170, 30, 0]}>
  <textGeometry 
    args={[
      "DP LAYER", 
      {
        font,
        size: 80,
        height: 5,
        curveSegments: 12,
        bevelEnabled: true,
        bevelThickness: 10,
        bevelSize: 8,
        bevelOffset: 0,
        bevelSegments: 5 
      }
    ]}  
  />
  <meshBasicMaterial color="red" />
</mesh>

额外排查点

如果修复后还是看不到文本,检查相机配置:

  • 确保相机的视锥体(fov、near/far参数)包含文本位置
  • 调整相机position,保证文本在相机可见范围内

内容的提问来源于stack exchange,提问作者Precious112

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 14:42:04