首页 / Cesium / 使用示例
裁剪盒剖切模型
一个带贴图的立方体被六个平面切掉一角,滑块改变盒半径, 按钮把「保留盒内」翻成「保留盒外」。
源码与运行效果
平面用世界坐标定义
ClippingPlane(normal, distance) 的方程是
dot(normal, P) + distance >= 0 的区域被保留。
示例先取当地的东、北、天三个轴,用模型的变换矩阵把方向转到世界坐标,
再由偏移量算出 distance。
六个平面同时生效时,保留的是它们的交集,也就是一个立方体区域。 把每个平面的法线取反,保留区域就变成盒外, 模型看起来像被掏空了一块。
边缘描线
edgeWidth 与 edgeColor 会在切口处画出边缘线。
线段宽度按屏幕像素计算,因此远近视角下都保持可见。
可调参数
| 位置 | 改什么 | 效果 |
|---|---|---|
| 盒半径滑杆 | 40 到 140 米 | 切口范围 |
| 「反向裁剪」按钮 | 点击 | 保留区内 / 区外 |
edgeWidth | 2 改成 6 | 切口描边更粗 |
| 平面数量 | 删掉顶部与底部两个 | 只在水平方向裁剪 |
盒外模式会露出背面。裁剪把外表面切开后,能看到模型内壁。
示例把 backFaceCulling 关掉,材质也设了双面,
因此切口处不会出现空洞。