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

逐对象黑白后处理

把 BlackAndWhiteStage 的 selected 指向光标下的对象,做局部去色。

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

和整屏黑白的区别

不设 selected 时,BlackAndWhiteStage 作用于整屏;设成某个对象数组后,只有这些对象被去色,其余保持原色。

去色强度

不带参数的 createBlackAndWhiteStage() 就是完全去色;要保留一点色彩的提示效果,可以给 uniforms.gradations 赋一个小于 1 的值。

拾取失败的处理

光标在天空或空白地面上时 scene.pick 返回 undefined,把 selected 置空数组即可恢复彩色,不能直接赋 undefined。

接口取值说明
createBlackAndWhiteStage()—创建黑白阶段
uniforms.gradations0 – 1去色强度,缺省即完全去色
selected拾取对象数组作用范围
场景拾取scene.pick返回拾取结果或 undefined

逐对象后处理会对被选对象额外绘制一次,做悬停提示时建议只挂在一个对象上。