首页 > 解决方案 > 如何从 THREE.JS 中的场景中获取所有材质

问题描述

我正在导入一个 .glb 模型,并在此文件中包含一些未应用于任何网格的材料。所以我的问题是在 THREE.JS 中存在类似于场景中所有材料的数组,或者我是否可以在使用 GLTFLoader 加载模型时获得一些我的材料。

标签: three.js3dgltf

解决方案


您可以遍历已解析的 glTF 资产并收集一组中的所有材料。就像是:

const materials = new Set();
const scene = gltf.scene;

scene.traverse( function( object ) {

    if ( object.material ) materials.add( object.material );

} );

推荐阅读