threejs学习系列之四:threejs常用方法记录

321 阅读1分钟

1.Object3D.traverse()

Threejs 的点模型:Points、线模型:LineLineLoopLineSegments、网格模型:Mesh 以及GroupScene都继承自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);