关于webGL分层设色的一些疑问

0 投票

我给我的三维缓存图层添加了分层设色,colorTable设置高度是从0到30.但是显示出来的效果。0不是贴地的高度,而且位置不同,0的位置也不同。想问一下怎么设置能保证所有模型的高度0都是从地面向上呢?

代码:

// 设置模型颜色
        var hyp = new Cesium.HypsometricSetting();
        var colorTable = new Cesium.ColorTable();
        colorTable.insert(30, new Cesium.Color(0.0, 0.0, 1.0, 1));
        colorTable.insert(0, new Cesium.Color(1, 1, 1, 1));
        hyp.ColorTable = colorTable;
        // hyp.MaxVisibleValue = 159.000236424617
        // hyp.MinVisibleValue = 0
        hyp.Opacity = 0.78;
        // var emissionTexCoordSpeed = 1;
        // hyp.emissionTexCoordUSpeed = emissionTexCoordSpeed;
        hyp.DisplayMode = Cesium.HypsometricSettingEnum.DisplayMode.FACE;
        buildingLayer.hypsometricSetting = {
          hypsometricSetting: hyp,
          analysisMode:
            Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL,
        };

效果:

5月 6 分类:  40次浏览 | 用户: moewang_0321 (8 分)

1个回答

0 投票
您好,您可以多设置colortable颜色来使其有一个过渡的效果。
5月 7 用户: 卷饼先生 名扬四海 (3,318 分)
但是我想要的效果是所有建筑的渐变都是从地面开始向上,而现在用分层设色发现,不同位置的建筑,0的相对位置不同,所以颜色是不一样的
您那边是怎么判断0的相对位置不同的呢
分层设色设置了从0开始变色 ,行政区1和行政区2内高度相同的模型,变色开始的位置不一样,图片里红框内,近的这个高度90颜色变化快到顶部了,远处的楼房高度是15却已经全部变色
...