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

Three.js几何体无法在场景中渲染?新手技术求助

问题排查:Three.js场景全白不显示立方体

1. Three.js库文件未正确引入

你的代码里用了<script src="three.min.js"></script>,但如果这个文件不存在于当前项目目录,或者文件名/路径写错了,浏览器加载不到Three.js库,后续所有Three相关的代码都会报错,导致渲染逻辑完全不执行,页面就会显示空白。

解决方法:

  • 从Three.js官网下载对应版本的库文件,放到项目根目录下,确保文件名和代码里的引用一致
  • 打开浏览器开发者工具(F12)的「控制台」面板,看是否有THREE is not defined这类报错,就能确认是库加载问题。

2. 页面高度样式缺失

你的CSS里只设置了body的margin和padding为0,但没有给body设置高度,导致canvas的height:100%无法继承到有效高度。虽然renderer已经设置了尺寸为窗口大小,但CSS的高度问题可能导致canvas被压缩或不显示。

解决方法:
修改body的样式,加上高度设置:

body {
    margin: 0;
    padding: 0;
    height: 100vh; /* 让body占满视口高度 */
    overflow: hidden; /* 避免滚动条 */
}

3. 场景可视性验证

虽然你的相机位置z=50,立方体在原点,理论上能看到,但可以临时添加辅助工具确认场景是否正常:
比如在代码里添加坐标轴辅助器:

var axesHelper = new THREE.AxesHelper(20);
scene.add(axesHelper);

如果加载了Three.js后能看到坐标轴,说明场景和相机没问题,那可能是立方体的材质或位置问题(不过MeshBasicMaterial本身不受光照影响,应该能正常显示)。

另外,也可以给立方体添加旋转动画,方便观察是否显示:
在render函数里加两行:

cube.rotation.x += 0.01;
cube.rotation.y += 0.01;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:50:24