Three.js没有使用map_ks -s和bump -s指令加载mtl文件

时间:2016-07-08 12:43:54

标签: javascript three.js

我有以下mtl文件:

newmtl blinn_backSG
illum 4
Kd 0.17 0.15 0.28
Ka 0.00 0.00 0.00
Tf 1.00 1.00 1.00
bump -s 0.1 0.1 canvas_specular.tif -bm 0.025
Ni 1.00
Ks 0.00 0.00 0.00
map_Ks -s 0.1 0.1 canvas_specular.tif
newmtl blinn_boxSG
illum 4
Kd 0.00 0.00 0.00
Ka 0.00 0.00 0.00
Tf 1.00 1.00 1.00
map_Kd -s 0.333333 0.333333 canvas_map.tif
bump -s 0.333333 0.333333 canvas_map.tif -bm 0.1
Ni 1.00
Ks 0.00 0.00 0.00
map_Ks -s 0.333333 0.333333 -mm 0 0.503822 canvas_specular.tif
newmtl blinn_hungerSG
illum 4
Kd 0.00 0.00 0.00
Ka 0.00 0.00 0.00
Tf 1.00 1.00 1.00
Ni 1.00
Ks 1.00 1.00 1.00
newmtl initialShadingGroup
illum 4
Kd 0.50 0.50 0.50
Ka 0.00 0.00 0.00
Tf 1.00 1.00 1.00
Ni 1.00

请注意bump -smap_Ks -s说明。这些指令似乎没有通过MTLLoader正确解释 - 我在chrome devtools控制台中看到以下错误:

three.js:18393 GET http://localhost:8080/assets/objs/canvas-test/-s%200.1%200.1%20canvas_specular.tif%20-bm%200.025 404 (File not found)load @ three.js:18393load @ three.js:18507load @ three.js:20043loadTexture @ MTLLoader.js:468createMaterial_ @ MTLLoader.js:437create @ MTLLoader.js:329preload @ MTLLoader.js:297(anonymous function) @ previews.html:178(anonymous function) @ MTLLoader.js:36(anonymous function) @ three.js:18347
2016-07-08 08:30:45.396 three.js:18393 GET http://localhost:8080/assets/objs/canvas-test/-s%200.333333%200.333333%20canvas_map.tif 404 (File not found)load @ three.js:18393load @ three.js:18507load @ three.js:20043loadTexture @ MTLLoader.js:468createMaterial_ @ MTLLoader.js:393create @ MTLLoader.js:329preload @ MTLLoader.js:297(anonymous function) @ previews.html:178(anonymous function) @ MTLLoader.js:36(anonymous function) @ three.js:18347
2016-07-08 08:30:45.397 three.js:18393 GET http://localhost:8080/assets/objs/canvas-test/-s%200.333333%200.333333%20canvas_map.tif%20-bm%200.1 404 

了解它如何使用标志和定位参数作为URL的一部分?

MTLObjectLoader是否支持这种指令?如果没有,有没有办法让我修复/更改mtl以使其使用不同的指令?

谢谢 -

1 个答案:

答案 0 :(得分:0)

这个精简的示例显示了我与OBJLoader.js和MTLLoader.js一起使用的典型MTL文件:

# Blender MTL File: 'INC1c_1.blend'
# Material Count: 1

newmtl Inc1cMiscTexture
Ns 100
Kd .6 .6 .6
Ks 0.02 0.02 0.02
d 1.000000
illum 1
map_kd textures/Inc1cMisc_CO.png
map_bump textures/Inc1cMisc_NO.png

无论我从建模程序中得到什么,都可以修复以适应这种模式。 r69到r78。 FWIW

编辑 - 根据发布摘要,r79刚刚在MTLLoader中添加了对map_K的支持。