首页 / Cesium / 使用示例
模型缩放与朝向
同一份模型数据,只改三个参数就得到三种完全不同的呈现:原始尺寸、放大并转向、以及远看仍然可见的保底尺寸。
源码与运行效果
这个示例在做什么
三份实例共用同一个 blob: 地址,因此模型数据只解析一次。
通过 ModelGraphics 暴露的参数分别控制缩放与朝向:
scale 是等比缩放,orientation 用
Transforms.headingPitchRollQuaternion 生成四元数。
minimumPixelSize 解决的是「模型足够远时被缩成一个像素」的问题,
它给模型一个屏幕尺寸下限;同时必须配 maximumScale,
否则相机拉远时模型会被放大到夸张的程度。第二份实例额外加了
silhouetteSize,勾出一圈轮廓,用来强调选中效果。
关键接口
| 接口 | 作用 |
|---|---|
model.scale | 等比缩放系数,1 表示按模型原始米制尺寸 |
model.minimumPixelSize | 屏幕尺寸下限,远处的模型不会被缩得看不见 |
model.maximumScale | 与最小像素配合,限制放大倍数上限 |
model.silhouetteSize / silhouetteColor | 给模型描边,常用来表示选中或告警 |
可以直接改的地方
| 位置 | 改什么 | 效果 |
|---|---|---|
layout 数组 | 加一项或改经纬度 | 增加第四份对比实例 |
scale: 2.5 | 改成 0.4 | 模型缩小,可用于示意体量 |
minPx: 6 | 改成 40 | 远距离时模型依然很大 |
silhouetteSize: 2 | 改成 0 | 取消描边 |
替代说明:官方示例展示的是同一个模型在多组参数下的差异,数据来自 ion 资产。 这里用代码生成的 GLB 代替,参数本身的作用与官方完全一致。