加载一个外部模型,比如gltf模型,如果你想批量修改每个Mesb的材质,一个一个设置比较麻烦,可以通过递归遍历方法.traverse() 批量操作更加方便。
递归遍历方法traverse()
// 递归遍历gltf.scene
gltf.scene.traverse(function (object) {
if (object.isMesh) { //判断是否是网格模型
console.log('模型节点', object)
console.log('模型名称', object.name)
}
})
查看gltf默认的材质
.obj、.gitf、.fbx等不同格式的模型,threejs加载默认的材质可能不同,通过浏览器控制台log打印即可 console.1og(obj.material).
threejs解析gltf模型默认材质一般是 MeshStandardMaterial 或 MeshPhysicalMaterial.