最近似乎是OBJMTLLoader has been removed(r74?),但我无法追查有关如何使用这两个替换类的任何文档。这里是当前代码我已经(改编自Three.js Cookbook):如何在THREE.js r74及更高版本中使用OBJLoader和MTLLoader
<script src="../libs/three.r74.js"></script>
<script src="../libs/MTLLoader.js"></script>
<script src="../libs/OBJMTLLoader.js"></script>
<script>
var legoManMesh = null;
function init(){ /* Create my scene here */ }
var loader = new THREE.OBJMTLLoader();
loader.load("../assets/models/lego.obj", "../assets/models/lego.mtl",
function (obj) {
legoManMesh = obj;
init();
}
);
</script>
(顺便说一句,从R69移动到R74上述代码时失败,“类型错误:loader.setCrossOrigin是不是一个函数”)
补充:
样品lego.mtl文件引用在这里使用相对路径纹理PNG。
# Blender MTL File: 'LEGO Minifigure - Blendswap.blend'
# Material Count: 2
newmtl Cap
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.990000 0.120000 0.120000
Ks 0.500000 0.500000 0.500000
Ni 1.000000
d 1.00000
illum 2
newmtl Minifig
Ns 874.999998
Ka 0.000000 0.000000 0.000000
Kd 0.800000 0.800000 0.800000
Ks 0.200000 0.200000 0.200000
Ni 1.000000
d 1.000000
illum 2
map_Kd ../textures/Mini-tex.png
只看源头[这里](https://github.com/mrdoob/three.js/blob/r74/examples/js/loaders/OBJLoader.js)和[here](https:// github的.com/mrdoob/three.js所/斑点/ R74 /示例/ JS /装载机/ MTLLoader.js)。你可以看到它们都有一个'load'函数,第二个参数是回调函数。 – 2pha
看一下这个例子:http://threejs.org/examples/webgl_loader_obj_mtl.html – gaitat