经纬志
首页 / Cesium / 使用示例

包围盒与坐标轴调试

包围体是 3D Tiles 调度的基础。算错一点,就会出现选不中、飞不到的现象。把包围盒画成线,问题立刻可见。

CesiumJS 1.121 · 更新 2026-10-28
源码与运行效果
运行效果

这个示例在做什么

建筑物外面套了一层线框,底部伸出三根彩色短线表示东西南北天三个轴向。 线框就是根据数据范围算出来的包围盒,调试 3D Tiles 时用它检查包围体是否贴合。

真实场景里,tileset.boundingSphere 给出整份数据的球状包围体, 每个 Cesium3DTile 还有自己的 boundingVolume。 包围体不对,会出现「模型看得见但点不到」或「相机飞不到」这类问题。 示例把包围盒画成线,位置偏差一眼可见。

关键接口

接口作用
tileset.boundingSphere整份数据的包围球,用于相机定位
tile.boundingVolume单块瓦片的包围体,参与裁剪与调度
Transforms.eastNorthUpToFixedFrame在局部坐标系里画轴向线
polyline + fromDegreesArrayHeights用折线勾出包围盒的 12 条棱

可以直接改的地方

位置改什么效果
w = 30, h = 44, d = 24改成实际数据尺寸线框随之贴合
1.05(线框放大系数)改成 1线框紧贴模型表面
轴向线长度 60改长坐标轴更醒目
outlineWidth调大线框更粗

替代说明:官方示例直接在真实 tileset 上显示每块瓦片的包围体。 这里用固定尺寸的盒体复现包围盒的画法,换成真实数据时把尺寸换成 tile.boundingVolume.boundingVolume.radius 等计算结果即可。