Three.js: 如何将 EdgesHelper 匹配到网格

Three.js: How to match EdgesHelper to Mesh

在场景中我添加了几个网格对象(立方体)。为每个立方体制作了一个 EdgeHelper。立方体移动和旋转,Edgehelpers 也随之移动和旋转。

我想在选中关联的立方体网格时更改 EdgeHelper 的颜色。 (选择方法不重要)。

那么,给定一个特定的立方体网格,我如何找到关联的 EdgeHelper 对象?

当您创建网格和 EdgeHelpers 时,您可以为它们分配相同的 .name 属性:

mesh0.name = 0;
edgeHelper0.name = 0;

mesh1.name = 1;
edgeHelper1.name = 1;

...and so on

**if you wrap this in a loop even better

so when a mesh is selected you can read its .nameattribute and pick the corresponding edgeHelper.

当您为给定的 mesh 创建一个 edgesHelper 时,您所要做的就是向网格添加一个新的 属性:

var mesh = new THREE.Mesh( ... );

var edgesHelper = new THREE.EdgesHelper( mesh );

mesh.edgesHelper = edgesHelper;

现在您可以像这样更改辅助颜色:

mesh.edgesHelper.material.color.set( 0xff0000 );

three.js r.76