其实现在的json模型有两种格式。一个是Geometry类型,需要JSONLoader加载;一个是Object类型,需要ObjectLoader加载。
1. Geometry
var js_loader = new THREE.JSONLoader(manager);
js_loader.load('./models/hmj/frame001.json', function(geometry, materials) {
var material = new THREE.MultiMaterial(materials); // 多个纹理
var mesh = new THREE.Mesh(geometry, material);
mesh.scale.multiplyScalar(.06);
scene.add(mesh);
}, onProgress, onError);
2. Object类型
var object_loader = new THREE.ObjectLoader(manager);
object_loader.load('./models/teapot-claraio.json', function(object) {
object.scale.multiplyScalar(5);
scene.add(object);
});
虽然上面两种类型的文件格式都是以.json结尾。但是里面的数据格式却并不相同。
参考:https://www.jianshu.com/p/906072e60197
那么,如何生成json数据呢?
从bender导出?还是通过什么格式转换器?obj转json可以用blender导出,也可以用其他自己编写的转换器:https://www.cnblogs.com/googlegis/p/13839857.html
https://www.zhihu.com/question/38739004
反过来json格式如何转obj:https://threejs.org/editor/