three.js - 如何从 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 );
} );
推荐阅读
- heroku - Slackbot + Heroku:必须保持登录
- extjs - 防止过滤 extjs 网格中的已编辑记录
- connection - 在未安装 TAPI 的情况下发送电话?
- c# - C# Visual Studio 使用串口每毫秒读取一个数据包
- c# - 在 .NET Core 2.1 中使用通用主机正常关闭
- python - Python 随机正 bigint - sql 数据类型
- php - 比较 JSON 数组的行驶距离
- java - 如何实现 Java 爬虫来爬取 PDF 文件链接?
- java - 等待鼠标事件
- ios - 新的 APNS 证书会使以前的身份验证密钥 - iOS 失效吗?