# Heatmap3D组件

使用Heatmap3D组件可以为实体添加三维热力图。

import { MathUtils } from 'three';
import { Heatmap3D } from '@tx3d/core';

// 构建参数
const parameters = {

    featurePoints: [],
    valueColor: [
        { value: 0.0, color: 'rgba(0, 0, 0, 0)' },
        { value: 0.1, color: '#92cdff' },
        { value: 0.5, color: '#2c7bb6' },
        { value: 0.65, color: '#abd9e9' },
        { value: 0.7, color: '#ffffbf' },
        { value: 0.9, color: '#fde468' },
        { value: 1.0, color: '#d7191c' }
    ],
    radius: 200,    // 数据代表的半径
    maxHeight: 80,  // 数据代表的最大高度
    resolution: 1,  // 渲染的质量

};

// 随机生成特征点
for (let i = 0; i < 1000; i++) {

    const x = MathUtils.randFloat(-1000.0, 1000.0);
    const z = MathUtils.randFloat(-1000.0, 1000.0);
    const v = MathUtils.randFloat(0.0, 1.0);

    parameters.featurePoints.push( { point: [ x, z ], value: v } );

};

// 创建实体
const entity = engine.createEntity( { transform: { position: [ 0, 0, 0 ] } } );

// 添加热力图渲染组件
const Heatmap3D = entity.addComponent( Heatmap3D, parameters );

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

提示

Heatmap3D组件初始化参数,详见Heatmap3DParameters

# 属性

🌏 opacity 透明度

// 设置透明度
Heatmap3D.opacity = 0.75;
1
2

🌏 radius 数据代表的范围

// 设置范围
Heatmap3D.radius = 100;
1
2

🌏 maxHeight 数据代表的最大高度

// 设置最大高度
Heatmap3D.maxHeight = 100;
1
2
Last Updated: 9/1/2023, 2:01:25 PM