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 .name
attribute 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
在场景中我添加了几个网格对象(立方体)。为每个立方体制作了一个 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 .name
attribute 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