我在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);
最佳答案
为了安全起见,请勿覆盖现有的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