- Amsterdam, Netherlands
- https://cessen.com
-
Animator, rigger, and software developer. Currently working at the Blender Institute as a developer on Blender's animation system.
Been using Blender since 1998, and worked on Big Buck Bunny and Sintel (two of Blender's open movie projects).
- Joined on
2003-03-21
I think this is probably(?) a duplicate of #106708, which was fixed in #107089. I'll test to confirm if that fixes the issue in Bake Action.blend
.
action.frame_range
span always >=1 when there's only 1 key frame in it.
As @angavrilov pointed out, this was the behavior before the code in question was written. And in particular, that previous code still exists and is also still in use here:
action.frame_range
span always >=1 when there's only 1 key frame in it.
It appears that the consensus both here and in the animation module chat is that we should indeed go forward with [the proposal](blender/blender#107030 (comment)…
action.frame_range
span always >=1 when there's only 1 key frame in it.
You are wrong here. That behavior has been there for a lot longer than 2 years
Ah, fair enough! I should have said "for at least 2 years now". In any case, the point is the same: it's…
LGTM. And it indeed has the desired behavior when testing with the test file.
Huh, that's weird. As soon as I made this reply, it changed for me and showed that you did make the update. I guess Gitea is just being weird, or I misunderstood something about how it works.
It'll still need recalculating the handles so I'll remove .update() and replace it with sort+dedup+handles.
Did you make this change already? I don't see it on Gitea. Or is this a change…
I have a fix for this in #107223 (pending review and testing).
action.frame_range
span always >=1 when there's only 1 key frame in it.
I had a discussion with @dr.sybren, and we think that action.frame_range
and BKE_action_get_frame_range
simply shouldn't try to ensure that the returned interval is >= 1 at all. In other…
When playing around with current Blender (without this PR), I encountered #107086 when trying to index into the fcurve modifier stack by modifier name. The cause was that the default string…
Ah, yeah, that makes sense. It looks like update()
is also responsible for recalculating handles and tagging for animation update, which I assume need to happen? But those should probably be…
Unless I've misunderstood something (which is always possible), I believe update()
is needed here because it sorts the keyframes, which is a necessary precondition for deduplicate()
to…