这个错误通常是由于模型的顶点坐标中包含NaN(Not a Number)值导致的。为了解决这个问题,可以尝试以下几种方法:\n\n1. 检查顶点数据:确保在创建模型时,顶点数据的值都是有效的数字。检查模型数据的来源,确保数据没有错误或缺失。\n\n2. 检查顶点着色器:如果你在顶点着色器中对顶点数据进行了计算或变换,确保计算结果不会产生NaN值。\n\n3. 调试顶点数据:如果你无法确定是哪个顶点数据导致了NaN值,可以使用浏览器的开发者工具进行调试。在渲染之前,打印出顶点数据数组并检查是否存在NaN值。\n\n例如,在使用BufferGeometry创建模型时,可以在计算包围球之前添加以下代码来检查顶点数据:\n\njavascript\ngeometry.computeBoundingSphere();\nconst positionAttribute = geometry.attributes.position;\nfor (let i = 0; i < positionAttribute.count; i++) {\n const x = positionAttribute.getX(i);\n const y = positionAttribute.getY(i);\n const z = positionAttribute.getZ(i);\n if (isNaN(x) || isNaN(y) || isNaN(z)) {\n console.error('Found NaN values in position attribute!');\n }\n}\n\n\n通过这些方法,你应该能够找到导致NaN值的问题,并解决这个错误。

THREE.js 错误:THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. 解决方法

原文地址: https://www.cveoy.top/t/topic/pZN7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录