我想拥有一组似乎在空间中自由浮动但实际上彼此连接的对象,以便它们作为一个移动和旋转。我可以将它们放在一个本身完全不可见的较大网格中,我可以应用转换吗?我尝试在transparency: true
构造函数上设置MeshNormalMaterial
,但这似乎没有任何效果。
作为一个简单的代表性例子:假设我想在魔方的立方体中渲染一对对角的立方体,但是让立方体的其余部分看不见。我可以旋转整个立方体,并在较小的立方体一起移动时观察效果,或者我可以将它们旋转到位并打破它们是更大物体的一部分的错觉。
在这种情况下,我想我会使用BoxGeometry
或CubeGeometry
创建三个网格,其中一个边长为其他两个的三倍。我会将两个较小的网格添加到较大的网格中,然后将较大的网格添加到场景中。但是当我尝试这个时,我得到一个大的立方体,却看不到里面那些较小的立方体。如果我在较大的网格上将visible
设置为false,则较小的网格会随之消失,即使我在其上明确将visible
设置为true。
答案 0 :(得分:0)
将它们分组到Object3D
。
var parent = new THREE.Object3d();
parent.add( child1 ); // etc
parent.rotation.x = 2; // rotates group