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 Bone Constraint (bone-to-bone constraints), 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 angular difference between the parent-to-child direction in the input animation and that same direction during simulation. Higher positive values allow a wider angle. 0 disables the limit.

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.