我在 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;
三.js r.73
关于javascript - ThreeJS通过id获取元素(Mesh),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17897821/