首页 / Cesium / 使用示例
垂直夸张系数
小比例尺下地形太平,把 Z 放大几倍才看得出结构。一行缩放矩阵,就能控制夸张程度。
源码与运行效果
这个示例在做什么
模型的高度在 1 到 3.2 倍之间来回拉伸,平面尺寸保持不变。 右上角显示当前的垂直夸张系数,可以清楚看到「只拉高、不放大」的效果。
垂直夸张常用于地形与地质模型:真实起伏在小比例尺下太平缓,把 Z 方向放大几倍后结构才明显。
实现上就是在 modelMatrix 里右乘一个 Z 方向非等比缩放矩阵。
注意右乘的顺序:先建局部坐标系,再在局部坐标里缩放,模型才会朝「上」拉伸。
关键接口
| 接口 | 作用 |
|---|---|
Matrix4.fromScale(Cartesian3) | 非等比缩放矩阵,只放大 Z 分量 |
Matrix4.multiply(enu, scale) | 在地心坐标系里按局部方向缩放 |
tileset.modelMatrix | 真实 3D Tiles 的同类做法 |
postRender | 逐帧更新缩放系数 |
可以直接改的地方
| 位置 | 改什么 | 效果 |
|---|---|---|
* 1.1 | 改成 * 4 | 夸张上限更高 |
new Cartesian3(1, 1, k) | 改成 (1, k, 1) | 沿南北方向拉伸,验证方向 |
0.0009 | 改成 0 | 固定系数,不做动画 |
boxGlb(26, 20, 20, …) | 改原始高度 | 基准体量变化 |
替代说明:官方示例对 ion 地形或模型做垂直夸张。
这里用代码生成的 GLB 演示同一套矩阵操作;换成 tileset 后
对 tileset.modelMatrix 右乘缩放矩阵即可。