cesium学习04 电子围栏自定义材质

401 阅读1分钟

一、 围栏效果

image.png

二、围栏自定义材质关键代码

这里的repeat 是指图片平铺时的个数:new Cesium.Cartesian2(5, 1) 举例子 水平方向重复5个。比如图片的宽高比是1:2 , 围墙的宽高比是 5:1 那么你这中间就要设置个repeat axisY: 为true表示水平运动, 为false表示 垂直运动

 source: `
    czm_material czm_getMaterial(czm_materialInput materialInput)
    {
        czm_material material = czm_getDefaultMaterial(materialInput);
        vec2 st = repeat * materialInput.st;
        vec4 colorImage = texture(image, vec2(fract((axisY?st.s:st.t) - time), st.t));
        material.diffuse = colorImage.rgb; 
        material.alpha = colorImage.a;
        return material;
    }

        `

在自定义材质的时候 这里方法如果为true ,切换纹理图片的时候不生效

WallMaterial.prototype.equals = function (other) {
  return false
}