Merge pull request #12898 from RandomShaper/improve-anim-loop
Change AnimationPlayer looping logic
This commit is contained in:
commit
bd775aa0bd
1 changed files with 8 additions and 1 deletions
|
@ -545,7 +545,14 @@ void AnimationPlayer::_animation_process_data(PlaybackData &cd, float p_delta, f
|
|||
|
||||
} else {
|
||||
|
||||
next_pos = Math::fposmod(next_pos, len);
|
||||
float looped_next_pos = Math::fposmod(next_pos, len);
|
||||
if (looped_next_pos == 0 && next_pos != 0) {
|
||||
// Loop multiples of the length to it, rather than 0
|
||||
// so state at time=length is previewable in the editor
|
||||
next_pos = len;
|
||||
} else {
|
||||
next_pos = looped_next_pos;
|
||||
}
|
||||
}
|
||||
|
||||
cd.pos = next_pos;
|
||||
|
|
Loading…
Reference in a new issue