千家信息网

Cesium开发中如何实现模型实体高亮

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,这篇文章给大家分享的是有关Cesium开发中如何实现模型实体高亮的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在选中Cesium的模型对象时,需要高亮的效果,通过给模型的表
千家信息网最后更新 2024年10月27日Cesium开发中如何实现模型实体高亮

这篇文章给大家分享的是有关Cesium开发中如何实现模型实体高亮的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在选中Cesium的模型对象时,需要高亮的效果,通过给模型的表面或者周边设置高亮颜色,达到突出显示模型的效果。
在Entity实体查找或者点击Entity时,获得对象,通过修改Entity中model的颜色,在模型的表面覆盖一层颜色,具体的效果如下图:

将模型高亮成红色,使用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开发中如何实现模型实体高亮"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0