【发布时间】:2015-02-07 04:32:19
【问题描述】:
我注意到,当我在 THREE.js 中的各种几何图形上启用“vertexTangentsHelper”时,我的切线形状不正确。
切线是否计算不正确(我怀疑它们是基于我的一些着色器输出),还是“vertexTangentsHelper”有缺陷?
据我了解,顶点的切线向量应指向“uv”贴图的“u”方向,并垂直于该顶点的法线和双切线。我在下面发布了一些屏幕截图来说明我的问题:
上图显示了使用“THREE.PlaneGeometry”创建的网格上显示的正确切线。网格的所有切线都指向同一方向。 (网格为 40 x 40,有 4 个高度段和 4 个宽度段。切线长度为 10 个单位。)
上图说明了使用“THREE.BoxGeometry”创建的网格上显示的不正确切线。沿边的切线未与其相关面的切线对齐。 (网格为 40 x 40 x 40,每个面有 4 个高度段和 4 个宽度段。切线长度为 10 个单位。)
什么可以解释这种不一致?问题出在“computeTangents”代码还是“VertexTangentsHelper”代码中?或者还有什么我没有考虑到的?我正在使用three.js re70。
【问题讨论】:
标签: javascript three.js