javascript - Three.js computeCentroids 是做什么的?

标签 javascript three.js

我正在使用 three.js(使用 typescript )制作自己的自定义几何图形。有点不对劲,这个物体看起来全黑,都是朗伯 Material 。我检查了 three.js 源代码,看看我是否在创建几何体时忘记做某事。我看到这两行出现在几乎每个几何类的构造函数的末尾:

this.computeCentroids();
this.computeFaceNormals();

添加 computeFaceNormals 解决了我的问题。我记得法线与照明有关(所以这是有道理的)。

但我不知道 computeCentroids 的作用,以及在哪里/为什么需要这些质心。有人可以解释吗?我还需要调用该函数吗?如果我不这样做会发生什么?

最佳答案

computeCentroids 计算网格中每个三 Angular 形 的质心,而不是网格本身的中心。

查看其用途的最简单方法可能是在 three.js 源代码中搜索 .centroid。 AFAICS,除了照明之外,它们没有太多用途,但只有在您使用 CanvasRenderer 时才使用。

关于javascript - Three.js computeCentroids 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22348843/

相关文章:

javascript - 如何将 Three.js 中的网格仅在 X 和 Y 上居中

TypeScript 错误 : node_modules/@types/three/three-core. d.ts(767,24):错误 TS2304:找不到名称 'Iterable'

javascript - Mesh 在 three.js 中突然消失了。剪裁?

javascript - 用鼠标选择对象 - Three.js

three.js - 我可以提高 THREE.js 中的矢量精度吗?

javascript - 如何将变量和数据从PHP传递到JavaScript?

javascript - Passport 整合问题

c# - 我想在 session ID licitys 中存储列表项,但不能这样做可以有任何建议

javascript - 单击处理程序未触发附加项目

javascript - <script> 标签会阻塞并依次执行吗?