Cesium3DTilesetVisualizer
是一个用于渲染3D Tileset的CesiumJS组件,它将3D Tileset转换为场景中的3D模型。
以下是通过Cesium3DTilesetVisualizer将3D Tileset渲染到场景中的简单示例:
// 创建一个Viewer
var viewer = new Cesium.Viewer('cesiumContainer');
// 创建一个Cesium3DTilesetVisualizer
var tilesetVisualizer = new Cesium.Cesium3DTilesetVisualizer(viewer.scene, tileset);
// 将Cesium3DTilesetVisualizer添加到场景中
viewer.scene.primitives.add(tilesetVisualizer);
使用Cesium3DTilesetVisualizer
需要以下依赖项:
属性名称 | 类型 | 描述 |
---|---|---|
debugShowBoundingVolume |
Boolean |
是否显示边界框体 |
方法名称 | 描述 |
---|---|
update(time) |
更新Cesium3DTilesetVisualizer的状态。time 是一个可选的CesiumJulianDate对象,表示更新的时间。如果未指定时间,则默认使用当前时间。 |
事件名称 | 描述 |
---|---|
readyPromise |
一个Promise对象,当Cesium3DTilesetVisualizer准备好使用时将被解决。 |
var viewer = new Cesium.Viewer('cesiumContainer');
// 加载3D Tileset
var tileset = new Cesium.Cesium3DTileset({
url: './sampleTileset/tileset.json'
});
// 创建一个Cesium3DTilesetVisualizer
var tilesetVisualizer = new Cesium.Cesium3DTilesetVisualizer(viewer.scene, tileset);
// 将Cesium3DTilesetVisualizer添加到场景中
viewer.scene.primitives.add(tilesetVisualizer);
// 等待tileset准备好后,更新其位置和朝向
tileset.readyPromise.then(function (tileset) {
viewer.camera.viewBoundingSphere(tileset.boundingSphere, new Cesium.HeadingPitchRange(0, -1.57, 0));
viewer.camera.lookAtTransform(Cesium.Matrix4.IDENTITY);
});
3D Tiling pipeline
中的命令必须在命令行中使用,而不是在JavaScript中执行。Cesium3DTilesetVisualizer
不支持基于网络的3D Tileset。必须将3D Tileset下载到本地并加载。
Cesium3DTilesetVisualizer
目前不支持贴图。
Cesium3DTilesetVisualizer
在加载大型数据集时可能会导致性能问题。