Cesium动态立体墙,颜色渐变,呼吸灯效果

伸手党实在太多了

    /**
     * 绘制立体墙, 带呼吸灯效果
     * @param viewer
     * @param positions
     */
    function drawWall(viewer, positions) {
        var alp = 1;
        var num = 0;
        //绘制墙
        var wyoming = viewer.entities.add({
            name: "动态立体墙",
            wall:{
                show:true,
                positions:positions,
                material: new Cesium.ImageMaterialProperty({
                    image:"../assets/images/渐变色_红.png",
                    transparent:true,
                    color:new Cesium.CallbackProperty(function () {
                        if ((num % 2) === 0){
                            alp -=0.005;
                        }else {
                            alp +=0.005;
                        }

                        if (alp <= 0.3){
                            num++;
                        }else if (alp >= 1){
                            num++;
                        }
                        return  Cesium.Color.WHITE.withAlpha(alp)
                        //entity的颜色透明 并不影响材质,并且 entity也会透明
                    },false)
                })
            }
        });
        viewer.zoomTo(wyoming);//相机到entity的位置
    }

效果如下,不知道怎么录gif,可以想象一下  两种效果之间呼吸灯一样的线性渐变

你可能感兴趣的:(Cesium,canvas,webgl,shader)