javascript - 材料不适用于 obj 文件
问题描述
我正在尝试使用OBJLoader
和MTLLoader
库在我的三个 JS 代码中加载从 blender 2.79 导出的 3d 对象模型。对象已加载,但其材质未应用到它。
材料在循环渲染搅拌器中正确显示。
我该怎么做才能将材料应用于目标文件?
我为此使用的代码是
var mtlLoader = new THREE.MTLLoader();
mtlLoader.load("textures/reception_table.mtl", function(materials) {
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials(materials);
objLoader.load("textures/reception_table.obj", function(mesh) {
scene.add(mesh);
mesh.position.set(190, -25, 300);
mesh.scale.set(4, 6, 4);
});
});
解决方案
我该怎么做才能将材料应用于目标文件?
将材质添加到 a 实例的语法Mesh
是
myMesh.material = myMaterial
但是,为了将其添加到目标文件中,您可以使用文本编辑器并编辑该文件,或者您可以尝试使用不同的设置重新导出它。这可能不是 Three.js 的问题,而是您的文件的问题。Three.js 可能正在按照它被告知的方式加载所有内容。
推荐阅读
- c# - 在 C# 中根据当前月份更新列表项
- java - 向列表视图中的每个元素添加列表视图?
- json - 使用 json 模式进行属性验证的唯一值
- sql - 花车总是被四舍五入
- javascript - MarkCompactCollector:年轻对象提升失败分配失败
- swift - 在Swift中单击后修改tableview中的单元格内容
- javascript - 使用基本身份验证的 Google Apps 脚本中的 UrlFetchApp.fetch 出现意外错误
- java - Firebase 请求过多异常
- c++ - 如何在 Rad Studio 中使用 C++ 在 TDBGrid 的标题单元格下画一条线?
- angular - 角度测试台:“无法解析...的所有参数”,尽管提供者