在选中Cesium的模型对象时,需要高亮的效果,通过给模型的表面或者周边设置高亮颜色,达到突出显示模型的效果。

在Entity实体查找或者点击Entity时,获得对象,通过修改Entity中model的颜色,在模型的表面覆盖一层颜色,具体的效果如下图:

Cesium开发:模型实体高亮_颜色值

将模型高亮成红色,使用Cesium的颜色类,顺序是R\G\B\A,A是透明度,范围是0-1,所以,在使用0-255范围的颜色值时,中间需要有个值的换算。

entity.model.color = new Cesium.Color(1.00, 01.0);

将模型设置非高亮,可以将模型颜色设置为空,或者设置为白色:

entity.model.color = null; 或者

entity.model.color = new Cesium.Color(1.01.0, 1.01.0);

这样设置的时候,虽然透明度设置是不透明,但是还能看到模型,这样在模型比较小或者模型颜色比较深的时候,高亮效果不明显。

这时,可以设置模型的colorBlendMode为replace模式,这样就将模型都替换成颜色了。

entity.model.colorBlendMode = Cesium.ColorBlendMode.REPLACE;

效果如下图:

Cesium开发:模型实体高亮_高亮_02

如果觉得这种替换效果不好,可以在模型周边设置轮廓线:

entity.model.silhouetteColor =  new Cesium.Color(1.0001.0);

entity.model.silhouetteSize = 2.0;

效果如下图:

Cesium开发:模型实体高亮_颜色值_03