如何从 THREE.JS 中的场景中获取所有材质
How to get all materials from a scene in THREE.JS
我正在导入一个 .glb 模型,并在此文件中包含一些未应用于任何网格的材质。 所以我的问题是 THREE.JS 存在一些东西,比如场景中所有材质的数组,或者我是否可以在使用 GLTFLoader 加载模型时获得一些我的材质。
您可以遍历已解析的 glTF 资产并将所有材料收集到一个集合中。类似于:
const materials = new Set();
const scene = gltf.scene;
scene.traverse( function( object ) {
if ( object.material ) materials.add( object.material );
} );