FuncPhysics
A brush that participates in physics simulation. Can start frozen as a kinematic body and become a fully dynamic rigid body at runtime via an input.
Properties
Frozen On Spawn Float Set to 1 to spawn as a kinematic (non-moving) body that can be unfrozen later via the BeginMovement input. Set to 0 to spawn as a dynamic rigid body immediately. Inputs
BecomeDynamic — Converts the brush from a kinematic body to a fully dynamic simulated rigid body. Has no effect if the brush is already dynamic. Universal Inputs
These inputs are available on every entity in the engine, not just this one.
GetValue String Reads the named exposed value from this entity and injects it into the pass variable pool. See Advanced Outputs for details. AddVelocity x,y,z Adds the given vector to the entity's current velocity. SetVelocity x,y,z Sets the entity's velocity to the given vector, discarding any current velocity. SetPosition x,y,z Teleports the entity to the given world position. SetScale x,y,z Sets the entity's scale. SetRotation x,y,z Sets the entity's rotation from Euler angles in degrees. AddImpulse x,y,z Applies an instantaneous physics impulse to the entity. Destroy — Despawns this entity on the next frame. Notes
FuncPhysics uses the brush geometry’s bounding box to define its collision shape. The physics material type is set to machine, which affects impact sounds.
When Frozen On Spawn is 1 the brush sits perfectly still regardless of forces until BecomeDynamic is called. This is useful for debris, collapsing structures, or any prop that should only fall when the player does something specific.
Once a brush becomes dynamic it is affected by gravity and all physics forces. It cannot be re-frozen at runtime.
Note that FuncPhysics does not currently save its physics state (velocity, angular momentum) across saves. Position is saved, but a brush that was mid-tumble when saved will be stationary on load. There is a fix planned.