裁剪平面剖切地球
一个平面把球体切成两半,滑杆控制切面到地心的距离, 可以按 X、Y、Z 三个世界坐标轴切换切割方向。
平面怎么定义
ClippingPlane 由法线和距离两部分组成:法线决定保留哪一侧,
距离是平面沿法线方向偏移到地心的米数。法线取 (1,0,0) 时,
保留的是 X 大于距离的那一半。
平面坐标是世界坐标(ECEF),不是经纬度,所以滑杆的单位是米, 范围取 ±6371000 就是整条地球半径。距离为 0 时切面正好穿过地心。
为什么要重建集合
示例在每次参数变化时新建一个 ClippingPlaneCollection
并整体赋给 globe.clippingPlanes。这样写的原因是平面对象本身
不保证支持就地修改距离后再生效,重建一次最稳;演示场景里重建的开销可以忽略,
每帧重建则不划算。
可调参数
| 位置 | 改什么 | 效果 |
|---|---|---|
| X / Y / Z 轴按钮 | 切换法线方向 | 切面朝向完全不同,剖切位置跟着变 |
| 滑杆 | -6371 到 6371 km | 切面平移,超过半径后整球消失或完整 |
edgeWidth: 2.0 | 调到 8 | 切口的描边更粗,剖切轮廓更清楚 |
edgeColor | 换成其他颜色 | 切口高亮色 |
rebuild 里的平面数组 | 加第二个平面 | 两个面同时切割,交集区域保留 |
实体不会被裁掉。示例里赤道上的参考点始终完整显示,
因为 globe.clippingPlanes 只作用于地球本身。
要裁剪模型或 3D Tiles,需要把同样的 ClippingPlaneCollection
设到 model.clippingPlanes 或 tileset.clippingPlanes 上。
实际用途
剖切在工程上用来展示地下结构、查看建筑内部、或者做「地层切片」演示。 做这类效果时通常给球体一个纯色,再用半透明的面补充剖面材质, 否则切开后只能看到空心的内壁,视觉上不像实心地球。