-
Notifications
You must be signed in to change notification settings - Fork 392
Parameters en
Explanation of all KawaiiPhysics parameters.
- Modify Target
- Physics Settings
- Simulation Space
- Curve Data
- Limits (Collision)
- Bone Constraint
- Sync Bone
- External Force
- World Collision
- External Force Presets
- AnimNotify
- Gameplay Tag
- Debug & Console Variables
Configure which bones to control.
Control the specified bone and all bones below it.
v1.17+: Multiple Root Bones can now be configured.
Exclude the specified bone and all bones below it from control.
If greater than 0, adds a dummy bone to the end of the control bones. Adding a dummy bone improves physics control of the end bone.
Specifies the forward direction of the bone. Affects physics control and dummy bone placement.
Basic parameters for physics simulation.
Damping of physical behavior. As the value is smaller, acceleration is more reflected in the physical behavior.
- Reference: 0.1-0.3
Stiffness of physical behavior. As the value is larger, pre-physics shape is more respected.
- Reference: 0.05-0.2
Influence from movement in world coordinate system of Skeletal Mesh Component.
- Reference: 0.5-0.8
Influence from rotation in world coordinate system of Skeletal Mesh Component.
- Reference: 0.5-0.8
Radius of each bone's collision.
Rotational limitations in physical behavior. Setting the value properly can prevent erratic behavior.
Target frame rate for physics simulation.
Number of physics warm-up iterations. Used when you want to start/display after physics processing has settled down.
If the movement amount of a SkeletalMeshComponent in one frame exceeds the set value, that movement will not be reflected in physics control. Used to prevent erratic behavior during teleportation.
If the rotation amount of SkeletalMeshComponent in one frame exceeds the set value, that rotation will not be reflected in physics control.
Fix bones on the specified plane axis.
Flag to update physics parameters of each bone every frame. Disabling this will slightly improve performance, but physics parameters cannot be changed during execution.
Flag to reset Transform when the controlled bone is not found. Generally should be disabled.
Added in v1.19
Adjusts the influence of SkeletalMeshComponent movement on physics simulation. Useful for adjusting behavior on elevators and moving platforms.
Added in v1.19
Configure the coordinate system for physics simulation.
Select the coordinate system for simulation.
| Value | Description |
|---|---|
| Component Space | Component coordinate system (traditional behavior) |
| World Space | World coordinate system |
| Base Bone Space | Base bone coordinate system |
Use Case:
- When the root bone rotates 180 degrees within a single frame, using World Space or Base Bone Space provides more stable results.
Curve data to vary parameters based on bone position.
Formula:
Length from RootBone to specific bone / Length from RootBone to end bone
The curve value at this position (0.0-1.0) is multiplied with each parameter.
Corrects the Damping parameter.
Corrects the Stiffness parameter.
Corrects the World Damping Location parameter.
Corrects the World Damping Rotation parameter.
Corrects the Collision Radius parameter.
Corrects the Limit Angle parameter.
Collision settings.
Spherical collision.
Capsule collision.
Planar collision.
Debug visualization added in v1.20
Box collision.
Collision settings (DataAsset version). Recommended when you want to reuse settings across AnimNodes or ABPs.
v1.16+: Bone selection improved from text input to hierarchy menu. Export button for Limits added.
Added in v1.17
Feature to automatically generate collision shapes.
Added in v1.14, promoted to Production Ready in v1.19
Uses XPBD (Extended Position-Based Dynamics) to maintain distance between bones. Useful for preventing adjacent bone chains (such as in skirts) from separating too much.
Stiffness type used in Bone Constraint.
Number of Bone Constraint iterations before collision processing.
Number of Bone Constraint iterations after collision processing.
Flag to automatically process dummy bones when end bones are subject to BoneConstraint processing.
Sets bone pairs to be processed by BoneConstraint. Used when you want to maintain distance between bones, such as skirts.
BoneConstraint settings (DataAsset version). Recommended when reusing settings across AnimNodes or ABPs. Also supports regex-based bone configuration.
Added in v1.20
Feature to apply reference bone displacement to target bones. Useful for solving problems like skirt leg penetration.
Sync Bone synchronizes target bones (e.g., skirt bones) with the movement of specified reference bones (e.g., leg bones). This allows you to reduce penetration issues without separately configuring ControlRig or PoseDriver.
- Solving skirt penetrating legs
- Solving capes penetrating body
External force settings.
External forces (gravity, etc.).
Added in v1.20
Flag to use legacy gravity processing. Enable this if you want to maintain previous behavior after v1.20's improved gravity processing.
Added in v1.20
Flag to use gravity direction in world space.
Added in v1.20
Flag to multiply the DefaultGravityZ value from project settings with gravity.
Simple external force vector. Use when you want to apply a constant force separately from gravity.
Flag to process Simple External Force in world coordinate system.
Enable wind influence from WindDirectionalSource. Intended for use with Cloth and SpeedTree.
Wind influence from WindDirectionalSource.
Added in v1.19
Adds noise to wind direction. Prevents unnatural appearance when camera direction matches wind direction.
External force presets. You can add custom presets in C++ (Instanced Struct).
Warning: VERY EXPERIMENTAL feature
You can add custom presets in BP or C++ (Instanced Property).
Important: Will not work properly unless you click on AnimNode or compile ABP.
Collision detection settings for level geometry.
Flag for collision detection with level collisions.
Warning: Enabling this will significantly increase physics processing load.
Use custom collision settings in WorldCollision instead of SkeletalMeshComponent's collision settings.
Flag to ignore SkeletalMeshComponent's collision (PhysicsAsset) in WorldCollision.
Ignore collision for specified bones in WorldCollision.
Ignore collision for bones with specified prefix in WorldCollision.
Common settings and type-specific settings for external force presets.
Specify bones to apply external force. Force will not be applied to unspecified bones.
Specify bones to NOT apply external force.
Specify the space for external force.
Specify the range of random force scale.
Basic external force preset.
- Force Dir: Direction of external force
- Force Rate By Bone Length Rate: Corrects Force Rate applied to each bone
- Interval: Interval for applying force
Gravity preset.
- Force Rate By Bone Length Rate: Corrects Force Rate applied to each bone
- Use Character Gravity Direction: Use CustomGravityDirection set on Character
- Use Character Gravity Scale: Use GravityScale set on Character
Curve-based external force preset.
- Force Curve: Set external force that changes over time using a curve
- Curve Evaluate Type: Curve evaluation method
- Substep Count: Number of time divisions
- Time Scale: Scale of time
- Force Rate By Bone Length Rate: Corrects Force Rate applied to each bone
Features for integration with animations.
Added in v1.20
Override the Alpha value of KawaiiPhysics node during specific animation segments. Use when you want to temporarily disable physics effects.
Use Cases:
- Disable physics during specific animations
- Reduce physics effects during cutscenes
Tag for identifying/filtering KawaiiPhysics nodes from AnimNotify or external systems. Useful when you need to target specific nodes when using multiple KawaiiPhysics nodes.
Added in v1.16
| Variable | Description |
|---|---|
a.AnimNode.KawaiiPhysics.Enable |
Enable/disable KawaiiPhysics |
a.AnimNode.KawaiiPhysics.Debug |
Enable/disable debug display |
a.AnimNode.KawaiiPhysics.Debug.LengthRate |
Debug display for length ratio |
Extended in v1.20
- Added visualization for Box and Plane collisions
- Line thickness can be adjusted via console variables
- Quick Start - Basic setup
- FAQ - Frequently asked questions
- Tutorials - Setup guides by use case