Rasagar/Library/PackageCache/com.unity.visualeffectgraph/Documentation~/Block-SetPosition(SignedDistanceField).md
2024-08-26 23:07:20 +03:00

3.5 KiB
Raw Blame History

Set Position (Signed Distance Field)

Menu Path : Position > Set Position (Signed Distance Field)

The Set Position (Signed Distance Field) Block calculates a position based on an input Signed Distance Field (SDF) and stores the result in the position attribute, based on composition.

This Block can calculate the position either from the SDF's Surface, Volume, or Thick Surface where thickness can be relative to the size of the shape, or an absolute value.

This Block also calculates a direction vector based on the calculated position on the shape, and stores it to the direction attribute, based on composition. This direction is equal to the normal of the surface at the calculated particle position.

Note: Velocity from Direction and Speed Blocks can then process the direction attribute.

Block compatibility

This Block is compatible with the following Contexts:

Block settings

Setting Type Description
Position Mode Enum Specifies how this Block uses the shape to calculate a position. The options are:
Surface: Calculates positions only on the shapes surface.
Volume: Calculates positions inside the entire shapes volume.
Thickness Absolute: Calculates positions on a thick surface of given absolute thickness.
Thickness Relative Calculates positions on a thick surface as a given percentage of the largest axiss size.
Spawn Mode Enum Specifies how this Block distributes the particles among the shapes arc.
Random: Calculates a per-particle random progress (0..1) on the arc.
Custom: Allows you to specify the progress in the Arc Sequencer property port.
Kill Outliers Bool (Inspector) Indicates whether to kill particles whose position does not adhere to the surface/volume.
Projection Steps uint (Inspector) The number of steps this Block uses to project the particle onto the surface of the SDF. This may impact performance, but can yield less outliers.

Block properties

Input Type Description
Box AABox The Axis-Aligned Box that determines the shape to calculate the position from.
Thickness float The thickness of the shapes surface for position calculation.
This property only appears if you set Position Mode to Thickness Relative or Thickness Absolute.
Arc Sequencer float The position in the arc to spawn particles.
This property only appears if you set Spawn Mode to Custom.

Notes

This Block calculates the relative thickness based on the largest axis of the SDF, which is not necessarily the size of the object the SDF represents. Therefore, the positions this Block calculates can be inside the entire shapes volume even with a relative thickness smaller than 1.