天天看點

Cesium開發:模型實體高亮

在選中Cesium的模型對象時,需要高亮的效果,通過給模型的表面或者周邊設定高亮顔色,達到突出顯示模型的效果。

在Entity實體查找或者點選Entity時,獲得對象,通過修改Entity中model的顔色,在模型的表面覆寫一層顔色,具體的效果如下圖:

Cesium開發:模型實體高亮

将模型高亮成紅色,使用Cesium的顔色類,順序是R\G\B\A,A是透明度,範圍是0-1,是以,在使用0-255範圍的顔色值時,中間需要有個值的換算。

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

将模型設定非高亮,可以将模型顔色設定為空,或者設定為白色:

entity.model.color = null; 或者

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

這樣設定的時候,雖然透明度設定是不透明,但是還能看到模型,這樣在模型比較小或者模型顔色比較深的時候,高亮效果不明顯。

這時,可以設定模型的colorBlendMode為replace模式,這樣就将模型都替換成顔色了。

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

效果如下圖:

如果覺得這種替換效果不好,可以在模型周邊設定輪廓線:

entity.model.silhouetteColor = new Cesium.Color(1.0, 0, 0, 1.0);

entity.model.silhouetteSize = 2.0;

效果如下圖:

更多文章請關注公衆号檢視!

Cesium開發:模型實體高亮