three.js - three.js 会静默加载 .mtl 文件吗?它们对于映射纹理是否必要?
问题描述
我注意到与我的 .obj 导出一起导出的 .mtl 文件不是我在使用 Three.js 时需要直接加载的东西,但我想知道如果库可以在同一个文件中找到它,是否会静默加载它它从中提取 .obj 的目录。我注意到在我没有包含 .mtls 的目录中,纹理没有映射到我的模型,我试图了解它们对 Three.js 的重要性(如果有的话)。three.js 会静默加载 .mtl 文件吗?它们对于映射纹理是否必要?
解决方案
three.js 会静默加载 .mtl 文件吗?
不会。如果您只使用OBJLoader
,将忽略任何相关MTL
文件并应用默认材料。您必须使用MTLLoader
以下示例中演示的方法来加载任何材料定义。正如您在源代码中看到的,您实际上执行了两个请求。您首先加载该文件MTL
,然后加载该OBJ
文件。
https://threejs.org/examples/webgl_loader_obj_mtl.html
它们对于映射纹理是否必要?
不,纹理坐标在OBJ
文件中定义。因此,您可以OBJ
在加载后手动加载并应用纹理,如下所示:
推荐阅读
- mysql - 使用 Reg ex 的 SQL GROUP BY 名称
- ios - Unix dateTime 格式未在 swift 5 中正确转换
- php - 检查参数是否等于模型中定义的常量
- c - 括号对范围块有什么影响?
- ionic-framework - 如何在点之间画线并保存为坐标数组 IONIC
- java - 如何在 Java 中对函数外的代码使用条件编译?
- react-native - 如何在 React-Native 中检查对 Touch ID、Face ID、密码和模式锁定的支持
- sql-server - 如何将 SQL 命令转换为实体框架和 Lambda 表达式
- linux - 查找上次修改时间为 8 月的文件
- spring - Spring Cloud 文件系统后端占位符不起作用