Physics Nodes

ActionImpulse

Applies an impulse to an entity.

Awake

Awakes an entity or sends it to rest.

CameraProxy

Used to create an entity camera proxy.

Inputs

PortTypeDescription
CreateAnyCreates a physicalized camera proxy if one does not exist
EntityHostAnySyncs proxy rotation with the current view camera

Outputs

PortTypeDescription
EntityCameraIntegerRetrieves the camera proxy

CollisionListener

Used to setup physics collision listeners.

Inputs

PortTypeDescription
AddListenerAnyAdds collision listener
IgnoreSameNodeBooleanSuppresses events if both colliders are registered via the same node
RemoveListenerAnyRemoves collision listener
Remove AllAnyRemoves all

Outputs

PortTypeDescription
IdAAnyID of the first colliding entity
PartIdAIntegerPart ID inside the first colliding entity
IdBAnyID of the second colliding entity
PartIdBIntegerPart ID inside the second colliding entity
PointVec3Location of colision point
NormalVec3Collision normal
SurfacetypeAStringSurface type of the first colliding entity
SurfacetypeBStringSurface type of the second colliding entity
HitImpulseFloatCollision impulse along the normal

Constraint

Used to create a physics constraint.

Inputs

PortTypeDescription
CreateAnyCreates the constraint
BreakAnyBreaks the constraint
IdIntegerConstraint ID
EntityAAnyConstraint owner entity
PartIdAIntegerPart ID to attach to
EntityBAnyConstraint buddy entity
PartIdBIntegerPart ID to attach to
PointVec3Connection point in worldspace
IgnoreCollisionsBooleanDisables collisions between constrained entities
BreakableBooleanBreak if force limit is reached
ForceAwakeBooleanMake entity B always awake; restores previous sleep parameters
MaxForceFloatForce limit
MaxTorqueFloatRotational force (torque) force limit
MaxForceRelativeAnyMake limits relative to entity B's mass
TwistAxisBooleanMain rotation axis in worldspace
MinTwistFloatLower rotation limit around TwistAxis
MaxTwistFloatUpper rotation limit around TwistAxis
MaxBendFloatMaximum bend of the TwistAxis

Outputs

PortTypeDescription
IdIntegerConstraint ID
BrokenBooleanTriggered when the constraint breaks

Dynamics

Dynamic physical state of an entity. See output mouse-over helpers for output description help.

GetPhysId

Returns ID of a physical entity associated with EntityId (-1 if none).

GetSkeleton

Returns a temporary entity id that can be used to access character skeleton physics.

ObjTypeSelection

Lets you specify the type of object selected.

Params

ArticulatedBody

Used to set physical parameters for Articulated body.

PortDescription
SetTriggers the Node
LyingModeNcolls Number of contacts that triggers 'lying mode'
LyingDamping Damping override
IsGrounded Whether body's pivot is firmly attached to something or free
CheckCollisions Only works with bCollisionResp set
SimType Simulation type: 0-'joint-based', 1-'body-based'; fast motion forces joint-based mode automatically
LyingSimType Simulation type override

AutoDetachment

Used to set physical parameters for Autodetachment.

Buoyancy

Used to set physical parameters for Buoyancy.

PortDescription
WaterDensity Overrides water density from the current water volume for an entity; sets for water areas.
WaterDamping Uniform damping while submerged, will be scaled with submerged fraction.
WaterResistance Water's medium resistance; same comments on water and kwater apply.

Cloth

Used to set physical parameters for Cloth.

PortDescription
Thickness Thickness for collisions
MaxSafeStep Time step cap
Hardness Stiffness against stretching (for soft bodies, <0 means fraction of maximum stable)
DampingRatio Damping in stretch direction, in fractions of 0-oscillation damping
AirResistance Wind in addition to phys area wind
WindVariance Wind variance, in fractions of 1 (currently changes 4 times/sec)
MaxIters Tweak for the solver (complexity = O(nMaxIters*numVertices))
Accuracy Accuracy for the solver (velocity)
FrictionOverrides material friction
ImpulseScaleScale general incoming impulses
ExplosionScale Scale impulses from explosions
CollisionImpulseScaleNot used
MaxCollisionImpulse Not used
CollisionMask Combination of ent_... flags
MassDecay Decreases mass from attached points to free ends; mass_free = mass_attached/(1+decay) (can impove stability)
StiffnessNorm Resistance to bending
StiffnessTang Resistance to shearing

CollisionClass

Used to set physical parameters for CollisionClass .

PortDescription
CollisionClass Sets CollisionClass type
CollisionClassIgnore Sets CollisionClass ignore
CollisionClassUNSET Clears CollisionClass type
CollisionClassIgnoreUNSET Clears CollisionClass ignore

Constraint

Used to set physical parameters for Constraints.

PortDescription
PhysEntityIdPhys entity id of the first entity (not the same as entity id)
Id If not set, will be auto-assigned; return value of Action(). Doesn't have to be unique - can update several constraints with one id; if not set, updates all constraints
EntityPartId1If not set, the first part is assumed
EntityPartId2 If not set, the first part is assumed
Xmin Rotation limits around x axis ("twist"); if xlimits[0]>=[1], x axis is locked
Xmax Rotation limits around x axis ("twist"); if xlimits[0]>=[1], x axis is locked
Yzmin Combined yz-rotation - "bending" of x axis; yzlimits[0] is ignored and assumed to be 0 during simulation
YzmaxCombined yz-rotation - "bending" of x axis; yzlimits[0] is ignored and assumed to be 0 during simulation
DampingInternal constraint damping
SensorSize Used for sampling environment and re-attaching the constraint when something breaks
HardnessLin Sets how fast the solver tries to resolve positional and rotational drift
HardnessAng Sets how fast the solver tries to resolve positional and rotational drift
MaxPullForce Positional and rotational force limits
MaxBendTorque Positional and rotational force limits
Full Fully locked

