1

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

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

1 回答 1

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;

三.js r.73

于 2013-07-27T17:10:30.087 回答