# pafuhana1213/kawaiiphysics

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pafuhana1213-kawaiiphysics).**

2,901 stars · 372 forks · C++ · mit

## Links

- GitHub: https://github.com/pafuhana1213/KawaiiPhysics
- awesome-repositories: https://awesome-repositories.com/repository/pafuhana1213-kawaiiphysics.md

## Topics

`ue4` `ue4-plugin` `ue4-plugins` `ue5` `ue5-plugin` `unrealengine4` `unrealengine5`

## Description

KawaiiPhysics is an Unreal Engine physics plugin that provides a skeletal mesh simulation tool for calculating pseudo-physics bone sway. It is designed to create natural movement for hair and clothing by controlling bone rotation based on stiffness and damping without requiring a full rigid body physics engine.

The system features a character physics constraint framework and a runtime controller that allows for the dynamic adjustment of simulation parameters and external forces. It utilizes data-asset preset management to ensure consistent physics behavior across different characters and objects.

The project covers secondary motion simulation, including bone chain dynamics and the application of external forces like wind and gravity. It manages mesh penetration through primitive-based collision detection using spheres, capsules, and planes, alongside distance-based bone constraints to maintain skeletal integrity. To ensure stability, the simulation includes state filtering to prevent glitches during teleportation or rotation spikes.

## Tags

### Game Development

- [Specialized Physical Simulations](https://awesome-repositories.com/f/game-development/physics-simulation-engines/specialized-physical-simulations.md) — Provides specialized physical simulations for non-rigid dynamics such as hair and clothing on skeletal meshes.
- [Character Physics Constraints](https://awesome-repositories.com/f/game-development/character-physics-constraints.md) — Provides a framework of constraints and collision volumes to maintain skeletal integrity and prevent mesh penetration.
- [Clothing Collision Management](https://awesome-repositories.com/f/game-development/clothing-collision-management.md) — Prevents fabric and accessories from clipping through a character body using distance constraints and collision volumes.
- [Collision Detection](https://awesome-repositories.com/f/game-development/physics-engines/collision-detection.md) — Provides collision detection using geometric volumes like spheres, capsules, and planes to prevent mesh clipping. ([source](https://github.com/pafuhana1213/KawaiiPhysics/blob/master/README.md))
- [Bone Chain Dynamics](https://awesome-repositories.com/f/game-development/physics-simulation-engines/specialized-physical-simulations/articulated-chain-simulators/bone-chain-dynamics.md) — Implements stiffness and damping controls for skeletal bone chains to simulate natural movement for hair and clothing.
- [Pseudo-Physics Simulation](https://awesome-repositories.com/f/game-development/pseudo-physics-simulation.md) — Calculates bone rotation based on stiffness and damping without relying on a full rigid body physics engine.
- [Animation-Physics Integration](https://awesome-repositories.com/f/game-development/animation-physics-integration.md) — Integrates animation-driven bones into the simulation so flexible parts follow the body naturally. ([source](https://github.com/pafuhana1213/KawaiiPhysics/blob/master/README_en.md))
- [Bone Length Preservation](https://awesome-repositories.com/f/game-development/bone-length-preservation.md) — Preserves the original length of bones during simulation to prevent unnatural stretching or shrinking. ([source](https://github.com/pafuhana1213/KawaiiPhysics/blob/master/README.md))
- [Bone Transform Synchronization](https://awesome-repositories.com/f/game-development/bone-transform-synchronization.md) — Links simulated physics bones to animation-controlled transforms to ensure flexible parts follow the body.
- [Movement Physics Simulation](https://awesome-repositories.com/f/game-development/movement-physics-simulation.md) — Simulates environmental forces like wind and gravity to influence the movement of simulated objects. ([source](https://github.com/pafuhana1213/KawaiiPhysics#readme))
- [Skeletal Movement Constraints](https://awesome-repositories.com/f/game-development/movement-physics-simulation/skeletal-movement-constraints.md) — Restricts bone distance and synchronizes movement with specific bones to prevent mesh penetration. ([source](https://github.com/pafuhana1213/KawaiiPhysics#readme))
- [Skeletal Distance Constraints](https://awesome-repositories.com/f/game-development/physics-engines/mechanical-constraints/mechanical-joint-constraints/skeletal-distance-constraints.md) — Limits the distance between bones to prevent clothing and accessories from clipping through the character body. ([source](https://github.com/pafuhana1213/KawaiiPhysics/blob/master/README_en.md))
- [Runtime Parameter Adjustment](https://awesome-repositories.com/f/game-development/runtime-parameter-adjustment.md) — Enables adjusting simulation settings and external forces dynamically via scripts or visual programming. ([source](https://github.com/pafuhana1213/KawaiiPhysics/blob/master/README_en.md))
- [Simulation Runtime Controllers](https://awesome-repositories.com/f/game-development/simulation-engines/interactive-simulations/simulation-runtime-controllers.md) — Ships a runtime controller to manipulate the physics state, apply external forces, and adjust parameters via scripts.

### Graphics & Multimedia

- [Pseudo-Physics Bone Simulation](https://awesome-repositories.com/f/graphics-multimedia/mesh-processing-apis/skeletal-animation/pseudo-physics-bone-simulation.md) — Calculates pseudo-physics bone sway for skeletal meshes by controlling bone rotation via stiffness and damping. ([source](https://github.com/pafuhana1213/KawaiiPhysics#readme))
- [Skeletal Animation](https://awesome-repositories.com/f/graphics-multimedia/mesh-processing-apis/skeletal-animation.md) — Enhances skeletal animation by adding natural secondary motion and swaying effects to character models.

### User Interface & Experience

- [Physics-Based Animations](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/physics-motion-dynamics/physics-based-animations.md) — Implements physics-based animations to create natural, responsive movement for hair and clothing. ([source](https://github.com/pafuhana1213/KawaiiPhysics/blob/master/README_en.md))

### Part of an Awesome List

- [Skeletal Distance Constraints](https://awesome-repositories.com/f/awesome-lists/ai/distance-based-methods/skeletal-distance-constraints.md) — Maintains skeletal integrity by enforcing minimum and maximum spatial limits between bone pairs.
- [Physics Configuration Presets](https://awesome-repositories.com/f/awesome-lists/data/physics-and-simulation/physics-configuration-presets.md) — Allows saving and reusing simulation settings through data assets to ensure consistency. ([source](https://github.com/pafuhana1213/KawaiiPhysics/blob/master/README_en.md))

### Scientific & Mathematical Computing

- [Runtime Parameter Adjustment](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/physics-simulations/environmental-physics-simulators/runtime-parameter-adjustment.md) — Allows dynamic adjustment of simulation parameters and external forces during active gameplay to respond to environmental changes.

### Software Engineering & Architecture

- [Configuration Presets](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/project-management/project-lifecycle-management/project-configuration-presets/configuration-presets.md) — Stores simulation configurations in reusable data-asset presets for consistent behavior across characters.
