bevy-ichun

Crates.iobevy-ichun
lib.rsbevy-ichun
version0.5.0
created_at2025-03-04 15:59:24.587709+00
updated_at2025-08-02 09:44:43.387495+00
descriptionA simple kinematic character controller for avian3d
homepagehttps://codeberg.org/seongbae/bevy-ichun
repositoryhttps://codeberg.org/seongbae/bevy-ichun
max_upload_size
id1577457
size228,468
성배 (KuroSeongbae)

documentation

README

Ichun (行ちゅん)

bevy-ichun (Okinawan dialect for the Japanese word 行く, meaning 'to go') is a simple kinematic character controller for Bevy with Avian3D.

Versions

Bevy Avian Ichun
0.16 0.3 0.4 & 0.5
0.15 0.2 <= 0.3

Features

This library has four main components:

Kcc

The Kcc component provides the basic functionality for a kinematic character controller:

  • applying gravity
  • handling slopes
  • handling moving platforms
  • collision handling with static geometry

Kcc actions (enabled by default kcc_actions)

The KccActions component stores actions which should be executed each frame. The actions will be reset in the post-update loop and thus need to be set each frame. Following actions are possible:

  • moving
  • jumping
  • rotating
  • gravity modification

Kcc movement (kcc_movement_events)

The KccMovementEventsConfig component provides events which can be used to move the Kcc around. The events will add kcc_actions and provide a nice and clean API but not as much freedom as using the actions on your own:

  • moving
  • running
  • jumping
  • floating
  • rotating

Kcc input (kcc_input)

This component handles user defined input and uses the kcc_movement_events to move the Kcc around.

  • forward, backward, left and right
  • run
  • jump
  • float
  • optional key to activate roation
  • disable input handling for each Kcc & globally

Defining a key to handle roation is not yet implemented (the mouse is used). This feature is depending on the kcc_movement_events.

Examples

Examples are in the examples folder. It can be run with following command: cargo r --example simple-kcc.
Or to check out the event based approach: cargo r --example simple-kcc-with-events --features "kcc_input kcc_movement_events".

Reference material

License

Dual-licensed under either:

at your option.

Commit count: 0

cargo fmt