-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AnimationTree`s animation started event notification bug (does not work with looped animations) #76159
Comments
I believe looping animations don't emit Changing this would be considered compatibility-breaking at this point, as many people rely on the existing behavior. We could avoid compatibility breakage by adding a new signal such as |
animation_finished for looping animation - well, may be the case |
still, there may be the same idea for animation_finished looping animation case. |
@Calinou |
Godot version
4.0.2 mono
System information
Mac OS Ventura 13.2.1
Issue description
In class AnimationTree there are events: AnimationStarted and AnimationFinished. Both expected to be invoked whenever animation tree plays another animation or finishs it. For regular animations they are working fine. But if your state machine has looped animations, you wont be notified through both events. See screenshots and attached project
Steps to reproduce
Steps to reproduce:
Download character body from Mixamo
Download set of animations from Mixamo
Build animations and character body to glb files with Blender (separatelly)
Import those animations to projects as animation library
While import animations, set some animations Loop mode to Linear
Create character scene, add there character body, shape and imported skeleton from Mixamo
Add animation libraries to anim player
Add AnimationTree and setup some animations using state machine (idle (no loop) -> idle (no loop) -> running (loop))
Add script for your character body, get animation tree and subscribe on event AnimationStarted or AnimationFinished
Expected behavior:
Being notified whenever looped animation started or finished (through sync transition condition interuption for example)
Actual behavior:
When looped animation started, no event from event AnimationStarted.
If you setup exit from state via sync transition with condition, you will not receive AnimationFinished event notification on animation interuption
Minimal reproduction project
Compatibility type: Compatibility
Environment: .Net 6 or 7, C#
(see 'example.zip' with projects setup)
example.zip
The text was updated successfully, but these errors were encountered: