Skip to main content

Limits Parameters

Parameters for limiting bone movement and rotation.

View Source

Bone Constraint

Constraint settings for maintaining distance between bones. Used when you want to keep a constant distance between bones, like in skirts.

BoneConstraintGlobalComplianceType

Compliance Type - Specifies the compliance type used in Bone Constraint.

PropertyValue
TypeEXPBDComplianceType
DefaultLeather
CategoryBone Constraint

About XPBD Stiffness

EXPBDComplianceType

ValueDescription
ConcreteConcrete (hardest)
WoodWood
LeatherLeather
TendonTendon
RubberRubber
MuscleMuscle
FatFat (softest)

BoneConstraintIterationCountBeforeCollision

Pre-collision Iteration Count - Number of Bone Constraint processing iterations (before collision processing).

PropertyValue
Typeint32
Default1
CategoryBone Constraint

BoneConstraintIterationCountAfterCollision

Post-collision Iteration Count - Number of Bone Constraint processing iterations (after collision processing).

PropertyValue
Typeint32
Default1
CategoryBone Constraint

bAutoAddChildDummyBoneConstraint

Auto-add Dummy Bone - Flag to automatically include dummy bones in BoneConstraint processing when terminal bones are targeted.

PropertyValue
Typebool
Defaulttrue
CategoryBone Constraint

BoneConstraints

Bone Constraint List - Sets bone pairs that are targets for BoneConstraint processing.

UPROPERTY(EditAnywhere, Category = "Bone Constraint")
TArray<FModifyBoneConstraint> BoneConstraints;

FModifyBoneConstraint

PropertyTypeDescription
Bone1FBoneReferenceFirst bone of the constraint
Bone2FBoneReferenceSecond bone of the constraint
bOverrideComplianceboolWhether to override compliance type
ComplianceTypeEXPBDComplianceTypeCompliance type when overriding

BoneConstraintsDataAsset

Bone Constraints Data Asset - Sets bone pairs for BoneConstraint processing from a Data Asset. Recommended when you want to reuse settings across different AnimNodes or Animation Blueprints.

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Bone Constraint")
TObjectPtr<UKawaiiPhysicsBoneConstraintsDataAsset> BoneConstraintsDataAsset;

Sync Bone

Applies the movement/rotation of source bones to physics-controlled bones. Useful for preventing skirts from penetrating through legs.

SyncBones

Sync Bone List - Sets pairs of source bones and physics-controlled bones.

UPROPERTY(EditAnywhere, Category = "Sync Bone")
TArray<FKawaiiPhysicsSyncBone> SyncBones;

Angle Limit

LimitAngle

Rotation limit by physics behavior. Properly setting this can suppress erratic behavior.

PropertyValue
Typefloat
Default0.0 (no limit)
Range0.0 or higher
CategoryKawaiiPhysics
tip

LimitAngle limits the angle from each bone's parent bone. Higher values reduce freedom, while lower values make it more prone to erratic behavior.

Loading from Data Asset

Limit parameters can be loaded from the following Data Assets:

UKawaiiPhysicsLimitsDataAsset

A Data Asset that manages collision settings.

UCLASS(Blueprintable)
class KAWAIIPHYSICS_API UKawaiiPhysicsLimitsDataAsset : public UDataAsset

Properties

PropertyTypeDescription
SphericalLimitsTArray<FSphericalLimit>Sphere collision list
CapsuleLimitsTArray<FCapsuleLimit>Capsule collision list
BoxLimitsTArray<FBoxLimit>Box collision list
PlanarLimitsTArray<FPlanarLimit>Plane collision list

In the editor, bone preview is available by setting a Skeleton.

For more details, see Data Assets.