Polarith AI
1.8
ContextIndicator

inherits from: MonoBehaviur

IMAGE DOES NOT FIT TO CHANGES: size = scale

The AIMContextIndicator is an auxiliary component that is used to visualize the objective values of a specified TargetObjective given by the attached AIMContext instance. In contrast to the indicator that comes with the AIMContext component itself, this alternative has a couple of advantages:

  1. The visualization is very adaptive due to different modes and shapes. This ensures an improved perception of details in different game situations and when multiple objectives are displayed at once.
  2. This indicator also works in built mode. The only limitation is that the target platform must support geometry shaders.
  3. Has better performance than the Unity gizmo counterpart.

A shape is rendered for each receptor given by the Sensor of the AIMContext. The shape can vary based on different parameters, such as the SplatShape, BarLength, ShapeScale and the ObjectiveColors. These parameters are not only useful to adapt the indicator to certain situations, They are very powerful when combining multiple instances of this component to display multiple objectives at once.

Properties

This component has got the following specific properties.

Property Description
TargetObjective The objective that is visualized by this component. If you have to display more than one objective you may add multiple instances of AIMContextIndicator.
DisplayDecision If checked, the structure (splat or bar) representing the receptor that is declared best solution by the solver is emphasized by the DecisionColor. If present, an interpolated solution is also shown with InterpolatedDecionsColor.
FilterConstraint If checked, all shapes representing a direction that cannot be selected due to the constraint settings in AIMContext are discarded.
AutoShapeScale If checked, the ShapeScale parameter is calculated automatically.
ShapeScale The scale of a single element representing an objective value. Thus, the base area of a bar or the area of a splat. Only available if AutoShapeScale is unchecked.
Size The radius of the whole indicator object (sphere in 3D, circle in 2D).
Transparent If checked, the objective values are mapped to the alpha value of the color as well. This is useful if you want to avoid occlusion in non-significant areas.
IndicatorType Defines which type of visualization is used for the objective values. Either a splat rendering technique or a classical bar chart.
SplatShape A selection of possible shapes a splat can have. Can be used when combining multiple instances of AIMContextIndicator.
BarLength The maximum length a bar can have based on the objective values.
DecisionColor The color of the decided direction. Used only if DisplayDecision is checked.
InterpolatedDecionsColor The color of the interpolated decided direction. Used only if DisplayDecision is checked.
ObjectiveColors The color for each objective. Note that this color pattern is repeated if the number of objectives exceeds the number of specified colors. The array size must be greater or equal to 1.

Preview

Two indicators with bar and splat shape.

Bigger scale of the bar indicator.

Bar shape for both objectives.

Some examples showing the effect of different parameters on the visualization.

Remarks

If the indicator is not showing in a built game, make sure that the shaders are included to the built.

  • Check if the shader files Splat.shader and Extrude.shader were imported with the Polarith AI Package.
  • Go to the Graphics settings of your project and add the two shaders to the "Always Include Shaders" list.
Imprint