我正在尝试从头开始创建一个 THREE.Geometry。 当我尝试使用它(在 THREE.Mesh 中)时,我得到
TypeError: faces3 is undefined @ three.js:20426
几何图形已创建并在屏幕上可见,但执行停止。
这是我正在使用的代码:
makePlane = function(width, height)
{
var geom = new THREE.Geometry();
var v0 = new THREE.Vector3(0, 0, 0);
var v1 = new THREE.Vector3(width, 0, 0);
var v2 = new THREE.Vector3(width, height, 0);
geom.vertices.push(v0);
geom.vertices.push(v1);
geom.vertices.push(v2);
var face = new THREE.Face3(0, 1, 2);
geom.faces.push(face);
return geom;
};
我还需要做什么才能使其正常工作?
更新: 在 R62 中仍然发生。它也发生在由 Three.js 内置的 PlaneGeometry 类生成的几何体上,所以这可能是一个 Three.js 错误。我会提交报告。
我还应该提到,执行实际上没有停止,这是我的一个错误。我刚刚收到错误,如果没有问题的话,我不应该有任何错误。
更新 2: 记录了一个问题 here ,但已关闭。
最佳答案
根据您在进一步计算步骤中所做的操作,您可能需要在返回 geom-Object 之前添加这些行:
geom.computeCentroids();
geom.computeFaceNormals();
geom.computeVertexNormals();
关于javascript - Three.js:手动创建的几何体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19532128/