Force Field: Drag#

A force field that slows rigid bodies by generating a force that is opposite to their velocity direction using the forumula f = -linear * v - square * v^2.

Installation#

To use this node enable omni.physx.forcefields in the Extension Manager.

Inputs#

Name

Type

Descripton

Default

Enabled (inputs:enabled)

bool

Enable or disable this ForceField. Overrides all other settings.

True

Execution (inputs:execution)

execution

Connection to evaluate this node.

0

Linear (inputs:linear)

float

linear sets a force that varies proportionally with the speed of the rigid body.

0.0

Minimum Speed (inputs:minimumSpeed)

float

Drag forces are not applied below this minimum speed.

0.0

Position (inputs:position)

pointd[3]

The location of the force field.

[0.0, 0.0, 0.0]

Prim Paths (inputs:primPaths)

token[]

Apply forces to this list of Prims. Must be rigid bodies for the forces to have any effect.

[]

Range (inputs:range)

float[2]

Forces are not applied when the distance to the force field is outside of this (minimum, maximum) range. Each force field can have a different definition of distance, e.g. for a spherical fore field, the distance is to the center, for a plane, the distance is to the closest point on the surface, for a line, it is to the closest point on the line. The minimum or maximum range is ignored if the value is negative.

[-1.0, -1.0]

Shape (inputs:shape)

token[]

Derive position, direction and angle inputs from this prim instead.

[]

Square (inputs:square)

float

square computes a force the varies with the square of the speed of the rigid body.

0.0

Surface Area Scale Enabled (inputs:surfaceAreaScaleEnabled)

bool

Enable or disable scaling of forces by the surface area that faces in the direction of the applied force.

True

Surface Sample Density (inputs:surfaceSampleDensity)

float

Number of rays to cast per square unit of cross sectional area. When Surface Sample Density is disabled, by setting this value to 0, all forces act through the Center of Mass of the Rigid Body and no rotational torques will be applied. Any positive value will enable Surface Sampling. Ray casts are performed against the Collision Object of the Rigid Body in order to apply forces on the surface along the direction of the surface normal. This will apply torques on the Rigid Body that will induce rotation. Higher densities will cast more rays over the surface and spread the same force over the surface area. More ray casts will generate more accurate forces and torques, but will take additional compute time.

0.0

Metadata#

Name

Value

Unique ID

omni.physx.forcefields.ForceFieldDrag

Version

2

Extension

omni.physx.forcefields

Has State?

False

Implementation Language

C++

Default Memory Type

cpu

Generated Code Exclusions

tests, usd

tags

force,fields,drag,physx,simulation

uiName

Force Field: Drag

Generated Class Name

OgnForceFieldDragDatabase

Python Module

omni.physxforcefields