threejs: buffergeometry/gltf的模型导入及格式解析(json后缀)

由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,因此模型大小及其渲染性能都会得到提升,可以尝试一下。

猜你喜欢

转载自blog.csdn.net/weixin_42755384/article/details/91902917
今日推荐