Share

influence_scope

Influence scope visualizes properties of an input influence object, such as its force, mask, drag, kill, or properties it is modifying. Scalar properties, like the mask value, can be displayed as color and size on a point shape, while vector properties are drawn as arrows or flowlines.

The points are sampled within a bounding box or at probe geometry vertex locations. If using probe geometry one may optionally apply the bounding box as well.

Usage example

To use this, create an influence, such as turbulence_influence, plug the out_influence from it into influence scope's influence. Then plug the output diagonostic_geo into the graph's output to visualize.

Inputs

influence

The influence object to be visualized. Influences may be constructed in a daisy chain fashion for complex effects. Internally influence objects may have several properties such as force, mask, drag, kill, and properties to modify.

probe_geometry

If this is connected to then it will use the geometry positions to sample at, otherwise it samples with the bounding box based on the divisions.

The geometry may be a mesh, a point object, like a particle system, or a volume. In the volume case the points are sampled at voxel locations, which may be a lot of samples. The skip_prop_samples as well as the apply_bounds_to_probe property may be used to reduce the number of samples from the probe. Also note that if the influence contains proxy fields, then these will evaluate using the probe geometry providing the proxy properties exist on the probe geometry. In such cases the probe geometry should be the object the influence is applied to, like the output of simulate_aero or simulate_particles. Also not that proxies cannot evaluate if using flowlines.

bounds_geometry

If this is connected then the min and max bounds will be overridden using the bounding box of the geometry.

Influence Properties

This controls what scalar properties from the influence will be visualized:

  • None: Do not display any scalar properties
  • Mask: The influence mask, which has a 0-1 range.
  • Kill: The rate at which the influence will kill particles or density
  • Drag: The amount of drag applied by the influence.
  • Force Magnitude: The length of the force vector.
  • Property: If this is selected then the point_property name needs to be defined. This should be a property that is modified by the influence, for example in a modify_influence or influence_set_property.

point_display

Which property of the influence to display.

point_size

This controls the overall size of the output points. It multiplies the final value output from the size_remap curve.

point_property_name

When point_display is set to Property this is the name of some property that is set by the influence, for example though a modify_influence or using set_influence_property.

vector_display

This controls what vector properties (float3) from the influence will be visualized:

  • None: Do not display any vector properties
  • Force: The force the influence will apply.
  • Property: If this is selected then the vector_property name needs to be defined. This should be a property that is modified by the influence, for example in a modify_influence or influence_set_property.

vector_length

This controls the overall length of the output arrows or lines. It multiplies the final value output from the length_remap curve.

vector_width

This is the width of the arrows as well as the width of the flow lines.

vector_property_name

When vector_display is set to Property this is the name of some property that is set by the influence, for example though a modify_influence or using set_influence_property.

apply_mask

When this is enabled the internal influence mask is applied to to the influence values, such as force, in the manner it is applied internally in the solvers.

Remap Values

size_remap

This curve can be used to control how the influence value maps to the size of a point. The values along the bottom of the curve represent the input field values and the value of the curve at those positions is the output. If the pre and post extrapolation of the curve is constant than values outside those ranges will clamp.

length_remap

This curve can be used to control how the influence vector value maps to the length of an arrow. The values along the bottom of the curve represent the input field length values and the value of the curve at those positions is the output length. If the pre and post extrapolation of the curve is constant than values outside those ranges will clamp.

color_remap

This remaps the influence values to a lookup of the color values. The raw point property, or the length of the vector property is remapped with this curve, then the result is used as input for the 3 color curves.

It is generally simplest to leave the color curves in a 0-1 range and adjust the color remap to determine the field range that maps to color. If one wished to map influence values between 20.0 and 25.0 to the color range, then move the positions of the two vertices to 20 (value 0.0) and 25 (value 1.0).

Shape and Color

vector_base_brightness

This scales the color at the root position of arrows. If it is 1.0 then arrows will have uniform color along their length. If it is zero then the root of the arrows will be black, while the tip will be the defined color value.

point_shape

The shape to use for the draw:

  • point: simple one pixel points
  • disk: a filled circle
  • circle: a line draw of a circle
  • cube: solid cubes
  • sphere: solid spheres
  • numeric: this allows one to display the field as numbers.

screen_aligned

If true the point shapes will be rotated to face the camera.

color_R

The red color range.

color_G

The green color range.

color_B

The blue color range.

draw_arrowheads

Draw the vectors as arrows with heads, instead of tapered lines.

vector_numeric_display

Draw the raw fields values as text. This is three float numbers at each point for the vector xyz.

Sampling

The scope will sample a uniform grid within a bounding box where the divisions property controls the subdivision of this box relative to the largest axis. If there is probe geometry then it will sample at the probe geometry points and divisions is ignored.

min_bounds

This is a float3 representing the minimum position of a bounding box. If there is an object connected to bounds_geometry then that will override this setting.

max_bounds

This is a float3 representing the maximum position of a bounding box. If there is an object connected to bounds_geometry then that will override this setting.

divisions

This controls the number of samples when there is no probe geometry. A uniform grid of samples is generated within the min/max bounds, where the divisions is the sample count along the major axis.

skip_probe_samples

When using probe geometry this allows one to skip every X samples. A value of zero will use every geometry point, while a value of 1 will use every other point, a value of 2 every 3rd point, etc. This can be particularily useful when the probe is a volume, which may have a lot of voxells.

apply_bounds_to_probe

When using probe geometry this allow one to further apply the bounding box to the probe samples.

Flowline Display

Flowlines are strands that start at the sampling positions, and trace the flow through influence vector property (treated as velocity). They may be thought of as simulating the path of a particle being advected through the influence volume.

display_flowlines

If enabled then it will draw flowlines instead of arrows.

flowline_length_in_sec

The flowline path length is determined by how far a particle would travel in this time, where the vector field is treated as velocity.

flowline_samples_per_second

This determines how many steps are taken to create the flowlines. A large value will result in smoother curves that more accurately follow the influence vector field, but also will take more computation. If the flowline_length_in_seconds is 2 and this is 100 then there will be 200 samples for each flowline.

Outputs

diagnostic_geo

This is an output point and/or strand geometry containing the sampled values with color and size modulation.

Was this information helpful?