Skip to end of metadata
Go to start of metadata

Internal Breakable Joint

Creates an internal breakable joint between physical entity parts. A joint can either connect two parts, or one part to the 'ground' (connecting parts are determined automatically by checking intersections). When the entity receives impulses (from collisions or other sources), it recomputes internal forces between joints and breaks the ones that have their limits breached. Broken joints can optionally create a dynamic constraint between broken parts instead of fully disconnecting them. If the limit that broke was twist, it creates a 'hinge' (1 DOF) constraint around the joint's z axis, otherwise a bend constraint (2 DOF).

Parts that separate from the main entity are always physicalized as rigid entities (PE_RIGID).


PropertyDescription
Internal Breakable Joint Settings
SettingDescription
Max Push ForceForce limit for compression along the joint's z axis.
Max Pull ForceForce limit for pulling apart along the joint's z axis.
Max Shift ForceForce limit for shift orthogonal to the joint's z axis.
Max Bend TorqueTorque limit for bending relative to the joint's z axis.
Max Twist TorqueTorque limit for twisting around the joint's z axis.
DefaultDamageAccumUse default damage accumulation and threshold (from CVar).
Damage Accumulation FractionAccumulate this fraction of 'structural damage' each time the joint is affected (this effectively makes each force/torque limit weaker).
Damage Accumulation ThresholdOnly accumulate damage if it exceeds this fraction of the maximum.
BreakableWhether the joint is at all breakable.
Direct Breaks OnlyThe joint will only break if either of the 2 parts it connects receives an impulse.
Sensor SizeSize of the sampling geometry used to find the parts the joint connects. Also used to re-connect the joint if the entity undergoes procedural breakability.
Dynamic Constraint
SettingDescription
Min AngleMin angle for the dynamic constraint (for bend assumed to be 0).
Max AngleMax angle for the dynamic constraint.
Force LimitBreak limit for the dynamic constraint (if exceeded, the constraint will be removed).
Ignore CollisionsWhether the entities connected by the constraint will ignore collisions between themselves.
DampingDamping applied along the constraint's allowed degrees of freedom.

Line Constraint

Constrains entity movement to a line, relative to another entity. The other entity is passed to the ConstrainToEntity function, or it can be 'the world' if ConstrainToPoint is used. Rotation can optionally be fully disabled as well.

SettingDescription
ActiveWhether or not the constraint should be added when the component is created.
Lock RotationWhether or not the constrained object will be allowed to rotate around the axis (rotation that would steer the entity away from the axis is locked always).
Axis

The direction of the line the entity will be constrained to (in the component's frame).

If one of these axes is already set to a positive value and you change a different one, the difference will be split between both axes. This allows you to create more complex movement along multiple axes at the same time.

Minimum LimitMinimum position that the entity can be moved to from the constraint pivot. A unit of -1 indicates that the minimum position is one meter behind the entity.
Maximum LimitMaximum position that the entity can be moved to form the constraint pivot. A unit of +1 indicates that the maximum position is one meter ahead of the entity.
DampingDetermines how much the object loses momentum (as it moves) while the constraint is active.
Attachment Parameters
No Attachment Collisions

If the Constraint is attached to another entity (either via Target Link Name or Auto Attachment Distance, see below), automatically disable collisions with it.

Auto Attachment Distance

When >0, will sample physical environment within this distance to find an entity to attach to.

Any physical constraint constrains 2 entities. the first one is always the one that owns the component. the other one can be auto-detected.
Target Link NameName of the entity link that contains the entity to attach to.
Helper Link Name

Name of the entity link that contains the 'constraint helper' entity, such a physical area with a surface or a spline.

Target Link Name and Helper Link Name are needed to give the component a reference to another entity, for example you create an entity link with a certain name, and specify that link name as the Target Link Name.

Plane Constraint

Constrains entity movement to a plane, relative to another entity. The other entity is passed to ConstrainToEntity function, or it can be 'the world' if ConstrainToPoint is used. Rotation can optionally be limited as well.

SettingDescription
Active

When enabled, prevents the attached object from colliding with other objects, including their physics proxies.

If attached to another entity, automatically disable collisions with it.

AxisThe normal of the plane the entity will be constrained to (in the component's frame).
Twist rotation min angle
Rotation limits minimum around x axis. (If this value is bigger than the max value the x axis will be locked)
Twist rotation max angleRotation limits maximum around x axis.
Bend max angle
Maximum bend angle of the rotation.
DampingDetermines how much the object loses momentum (as it moves) while the constraint is active.
Attachment Parameters
No Attachment Collisions

If the Constraint is attached to another entity (either via Target Link Name or Auto Attachment Distance, see below), automatically disable collisions with it.

Auto Attachment Distance

When >0, will sample physical environment within this distance to find an entity to attach to.

Any physical constraint constrains 2 entities. the first one is always the one that owns the component. the other one can be auto-detected.
Target Link NameName of the entity link that contains the entity to attach to.
Helper Link Name

Name of the entity link that contains the 'constraint helper' entity, such a physical area with a surface or a spline.

Target Link Name and Helper Link Name are needed to give the component a reference to another entity, for example you create an entity link with a certain name, and specify that link name as the Target Link Name.

Point Constraint

Creates a point-to-point constraint between 2 entities. The other entity is passed to ConstrainToEntity function, or it can be 'the world' if ConstrainToPoint is used. Rotation can be constrained in two dimensions: as rotation around the constraint axis and as bending of that axis on one entity's frame relative to it the other entity's frame. 

SettingDescription
ActiveWhether or not the constraint should be added when the component is created.
AxisAxis that's used to set the rotation limits.
Free PositionMakes the object connected to the Point Constraint free to move, as if it did not have a point constraint, so it will likely simply fall to the ground.
Minimum X AngleMinimum angle for rotation around the axis ('twisting')
Maximum X AngleMaximum angle for rotation around the axis ('twisting')
Maximum YZ AngleMaximum angle for bending of the axis.
Damping

Determines how much the object loses momentum (as it moves) while the constraint is active. 

Values of 0.1 to 0.4 are very common and realistic.

Attachment Parameters
No Attachment Collisions

If the Constraint is attached to another entity (either via Target Link Name or Auto Attachment Distance, see below), automatically disable collisions with it.

Auto Attachment Distance

When >0, will sample physical environment within this distance to find an entity to attach to.

Any physical constraint constrains 2 entities. the first one is always the one that owns the component. the other one can be auto-detected.
Target Link NameName of the entity link that contains the entity to attach to.
Helper Link Name

Name of the entity link that contains the 'constraint helper' entity, such a physical area with a surface or a spline.

Target Link Name and Helper Link Name are needed to give the component a reference to another entity, for example you create an entity link with a certain name, and specify that link name as the Target Link Name.

On This Page

  • No labels