我已经能够使用three.js API从具有OBJ格式的3D模型文件中的相应纹理加载和渲染3D模型。我想尝试加载JSON(.js)格式的模型。所以我下载了一个3D模型(this mill)并使用mrdoob python script将其转换为JSON格式。它在文件夹内输出.js文件和纹理。我将所有内容完整地复制到我的localhost文件夹中,然后将代码插入到我的html页面中,希望得到所有纹理的工厂:
var loader = new THREE.JSONLoader();
loader.load( 'mill.js', function ( geometry ) {
var mesh = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({overdraw: true}));
mesh.scale.set(0.005, 0.005, 0.005);
mesh.castShadow=true;
scene.add( mesh ); });
但我得到的结果是:
显然它缺少相应的纹理。我查看了mill.js
文件;虽然我不理解它,但我可以看到纹理是在materials
数组中引入的。虽然JSON文件引用了相应的纹理,但在代码中我应该怎样做才能将纹理带到模型表面?