ConstraintRemove

Used to set physical parameters for Cloth.

Flags

Used to set physical parameters for Cloth.

GroundPlane

Used to set physical parameters for Cloth.

PartFlags

Used to set physical parameters for Cloth.

Particle

PortDescription
FlagsSame as entity flags
Mass and Size Pseudo-radius
Heading Normalized heading vector
InitialVelocity Velocity along "heading"
kAirResistance Air resistance koefficient, F = kv
kWaterResistanceSame for water
AccThrust Acceleration along direction of movement
AccLift Acceleration that lifts particle with the current speed
MinBounceVel Velocity threshold for bouncing->sliding switch
SurfaceIdx Angular velocity
Pierceability Pierceability for ray tests; pierceable hits slow the particle down, but don't stop it
Normal Aligns this direction with the surface normal when sliding

PlayerDimensions

Used to set physical parameters for Cloth.

PlayerDynamics

Used to set physical parameters for Cloth.

Rope

Used to set physical parameters for Cloth.

PortDescription
Length Specifies the 'target' length; 0 is allowed for ropes with dynamic subdivision
Mass Thickness for collisions
CollDist Thickness for collisions
SurfaceIdx Used for collision reports; friction is overriden
Friction Friction for free state and lateral friction in strained state
FrictionPullFriction in pull direction in strained state
Wind Wind vector, in addition to any environmental wind
WindVariance Variance (applied to local only)
AirResistance Needs to be >0 in order to be affetcted by the wind
SensorSize Size of the sensor used to re-attach the rope if the host entity breaks
MaxForce Force limit; when breached, the rope will detach itself unless rope_no_tears is set
NumSegs Segment count, changin will reset vertex positions
NumSubvtx Maximum internal vertices per segment in subdivision mode
PoseStiffness Shape-preservation stiffness
PoseDamping Damping for shape preservation forces
PoseType 0-no target pose (no shape-preservation stiffness),
UnprojLimit Rotational unprojection limit per frame (no-subdivision mode)
Stiffness Stiffness against stretching (used in the solver; it's *not* a spring, though)
HardnessUsed for the solver in strained state with subdivision on

Simulation

Used to set physical parameters for Cloth.

PortDescription
MaxTimeStep Maximum time step that entity can accept (larger steps will be split).
Damping Damped velocity = oridinal velocity * (1 - damping*time interval).
FreefallDamping Damping and gravity used when there are no collisions.
MassDamped velocity = oridinal velocity * (1 - damping*time interval).
Density Maximum EventPhysCollisions reported per frame (only supported by rigid bodies/ragdolls/vehicles).
MinEnergy Minimun of kinetic energy below which entity falls asleep (divided by mass).
MaxLoggedCollisions Maximum EventPhysCollisions reported per frame (only supported by rigid bodies/ragdolls/vehicles).

Vehicle


Used to set physical parameters for Vehicle.

PortDescription
AxleFrictionFriction torque at axes divided by mass of vehicle
EnginePower Power of engine (about 10,000 - 100,000)
MaxSteer Maximum steering angle
EngineMaxrpmEngine torque decreases to 0 after reaching this rotation speed
IntergrationType Used for suspensions; 0-explicit Euler, 1-implicit Euler
MaxTimeStepVehicle Maximum time step when vehicle has only wheel contacts
DampingVehicle Damping when vehicle has only wheel contacts
MaxBrakingFriction Limits the the tire friction when handbraked
EngineMinRPMDisengages the clutch when falling behind this limit, if braking with the engine
EngineIdleRPM RPM for idle state
EngineShiftupRPM RPM threshold for for automatic gear switching
EngineShiftdownRPM RPM for idle state
Stabilizer Stabilizer force, as a multiplier for kStiffness of respective suspensions
ClutchSpeed Clutch engagement/disengagement speed
BrakeTorque Torque applied when breaking using the engine
DynFrictionRatio Friction modifier for sliping wheels
GearDirSwitchRPM RPM threshold for switching back and forward gears
SlipThresholdLateral speed threshold for switchig a wheel to a 'slipping' mode
EngineStartRPM Sets this RPM when activating the engine
MinGear Additional gear index clamping
MaxGear Additional gear index clamping


Velocity

Used to set physical parameters for Velocity.

Wheel

PortDescription
Wheel Wheels on the same axle align their coordinates (if only slightly misaligned)
IsDrivingEnabled when the wheel is driving
SuspLen Full suspension length (relaxed)
MaxFriction Surface friction is cropped to this min-max range
MinFriction
SurfaceIdx Uses raycasts instead of cylinders
CanBrake Handbrake applies

PartIDConversion

PhysicsEnable

Enables/Disables Physics.

PhysicsSleepQuery

Node that returns the sleeping state of the physics of a given entity.

RayCast

Used to perform a raycast relative to an entity.

Inputs

PortTypeDescription
GoAnyActivates the node
DirectionVec3Direction of the raycast
MaxLengthFloatMaximum length of the raycast
PositionVec3Ray start position relative to the entity
TransformDirBooleanTransforms direction by entity orientation

Outputs

PortTypeDescription
NoHitAnyTriggered if no object was hit by the raycast
HitAnyTriggered if an object was hit by the raycast
DirectionVec3Direction of the cast ray
DistanceFloatDistance to the hit object
HitPointVec3Position of the hit
NormalVec3Normal of the suirface at the HitPoint
SurfaceTypeIntegerSurface type index of the surface hit
EntityAnyID of the entity that was hit

RayCastCamera

Perform a raycast relative to the camera.

SetParams

Sets various physical parameters that are exposed to scripts.