所以我现在有两个问题。
似乎对象加载器从不从json文件加载3d模型的纹理。
我不知道怎么回事,三个模型的位置在THREE.js加载器加载后会稍微改变一下。
这应该是什么样子
以下是我浏览器的内容
这是THREE.JS代码:
var loader = new THREE.JSONLoader();
loader.load("./script/treehouse.json",function ( geometry) {
var mesh = new THREE.Mesh( geometry);
$scene.add( mesh );
});
导出设置:
以下是json文件的样子:
更新:既然我选择了dae格式,它看起来与blender完全相同,但是纹理仍然不存在,每次打开dae文件或刷新页面时模型的颜色都会改变。{{3} }
答案 0 :(得分:0)
我建议使用与THREE.js内部格式不同的格式。 众所周知,它会在修订版之间稍作修改,最终会要求您在以后重新导出资产。您最好使用标准格式,如GLTF,Collada,OBJ或FBX。此外,三种json格式相当臃肿,导致文件很容易阅读,但可能非常大。
我推荐使用GLTF 2.0(gltf)或Collada(.dae)格式。您将获得较小的文件,格式应保持更稳定。如果您使用Gltf,您还可以使用Don McCurdys漂亮的GLTF预览工具,以便在遇到问题时对文件进行健全检查。
https://gltf-viewer.donmccurdy.com/
还有three.js编辑器可以帮助完整性检查文件..尝试在这里拖动你的json: