1 unstable release

0.20.0 Jul 9, 2024

#1766 in Game dev

Download history 10/week @ 2024-09-18 28/week @ 2024-09-25 62/week @ 2024-10-02 15/week @ 2024-10-09 9/week @ 2024-10-16 15/week @ 2024-10-23 28/week @ 2024-10-30 46/week @ 2024-11-06 137/week @ 2024-11-13 54/week @ 2024-11-20 101/week @ 2024-11-27 186/week @ 2024-12-04 76/week @ 2024-12-11 155/week @ 2024-12-18 53/week @ 2024-12-25 25/week @ 2025-01-01

336 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

75KB
1.5K SLoC

A raycasting backend for bevy_mod_picking that uses Avian for raycasting.

Usage

Pointers will automatically shoot rays into the Avian scene and pick entities.

To ignore an entity, you can add Pickable::IGNORE to it, and it will be ignored during raycasting.

For fine-grained control, see the AvianBackendSettings::require_markers setting.

Limitations

Because raycasting is expensive, only the closest intersection will be reported. This means that unlike some UI, you cannot hover multiple Avian objects with a single pointer by configuring the Pickable component to not block lower elements but still emit events. As mentioned above, all that is supported is completely ignoring an entity with Pickable::IGNORE.

This is probably not a meaningful limitation, as the feature is usually only used in UI where you might want a pointer to be able to pick multiple elements that are on top of each other. If are trying to build a UI out of Avian entities, beware, I suppose.

Dependencies

~39–75MB
~1.5M SLoC