# 拉伸图层夜光效果(Extrusion)

夜光效果是拉伸图层的进阶效果。在拉伸图层已有功能的基础上,通过组合配置分层分户、高亮线相关样式以及额外的夜光样式实现炫丽的可视化效果。

# 示例

const layer = new aimap.Extrusion({
    mode: '3d',
    data: [{
        coordinates: [[[121.1, 31.2], [121.1, 31.3], [121.2, 31.3], [121.2, 31.2], [121.1, 31.2]]]
    }, {
        coordinates: [[[121.1, 31.2], [121.1, 31.3], [121.0, 31.3], [121.0, 31.2], [121.1, 31.2]]]
    }],
    luminous: { // 夜光(自发光)样式
        dark: "#000",  // 自发光暗部颜色
        bright: "#fff", // 自发光亮部颜色
    },
    style: {
        'extrusion-color': 'white',
        'extrusion-opacity': 1,
        'extrusion-height': 100,
        'extrusion-base': 0,
        'extrusion-floor-height': 1, //样式参数影响分层效果
        'extrusion-segment': true, //样式参数影响分户效果

        'extrusion-outline-color': "#fff" //高亮边缘的颜色
        'extrusion-outline-floor': 0.1 //高亮边缘的高度,单位同extrusion-floor-height
    },
    map
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 夜光效果的图层样式说明

样式名称 取值范围 说明
extrusion-floor-height 0~[extrusion-height] 每层楼的高度,单位与extrusion-height相同。0等效于不分层。
extrusion-outline-floor 0~1 高亮颜色在侧面每个楼层之间的比例
extrusion-outline-top 0~1 高亮颜色在侧面顶部的比例
extrusion-outline-color color 高亮颜色
extrusion-segment bool 贴图着色是以多边形的周为参考还是以每个边为参考,影响底层纹理uv的计算
extrusion-base 0~ 海拔高度
extrusion-height 0~ 拉伸立体高度
extrusion-opacity 0~1 透明度
extrusion-top-color color 顶面颜色
extrusion-top-opacity 0~1 顶面透明度
dark color luminous额外样式,夜光暗部颜色
bright color luminous额外样式,夜光亮部颜色

# 夜光样式与分层分户样式的组合

# 无分层分户夜光效果

# 样式示例

    const layerOptions = { 
        luminous: { // 夜光(自发光)样式
            dark: "#f00",  // 自发光暗部颜色
            bright: "#fff", // 自发光亮部颜色
        },
        style: {
            'extrusion-floor-height': 0 // 样式参数为0时无分层效果
            'extrusion-segment': false // 样式为false时无分户效果
        }
    }
1
2
3
4
5
6
7
8
9
10

# 实际效果

# 分层夜光效果

# 样式示例

    const layerOptions = { 
        luminous: { // 夜光(自发光)样式
            dark: "#f00",  // 自发光暗部颜色
            bright: "#fff", // 自发光亮部颜色
        },
        style: {
            'extrusion-floor-height': 3 // 分层高度
            'extrusion-segment': false // 样式参数为false时无分户效果
        }
    }
1
2
3
4
5
6
7
8
9
10

# 实际效果

# 分户夜光效果

# 样式示例

    const layerOptions = { 
        luminous: { // 夜光(自发光)样式
            dark: "#f00",  // 自发光暗部颜色
            bright: "#fff", // 自发光亮部颜色
        },
        style: {
            'extrusion-floor-height': 3 // 分层高度
            'extrusion-segment': true // 样式参数为true时有分户效果
        }
    }
1
2
3
4
5
6
7
8
9
10

# 实际效果

# 夜光样式与高亮线样式的组合

在图层配置了夜光样式,且具备分层或者分户效果的前提下,搭配上高亮线样式可以进一步丰富可视化效果。

# 样式示例

    const layerOptions = { 
        luminous: { // 夜光(自发光)样式
            dark: "#000",  // 自发光暗部颜色
            bright: "#fff", // 自发光亮部颜色
        },
        style: {
            'extrusion-floor-height': 3 // 分层高度
            'extrusion-segment': true // 样式参数为true时有分户效果

            'extrusion-outline-color': "#1ffffe" //高亮线的颜色
            'extrusion-outline-floor': 0.1 //高亮线的高度,单位同extrusion-floor-height
        }
    }
1
2
3
4
5
6
7
8
9
10
11
12
13

# 实际效果

最后更新于: 6/23/2022, 3:36:21 PM