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

整体调整模型高度

不同来源的数据高程基准常常对不上,统一抬升是第一步。示例让一排建筑整体上下浮动,看清偏移量的作用。

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

这个示例在做什么

一排建筑整体上下浮动,模拟 3D Tiles 的「高度调整」:把整套数据统一抬升或下沉, 用来对齐不同来源的高程基准。这里用 CallbackProperty 让位置每帧重算, 高度偏移量由正弦函数给出。

真实数据里对应的接口是 tileset.modelMatrix:左乘一个纯平移矩阵, 整份 tileset 就整体位移,不需要逐个要素改坐标。示例用实体盒体演示同一个效果, 每个盒体的高度都加上同一个 offset。

关键接口

接口作用
tileset.modelMatrix整份 3D Tiles 统一平移、旋转、缩放
CallbackProperty实体位置每帧求值,适合做动态偏移
Matrix4.fromTranslation构造纯平移矩阵,配合 multiply 左乘
scene.postRender驱动偏移量变化

可以直接改的地方

位置改什么效果
Math.sin(...) * 40改系数 40上下浮动的幅度
offset = 60改成固定值整体抬高不再浮动
h / 2 + offset只给部分盒体加偏移对比「已对齐 / 未对齐」两组数据
0.001(时间系数)改大浮动更快

替代说明:官方示例加载 ion 上的 3D Tiles 数据集后调用 tileset.adjustHeight 一类的高度校正。这里用实体盒体复现整体升降的视觉, 真实数据换成对 modelMatrix 左乘平移矩阵即可。