【发布时间】:2023-03-29 00:30:02
【问题描述】:
我不确定这是否是错误,但是一旦您在 THREE.BoxGeometry 中调用 geometry.computeVertexNormals(),并计算顶点法线,我认为结果向量是错误的。
以this为例:
geometry = new THREE.BoxGeometry(50, 50, 50);
geometry.computeVertexNormals();
material = new THREE.MeshNormalMaterial();
正如您所见,一切看起来都已正确完成,但是如果您旋转 X 轴,您会看到向量指向 different 方向。
mesh.rotation.x = 90 * Math.PI / 180;
我们不应该期望向量在几何合并之前正好指向 3 个现有向量的中心吗?像这样的东西:
如果不是,请解释为什么会发生这种情况?
提前致谢。
【问题讨论】:
-
打电话给
mergeVertices对我来说似乎没有任何区别 -
你是对的。 three.js 在创建
THREE.BoxGeometry时显然已经删除了重复的顶点。我习惯于只使用 WebGL 创建一个立方体,你最终会得到 24 个顶点。很好发现。
标签: javascript three.js normals vertices