Skip to main content

Limits Parameters

Parameters for limiting bone movement and rotation (Bone Constraint / Sync Bone / angle limit).

View Source

About This Page

This is the complete reference for limit-related parameters. For usage, see Sync Bone (penetration prevention via sync) and Bone Subdivision (BoneConstraint Subdivision).

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
CategoryLimits|Bone 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
CategoryLimits|Bone Constraint

BoneConstraintIterationCountAfterCollision

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

PropertyValue
Typeint32
Default1
CategoryLimits|Bone Constraint

bAutoAddChildDummyBoneConstraint

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

PropertyValue
Typebool
Defaulttrue
CategoryLimits|Bone Constraint

BoneConstraints

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

UPROPERTY(EditAnywhere, Category = "Limits|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
bExcludeFromSubdivisionboolExclude this constraint from BoneConstraint Subdivision (bridge dummies)

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 = "Limits|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. v1.21.0 added per-axis apply direction, distance attenuation, and scale curves.

SyncBones

Sync Bone List - Sets the source bone (Bone) and the targets (TargetRoots).

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

Main properties of FKawaiiPhysicsSyncBone

PropertyTypeDescription
BoneFBoneReferenceSource bone to sync from
TargetRootsTArray<FKawaiiPhysicsSyncTargetRoot>Target bones/chains (bIncludeChildBones also targets children)
GlobalScaleFVectorOverall application amount (0.0–1.0, default (1,1,1))
ScaleCurveByDeltaDistanceFRuntimeFloatCurveScales the correction by the source's movement distance
ApplyDirectionX / Y / ZESyncBoneDirectionApply direction per axis (Both/Positive/Negative/None)
bEnableDistanceAttenuationboolAttenuate the application amount by distance
AttenuationInnerRadius / OuterRadiusfloatInner / outer radius of attenuation (cm)
MaxAttenuationRatefloatMaximum attenuation (0–1)

See Sync Bone for details.

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.