Bevy Mod Transform2d
A 2D Transform component for Bevy.
Usage
Add the dependency to your Cargo.toml
[]
= "0.3"
Example:
use *;
use *;
// Make the sprite orbit the center using the 2d transform.
Take a look at the other examples.
Version table.
Bevy | transform2d |
---|---|
0.9 | 0.3 |
0.8 | 0.2 |
0.7 | 0.1 |
Further details
Note that the Transform2d
component does not replace Transform
component, instead it writes to it. The Transform
and GlobalTransform
components are required for Transform2d
to function.
See bevy_mod_2d_hierarchy for an alternative plugin that does not require the Transform
component.
Note that, for this reason, bevy_mod_2d_hierarchy is not compatible with crates that interact with Transform
(eg. bevy_rapier2d
),
and does not support parenting 3D transforms to 2D ones (useful for 2.5D games).
Intergration with other crates
To integrate with another library that modifies Transform
the state of Transform
and Transform2d
will need to be synchronised at the right times.
An intergration with bevy_rapier2d
is included and can be enabled as a feature:
[]
= { = "0.3", = ["bevy_rapier2d"] }
If there is another plugin that interacts with the transform here's how you would synchronise the state to make Transform2d
compatible with that plugin.
- When a system needs to read from
Transfrom
add the providedsync_transform_2d_to_3d
system before it. - When a system writes to
Transfrom
add the providedsync_transform_3d_to_2d
system after it.