Applies an impulse to an entity.
Awakes an entity or sends it to rest.
Used to create an entity camera proxy.
Inputs
| Port | Type | Description |
|---|---|---|
| Create | Any | Creates a physicalized camera proxy if one does not exist |
| EntityHost | Any | Syncs proxy rotation with the current view camera |
Outputs
| Port | Type | Description |
|---|---|---|
| EntityCamera | Integer | Retrieves the camera proxy |
Used to setup physics collision listeners.
Inputs
| Port | Type | Description |
|---|---|---|
| AddListener | Any | Adds collision listener |
| IgnoreSameNode | Boolean | Suppresses events if both colliders are registered via the same node |
| RemoveListener | Any | Removes collision listener |
| Remove All | Any | Removes all |
Outputs
| Port | Type | Description |
|---|---|---|
| IdA | Any | ID of the first colliding entity |
| PartIdA | Integer | Part ID inside the first colliding entity |
| IdB | Any | ID of the second colliding entity |
| PartIdB | Integer | Part ID inside the second colliding entity |
| Point | Vec3 | Location of colision point |
| Normal | Vec3 | Collision normal |
| SurfacetypeA | String | Surface type of the first colliding entity |
| SurfacetypeB | String | Surface type of the second colliding entity |
| HitImpulse | Float | Collision impulse along the normal |
Used to create a physics constraint.
Inputs
| Port | Type | Description |
|---|---|---|
| Create | Any | Creates the constraint |
| Break | Any | Breaks the constraint |
| Id | Integer | Constraint ID |
| EntityA | Any | Constraint owner entity |
| PartIdA | Integer | Part ID to attach to |
| EntityB | Any | Constraint buddy entity |
| PartIdB | Integer | Part ID to attach to |
| Point | Vec3 | Connection point in worldspace |
| IgnoreCollisions | Boolean | Disables collisions between constrained entities |
| Breakable | Boolean | Break if force limit is reached |
| ForceAwake | Boolean | Make entity B always awake; restores previous sleep parameters |
| MaxForce | Float | Force limit |
| MaxTorque | Float | Rotational force (torque) force limit |
| MaxForceRelative | Any | Make limits relative to entity B's mass |
| TwistAxis | Boolean | Main rotation axis in worldspace |
| MinTwist | Float | Lower rotation limit around TwistAxis |
| MaxTwist | Float | Upper rotation limit around TwistAxis |
| MaxBend | Float | Maximum bend of the TwistAxis |
Outputs
| Port | Type | Description |
|---|---|---|
| Id | Integer | Constraint ID |
| Broken | Boolean | Triggered when the constraint breaks |
Dynamic physical state of an entity. See output mouse-over helpers for output description help.
Returns ID of a physical entity associated with EntityId (-1 if none).
Returns a temporary entity id that can be used to access character skeleton physics.
Lets you specify the type of object selected.
Used to set physical parameters for Articulated body.
| Port | Description |
|---|---|
| Set | Triggers 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 |
Used to set physical parameters for Autodetachment.
Used to set physical parameters for Buoyancy.
| Port | Description |
|---|---|
| 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. |
Used to set physical parameters for Cloth.
| Port | Description |
|---|---|
| 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) |
| Friction | Overrides material friction |
| ImpulseScale | Scale general incoming impulses |
| ExplosionScale | Scale impulses from explosions |
| CollisionImpulseScale | Not 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 |
Used to set physical parameters for CollisionClass .
| Port | Description |
|---|---|
| CollisionClass | Sets CollisionClass type |
| CollisionClassIgnore | Sets CollisionClass ignore |
| CollisionClassUNSET | Clears CollisionClass type |
| CollisionClassIgnoreUNSET | Clears CollisionClass ignore |
Used to set physical parameters for Constraints.
| Port | Description |
|---|---|
| PhysEntityId | Phys 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 |
| EntityPartId1 | If 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 |
| Yzmax | Combined yz-rotation - "bending" of x axis; yzlimits[0] is ignored and assumed to be 0 during simulation |
| Damping | Internal 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 |
Used to set physical parameters for Cloth.
Used to set physical parameters for Cloth.
Used to set physical parameters for Cloth.
Used to set physical parameters for Cloth.
| Port | Description |
|---|---|
| Flags | Same as entity flags |
| Mass and Size | Pseudo-radius |
| Heading | Normalized heading vector |
| InitialVelocity | Velocity along "heading" |
| kAirResistance | Air resistance koefficient, F = kv |
| kWaterResistance | Same 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.
Used to set physical parameters for Cloth.
Used to set physical parameters for Cloth.
| Port | Description |
|---|---|
| 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 |
| FrictionPull | Friction 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) |
| Hardness | Used for the solver in strained state with subdivision on |
Used to set physical parameters for Cloth.
| Port | Description |
|---|---|
| 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. |
| Mass | Damped 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). |
Used to set physical parameters for Vehicle.
| Port | Description |
|---|---|
| AxleFriction | Friction torque at axes divided by mass of vehicle |
| EnginePower | Power of engine (about 10,000 - 100,000) |
| MaxSteer | Maximum steering angle |
| EngineMaxrpm | Engine 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 |
| EngineMinRPM | Disengages 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 |
| SlipThreshold | Lateral 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 |
Used to set physical parameters for Velocity.
| Port | Description |
|---|---|
| Wheel | Wheels on the same axle align their coordinates (if only slightly misaligned) |
| IsDriving | Enabled 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 |
Enables/Disables Physics.
Node that returns the sleeping state of the physics of a given entity.
Used to perform a raycast relative to an entity.
Inputs
| Port | Type | Description |
|---|---|---|
| Go | Any | Activates the node |
| Direction | Vec3 | Direction of the raycast |
| MaxLength | Float | Maximum length of the raycast |
| Position | Vec3 | Ray start position relative to the entity |
| TransformDir | Boolean | Transforms direction by entity orientation |
Outputs
| Port | Type | Description |
|---|---|---|
| NoHit | Any | Triggered if no object was hit by the raycast |
| Hit | Any | Triggered if an object was hit by the raycast |
| Direction | Vec3 | Direction of the cast ray |
| Distance | Float | Distance to the hit object |
| HitPoint | Vec3 | Position of the hit |
| Normal | Vec3 | Normal of the suirface at the HitPoint |
| SurfaceType | Integer | Surface type index of the surface hit |
| Entity | Any | ID of the entity that was hit |
Perform a raycast relative to the camera.
Sets various physical parameters that are exposed to scripts.