如何创建隐形网格?

时间:2015-03-23 00:31:55

标签: three.js

我想拥有一组似乎在空间中自由浮动但实际上彼此连接的对象,以便它们作为一个移动和旋转。我可以将它们放在一个本身完全不可见的较大网格中,我可以应用转换吗?我尝试在transparency: true构造函数上设置MeshNormalMaterial,但这似乎没有任何效果。

作为一个简单的代表性例子:假设我想在魔方的立方体中渲染一对对角的立方体,但是让立方体的其余部分看不见。我可以旋转整个立方体,并在较小的立方体一起移动时观察效果,​​或者我可以将它们旋转到位并打破它们是更大物体的一部分的错觉。

在这种情况下,我想我会使用BoxGeometryCubeGeometry创建三个网格,其中一个边长为其他两个的三倍。我会将两个较小的网格添加到较大的网格中,然后将较大的网格添加到场景中。但是当我尝试这个时,我得到一个大的立方体,却看不到里面那些较小的立方体。如果我在较大的网格上将visible设置为false,则较小的网格会随之消失,即使我在其上明确将visible设置为true。

1 个答案:

答案 0 :(得分:0)

将它们分组到Object3D

var parent = new THREE.Object3d();
parent.add( child1 ); // etc

parent.rotation.x = 2; // rotates group