由occ转换后的web模型,可以是直通gpu api 的gltf格式,也可以是threejs的buffergeometry,(性能也还可以)两者的后缀均是json,但是所使用的loader不一样。
1.buffergeometry(threejs)
- 1 加载buffergeometry的json文件
loader = new THREE.BufferGeometryLoader();
phong_material = new THREE.MeshPhongMaterial({color:0xff0000,specular:0x333333,shininess:0.9,side: THREE.DoubleSide,});
loader.load('test.json', function(geometry) {
mesh = new THREE.Mesh(geometry, phong_material);
mesh.castShadow = true;
mesh.receiveShadow = true;
Edges = new THREE.EdgesGeometry(geometry);
line = new THREE.LineSegments( Edges, new THREE.LineBasicMaterial( { color: 0x000000 } ) );
scene.add( line );
scene.add(mesh);
});
- 2 buffergeometry格式解析
buffergeometry的标准如下:
https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4
2.gltf
由于gltf的文件并不需要转换的时间,直接面向gpu,因此模型大小及其渲染性能都会得到提升,可以尝试一下。