将GeometryUtils.merge()迁移到geometry.merge()

Wer*_*ape 10 javascript three.js

从r66迁移到r67我收到消息:

DEPRECATED:GeometryUtils的.merge()已移至Geometry.请改用geometry.merge(geometry2,matrix,materialIndexOffset).

它似乎不是直接转换,因为旧代码看起来像这样:

THREE.GeometryUtils.merge(cgeo,cloudgeometry);

我尝试过以下方法:

cgeo.merge(cloudgeometry.geometry,cgeo.matrixWorld);

编辑,也尝试了以下产生与上面相同的结果:

cgeo.merge(cloudgeometry.geometry);

结果是一个在区域内被压缩的网格,好像它完全忽略了被添加到我创建的新网格中的子网格的位置,所以我得到一个小的白色博客,而不是一个漂亮的大看起来.

没有关于这个最新变化的文档,所以我试图理解它是如何工作的,如果它是一个简单的1对1迁移它会很好,因为它会工作,但它似乎完全改变的方式.

mrd*_*oob 9

确保在合并之前已更新矩阵.代码应该看起来像这样:

cloudgeometry.updateMatrix();
cgeo.merge( cloudgeometry.geometry, cloudgeometry.matrix );
Run Code Online (Sandbox Code Playgroud)