【发布时间】:2018-03-12 04:10:21
【问题描述】:
我使用了三个.js,我将一个网格 (.obj)、一个材质 (.mtl) 和几个纹理放在一个 JSON 对象中。
网格和材质来自 Blender 的波前 obj 导出。
JSON(截断):
{
"data": {
"type": "b64obj",
"material": "--Long base64-encoded Material data--",
"mesh": "--Long base64-encoded Mesh data--",
"textures": {
"texture.jpg": "base64-encoded image",
"anothertexture.jpg": "base64-encoded image",
}
}
}
这是加载它的例程(没有 base64 解码部分):
var mtlLoader = new THREE.MTLLoader();
var materials = mtlLoader.parse(data.material);
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials(materials);
var object = objLoader.parse(data.mesh);
renderObj(object); //start using it inside the application once it is there
.mtl 指的是图像文件,MTLLoader 会期望它们在硬盘上。我如何告诉使用内部带有纹理的对象?
【问题讨论】:
标签: javascript json three.js textures