Three.js - 为什么在与mergeVertices结合使用时,computeVertexNormals的行为会有所不同?

时间:2018-01-29 09:53:32

标签: javascript three.js

我正在创建具有几何和具有three.js的材质的形状(在一个框架中)我通过更新它们在tick函数中的位置来设置几何顶点的动画。

为了在顶点更新时实现材质的平滑过渡,我在tick函数中使用.computeVertexNormals(); - 如果我在初始集合中不使用.mergeVertices,我希望这样做起来。但是如果我确实使用.mergeVertices那么顶点正态数要么根本没有更新,要么它们没有平滑更新(它们有时会在转换结束时快速恢复)。

不要在这里发布大量代码,请参阅以下2个小提琴,以便与.mergeVertices进行比较

这是第一个形状更新的地方(没有.mergeVertices

https://jsfiddle.net/e0gu8y7w/8/

这是我加入.mergeVertices(第37行)的第二个

https://jsfiddle.net/e0gu8y7w/9/

第二个例子中包含.mergeVertices是这两个例子之间的唯一区别。

我很高兴在这里复制代码,如果这更有帮助,但我认为看动画是一种更好的方式来说明我遇到的问题。如果你点击并查看,我将不胜感激。

我做错了什么或是预期的?如果是这样,有没有一种方法可以在使用.mergeVertices时实现平滑过渡,因为我希望将其保留在代码中。

如果需要更多信息,请告知我们。谢谢。

0 个答案:

没有答案