Edgeshelper 不更新网格的位置

Edgeshelper not updating position of mesh

我想画一个有颜色的盒子,包括边缘(用不同的颜色) 这是我用来创建框和边的代码。我已将它们都添加到 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);

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

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

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

只移动了边缘。为什么?

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

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

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

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

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

three.js r.70