Edgeshelper没有更新网格的位置

时间:2015-02-04 12:54:41

标签: javascript three.js

我想画一个彩色的盒子,包括边缘(用不同的颜色) 这是我用来创建框和边的代码。我已将它们都添加到object3D中,因为我在场景中会有许多不同的对象,并且希望强制执行封装。

var mesh = new THREE.Mesh( geo, material );   
var edge = new THREE.EdgesHelper( mesh, 0xffffff );

var container = new THREE.Object3D();
container.add(mesh);
container.add(edge);

scene.add(container);

以上发布的代码有效并产生了这个:

img

但是当我像这样改变父对象的位置时:

container.position.set(0,30,0);

仅移动边缘。为什么呢?

enter image description here

将.updateMatrix()添加到容器,网格或边缘对象似乎不会产生不同的结果。

如何移动父对象,包括它的所有子对象?

1 个答案:

答案 0 :(得分:2)

您需要直接将助手添加为场景的子项。

这是由于许多帮助者中出现了以下几行:

this.matrix = object.matrixWorld;
this.matrixAutoUpdate = false;

three.js r.70