threeJs加载3Dtiles

327 阅读1分钟

threeJs加载3Dtiles文件

安装插件

pnpm install 3d-tiles-renderer --save

引入

import { TilesRenderer } from '3d-tiles-renderer';
 
const tilesRenderer = new TilesRenderer( './path/to/tileset.json' );
tilesRenderer.setCamera( camera );
tilesRenderer.setResolutionFromRenderer( camera, renderer );
scene.add( tilesRenderer.group );
 
render();
 
function render() {
	requestAnimationFrame( render );
 
	camera.updateMatrixWorld();
	tilesRenderer.update();
	renderer.render( scene, camera );
}

模型不显示?是因为输出3Dtiles的原点在模型包围盒中心

if (needsRerender) {
    needsRerender = false;
    if (tilesRenderer.getBounds(box)) {
      box.getCenter(tilesRenderer.group.position);
      tilesRenderer.group.position.multiplyScalar(-1);
    }
    offsetParent.updateMatrixWorld(true);
    camera.updateMatrixWorld();
    tilesRenderer.update();
}