15000106087 You need to return the value of the rotation before the loop. For example:
![screenshot-2024-04-17-at-131912.png](https://esotericsoftware.com/forum/assets/files/2024-04-17/1713327568-312237-screenshot-2024-04-17-at-131912.png)
Suppose you have an animation that loops at 30f. If you want to set a certain bone to make one rotation at frame 30, you would make it reach one rotation once at a timing close to frame 30, such as 29.97, and set the key value back to 0 at frame 30 (the timing at which it loops). It is better to set the curve between the key at 29.97 to 30 as a stepped curve.
This way you will get the following results:
![gif-loop.gif](https://esotericsoftware.com/forum/assets/files/2024-04-17/1713327744-216715-gif-loop.gif)
If you want to loop in the middle of the animation, the following curve is correct:
![screenshot-2024-04-17-at-132322.png](https://esotericsoftware.com/forum/assets/files/2024-04-17/1713327965-392171-screenshot-2024-04-17-at-132322.png)
To place a key on such a decimal point frame, either hold down the Shift key and move the timeline bar, or enter a value directly in the current number of frames shown in the Dopesheet view and add a key there:
![screenshot-2024-04-17-at-132734.png](https://esotericsoftware.com/forum/assets/files/2024-04-17/1713328099-194614-screenshot-2024-04-17-at-132734.png)