An n-Sensor Dynamic Heatmap. Allows any mesh to become a data-driven, realtime spatial heatmap in volumetric 3D based on multiple data fields located in space around the mesh. For example, a room represented as a cube mesh, with sensors at two opposite corners, can be coloured with a gradient interpolated between the two sensors. Sensors are placed independently using the utility component DS U Temperature Sensor.
Step-by-Step – setting up the behaviour
- Add the DS BC Multi Sensor Gradient behaviour to the object as a component (see adding a behaviour component)
- In the Details panel > Data Sources section > Data Request Settings, click the + button to add one of your data sources. Each click will create a new Data Source Name dropdown. The heatmap supports single or multiple sources with multiple data values.
- For each data source added, select the data source to use from the Data Source Name dropdown.
- Below each Data Source Name dropdown, next to Data Names click the + once for each sensor inputs you want to add from that source e.g. for 2 sensors, click it twice. This will create data name dropdowns. These will be the different data inputs for each sensor you will later place around the heatmapped object to affect the colour.
- For each sensor’s input data value, select the value name from the Data Name dropdown.
- Set the data transform to an output range of 0-1 (this is required for all colour behaviours). See Data Transforms section for details. You can set the Multiplier on individual data names or use threshold/remap to give them a shared input-output range.
- In the Data-Driven Behaviour section, choose your target component from the Affected Component dropdown. This is the mesh component you wish to have the heatmap colouration applied to it.
- In the Colour Curve section, click the thumbnail and choose a colour curve from the selection. You can also create your own colour curve.
Step-by-Step – setting up the sensors
- Now you must create the sensor components and place them in the desired locations. The sensors represent each data value’s location and influence the colour of the heatmap on the target component. They can represent a sensor detecting an environmental variable or an object emitting something such as temperature or noise. The target mesh will in all cases be the substrate that will effectively ‘graph’ their influence in a spatial colour map. The sensors do not have to be co-located on the surface of the mesh – the heatmap works in 3D volumetric space
- Click your target component in the details panel hierarchy (e.g. staticmesh0).
- Click Add Component and select DS U Temperature Sensor. This will add one sensor and will set it as selected.
- Click the target component again to reselect it (so the next sensor gets added as a sibling of the first one, not a child of it)
- Repeat the previous 2 steps to add more sensors as required. Number of sensors must match the number of data values you added earlier.
- You can now place the sensors in the world by using the viweport or altering their XYZ settings in the details panel. The order of the sensors matches the order of the data names so ensure you keep track of these.
Note: It is also possible to place the temperature sensors based on data sources e.g. if you have location data for each one. This can be done by simply adding translation behaviours to the object, and then setting the temperature sensor as a target. The sensor can even be mobile if the location data is dynamic such as attached to a vehicle.