1.Object3D.traverse()
Threejs 的点模型:Points、线模型:Line、LineLoop、LineSegments、网格模型:Mesh 以及Group、Scene都继承自Object3D类,Threejs的场景 Scene 层级是一个树结构,Object3D 提供了一个方法:traverse(),用于遍历场景或组或模型包含的所有后代对象,遍历对象包括自己
group.traverse((obj)=> {
//网格模型
if (obj.isMesh) {
obj.material.color.set(0xff0000);
}
//光源
else if(obj.isLight) {
}
});
2.Object3D.getObjectByName()
通过getObjectByName(name)方法可以找出名称为name的后代对象
const box = scene.getObjectByName ("box_name");
3.Ojbect3D.getWorldPosition()
获取某对象的世界坐标
const pos = new THREE.Vector3(); // 定义一个坐标保存获取的世界坐标
mesh.getWorldPosition(pos);