Three.js 初学者在这里,我正在尝试创建一个由单独的网格组成的 3d 环形结构,我使用 CSG 将这些网格结合在一起。我设法将每个单独的网格沿着一个圆圈放置。我现在如何旋转它们,使每个长边都朝向圆心(我相信这是围绕对象的 y 轴旋转)?网格目前都面向同一个方向,以及我到目前为止所拥有的。
但是,当我尝试围绕 y 轴旋转其中一个时,它并没有像我预期的那样朝着圆圈向内旋转。相反,它像这样旋转。它似乎并没有从之前所在位置的中心旋转。
我尝试了以下代码来获得此结果:
mesh.position.x = 0;
mesh.position.y = 0;
mesh.position.z = 0;
mesh.updateMatrixWorld( true );
// Also tried "mesh.rotation.y = ((2 * Math.PI) / 10) * k;" instead of the following line:
mesh.rotateY(((2 * Math.PI) / 10) * k);
mesh.position.x = 25 * Math.cos((2 * k * Math.PI) / 10);
mesh.position.y = 0;
mesh.position.z = 25 * Math.sin((2 * k * Math.PI) / 10);
mesh.updateMatrixWorld( true );
提前致谢!(另外请注意,如果有人理解为什么网格的某些部分随机变得不存在/透明,那将非常有帮助)。
编辑:JSFiddle 链接