Crate bevy_picking_xpbd

Source
Expand description

A raycasting backend for bevy_mod_picking that uses xpbd for raycasting.

§Usage

Pointers will automatically shoot rays into the xpbd 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 XpbdBackendSettings::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 xpbd 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 xpbd entities, beware, I suppose.

Re-exports§

pub use bevy_xpbd_3d;

Modules§

prelude
Commonly used imports.

Structs§

XpbdBackend
Adds the xpbd_3d raycasting picking backend to your app.
XpbdBackendSettings
Runtime settings for the XpbdBackend.
XpbdPickable
Optional. Marks cameras and target entities that should be used in the xpbd picking backend. Only needed if XpbdBackendSettings::require_markers is set to true.

Functions§

update_hits
Raycasts into the scene using XpbdBackendSettings and PointerLocations, then outputs PointerHits.