1
我已經從turbosquid下載了免費模型。它包含一個obj和mtl,以及紋理(高光,凹凸貼圖等)。現在我只對mtl和obj文件感興趣。所以我下載了一個免費的車型from here(這是一輛車)。然後,我使用此代碼加載的模型:OBJMTLLoader:忽略mtl文件
var loader= new THREE.OBJMTLLoader();
loader.load("./L200-Obj/L200-Obj.obj","./L200-Obj/L200-Obj.mtl",function(object) {
scene.add(object);
}
我已經檢查的路徑,他們是OK(我試圖登錄object
,它是一個活的有效的對象)。現在的問題是,我看到一個黑屏,原因是mtl文件以某種方式「不被考慮」。如果我嘗試添加材料:
object.traverse(function(child) {
child.material= someMaterial;
});
然後我看到,我已經設置了材料的車,車的形狀很好。我也嘗試加載紋理:
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文件足以顯示汽車與它的顏色?即使我沒有設置材料,我是不是應該用顏色看車子?難道我做錯了什麼?
您鏈接到的車型被描述爲使用四邊形......我認爲這不是由THREE.js處理的? – steveOw