gpt4 book ai didi

javascript - OBJMTLloader : mtl file ignored

转载 作者:行者123 更新时间:2023-11-30 17:47:46 27 4
gpt4 key购买 nike

我已经从 turbosquid 下载了一个免费模型.它包含一个 obj 和 mtl,以及纹理(高光、凹凸贴图等)。现在我只对 mtl 和 obj 文件感兴趣。所以我下载了一个免费模型from here (这是一辆车)。然后我使用这段代码加载了模型:

var loader= new THREE.OBJMTLLoader();
loader.load("./L200-Obj/L200-Obj.obj","./L200-Obj/L200-Obj.mtl",function(object) {
scene.add(object);
}

我已经检查了路径,它们没问题(我尝试记录 object,它是一个有效且有效的对象)。现在的问题是我看到黑屏,原因是 mtl 文件不知何故“未被考虑”。如果我尝试添加 Material :

object.traverse(function(child) {
child.material= someMaterial;
});

然后我看到我设置的 Material 的汽车,汽车的形状很好。我还尝试加载纹理:

var map= THREE.ImageUtils.loadTexture("./L200-Obj/truck_color-silver.jpg");
var bumpMap= THREE.ImageUtils.loadTexture("./L200-Obj/truck_bump.jpg");
var specularMap= THREE.ImageUtils.loadTexture("./L200-Obj/truck_spec.jpg");
var material= new THREE.MeshPhongMaterial({
map: map,
specularMap: specularMap,
bumpMap: bumpMap
});
// Set it as material with the above code

它们很好,汽车看起来不错,但问题是:obj 和 mtl 文件是否足以显示汽车的颜色?即使我不设置 Material ,我不应该看到汽车的颜色吗?我做错了什么吗?

最佳答案

在记事本中查看 mtl 文件。列出图像文件的名称。也许当您创建 mtl 文件时,当时到它的位置的路径仍然在 mtl 文件中。如果是这样,并且您的 mtl 与 obj 位于同一文件夹中,只需重命名 mtl 中的文件,就好像它们与 obj 位于同一文件夹中一样......即不需要路径。您可以在写字板中编辑文件名。

关于javascript - OBJMTLloader : mtl file ignored,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19767031/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com