- Add
deregister_clip()
andderegister_animation()
toAnimationLibrary
(by mgi388). - Add an
unlit
property toSprite3d
(by Microwonk). - Add support for ImageNode (by mgi388).
- Fixed the lighting of 3D sprites (by Microwonk).
- Fixed
SpritesheetAnimation
andSprite3d
not being registered (by mgi388).
- Add support for Bevy 0.15
- Remove
Sprite3dBundle
andSprite3dBundle
. Thanks to required components, simply adding aSprite3d
component will just work.
- Add
get_clip_name()
,get_animation_name()
andget_marker_name()
toAnimationLibrary
(by mirsella) - Add an
enable_3d
option toSpritesheetAnimationPlugin
(by mirsella). This is especially useful to use this plugin in a headless app without bevy_render. Due to this new field, it is now necessary to useSpritesheetAnimationPlugin::default()
when configuring the app.
- Fix some timing bugs due to the internal use of u32 instead of std::time::Duration
- Add
clip_names()
,animation_names()
andmarker_names()
methods to the library
- Add reflection to types and registered resources (by mgi388)
- Make system sets public (by mgi388)
- Optimize playback for 3D sprites (~x3 speedup)
- Add a
progress
field to the SpritesheetAnimation component to query and control the animation state - Add a
switch()
method to SpritesheetAnimation component to switch to another animation and reset the progress - Add
get_clip()
andget_animation()
methods to the library - Attach more information to some animation events (current clip ID, current clip repetition, current animation repetition)
- Change the type for repetitions from
u32
tousize
for consistency
This update simplifies the high-level API of the library.
A few structs have been renamed for clarity and consistency.
More importantly, creating animations is more straightforward. You can now directly instantiate clips and animations, configure them and register them with the library, which gives them unique IDs. The animation stages that acted like "clip instances" have been removed. To create a variant of a clip, just clone and reconfigure it before registering the variant.
- Add
with_xxx()
methods toClip
andAnimation
to make it easier to set their parameters - Add
Spritesheet::atlas_layout()
to create aTextureAtlasLayout
from a spritesheet
Clip
andAnimation
can be instantiated directly and must then be registered with the library- Rename
AnimationClip
toClip
- Rename
SpritesheetLibrary
toAnimationLibrary
- Rename "cycles" to "repetitions"
- Rename
AnimationRepeat::Cycles
toAnimationRepeat::Times
- Rename
AnimationDuration::PerCycle
toAnimationDuration::PerRepetition
- Rename structs related to 3D sprites with lowercase "3d" to better match Bevy
- Remove
AnimationStage
- Add support for 3D sprites
- Support Bevy 0.14.0 (by BLumbye)
- Add a
reset()
method to the SpritesheetAnimation component
- Switch
new_clip
/new_animatio
n closures to FnMut to allow mutations
- Fix some direction combinations emitting events on the wrong frames
- Fix
AnimationLibrary::name_clip
/animation
/marker
returning an error when naming an item with a name it already has - Fix
MarketHit
events reporting an incorrect stage index when an animation has empty clips - Fix
Easing::Out
with theCubic
andQuartic
modes generating incorrect values
Initial release