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

Three.js TextGeometry未在场景中显示,请求排查故障原因

排查TextGeometry无法渲染的常见问题

嘿,我来帮你捋捋TextGeometry能正常运行但看不到的常见坑,大概率是这些细节没注意到:

  • 字体文件加载出问题了:TextGeometry完全依赖字体文件(比如.ttf格式),要是你写的字体路径不对、文件没放到项目正确位置,或者没等字体加载完成就急着创建几何体,那肯定渲染不出来。你可以检查下FontLoader的代码,要么用回调确保字体加载完再创建文本,要么用await异步等待加载完成,别让代码“抢跑”。
  • 材质和光源不匹配:比如你用了MeshStandardMaterial这种需要光源的材质,但场景里没加任何光源,那文本就会黑得和背景融为一体;或者材质的color和背景色一模一样,也等于“隐身”了。试试换成MeshBasicMaterial先测试,或者给场景加个AmbientLight和DirectionalLight。
  • 文本被放错位置或者太小了:默认生成的TextGeometry可能尺寸超大或者超小,直接出了相机的视野范围!你可以试试给网格加个scale.set(0.05, 0.05, 0.05)调整大小,再用position.set(0, 0, -3)把它移到相机正前方的可见区域。
  • 忘记把网格加到场景里:这个真的是新手常犯的错——创建完new Mesh(textGeometry, material)之后,一定要调用scene.add(mesh),不然这个网格根本不在你的3D场景里,自然看不到啦。
  • Three.js版本和依赖没搞对:新版本的Three.js里,TextGeometry已经不是核心模块了,得单独引入three/addons/geometries/TextGeometry.js,同时还要引入FontLoader。要是你照着旧版本的示例写,没加这些额外的依赖,也会导致几何体创建后无法正常渲染。
  • 相机参数把文本裁切掉了:比如PerspectiveCamera的near值设得太大,刚好把近处的文本裁掉,或者fov太小,文本不在相机的可视角度里。可以调整下相机的参数,比如把near改成0.1,fov设大一点试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:15:48