ThreeJS通过id获取元素(Mesh)

时间:2013-07-27 12:28:18

标签: javascript jquery 3d three.js mesh

我在Three.JS中有一个Mesh对象 我怎样才能获得带有id的Mesh对象,并改变它的位置,如jQuery中的$(#"sample") 或者更好的想法是在代码中间更改对象的位置。

var voxel = new THREE.Mesh(new THREE.CubeGeometry(x, y, z), new THREE.MeshBasicMaterial(...))
voxel.id = "sample";
scene.add(voxel);

1 个答案:

答案 0 :(得分:4)

为安全起见,请勿覆盖现有的Object3D.id

var objects = {};

mesh1.id2 = "mesh1";
objects[ mesh1.id2 ] = mesh1;

mesh2.id2 = "mesh2";
objects[ mesh2.id2 ] = mesh2;

objects[ "mesh2" ].position.set( 1, 1, 1 );

编辑:Object3D现在有一个属性userData。所以你可以使用这种模式:

mesh1.userData.id = "mesh1";
objects[ mesh1.userData.id ] = mesh1;

three.js r.73