Nathan Vegdahl nathanvegdahl
  • 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
Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 17:18:02 +02:00
Anim: Bake Channel operator

While that's true, this is also accidentally quadratic, because on every removal (BKE_fcurve_delete_key) it has to shift all the keys after the removed key back. If you iterate forward and keep track of the gap as it's created, you can shift keys over the gap as you go for linear runtime.

Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 17:16:28 +02:00
Anim: Bake Channel operator

Oops, I think a change got pushed while I was reviewing, so these last two comments got detached. I'll resubmit them.

Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 17:12:42 +02:00
Anim: Bake Channel operator

This is also accidentally quadratic (actually slightly worse, because it additionally does a binary search to find where to insert each key), and does an allocation and full copy of the f-curve's entire bezt data on every insert.

Nathan Vegdahl suggested changes for blender/blender#111263 2023-09-21 17:12:42 +02:00
Anim: Bake Channel operator

Generally looking good! But there are some changes I'd like.

Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 17:12:41 +02:00
Anim: Bake Channel operator

This description feels non-specific to me. There are a lot of operators that create key frames.

Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 17:12:41 +02:00
Anim: Bake Channel operator

While that's true, this is also accidentally quadratic, because on every removal (BKE_fcurve_delete_key) it has to shift all the keys after the removed key back. If you iterate forward and keep track of the gap as it's created, you can shift keys over the gap as you go for linear runtime.

Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 17:12:40 +02:00
Anim: Bake Channel operator

I'd prefer new constants for this enum, rather than awkwardly having just one that's new and defined arbitrarily high to avoid conflicting with the others. It's not as convenient in other code, because then you have to map between the two sets of constants later. But it feels cleaner to me that way.

Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 17:12:39 +02:00
Anim: Bake Channel operator

If we do keep these options as-are, I think REMOVE_IN_RANGE is a better default. I don't think people usually want to leave behind the old keys in the range being baked.

Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 17:12:39 +02:00
Anim: Bake Channel operator

This description reads like it's a boolean option.

Nathan Vegdahl commented on pull request blender/blender#111263 2023-09-21 16:05:11 +02:00
Anim: Bake Channel operator

Found a couple of bugs while testing:

  • If you set the start range > end range, Blender crashes.
  • If you set the frame step <= 0.0, Blender freezes.

And I have a couple of questions about…

Nathan Vegdahl approved blender/blender#112670 2023-09-21 15:36:13 +02:00
Fix #97628: Clear and Keep Transformation not working when keyed

Looks good to me. And works as I would expect in testing.

Nathan Vegdahl pushed to main at nathanvegdahl/blender 2023-09-21 15:11:05 +02:00
998e8d0ef6 Asset shelf: Improved region height snapping behavior
be5cf8f8a1 Anim: add graph editor key/handles selection operator
8b610723b6 Fix tooltip showing button label redundantly (regression)
710898a1ec Fix: segfault in geometry nodes with logging
ecb910a89f Cleanup: Make Format
Compare 326 commits »
Nathan Vegdahl commented on issue blender/blender#103802 2023-09-21 15:07:19 +02:00
Scaling keys in dope sheet is different from graph editor (ignores handles, esp, noticable when scaling negative)

Landed #111143, which adds an operator for changing the handle selection of selected keys.

Nathan Vegdahl pushed to main at blender/blender 2023-09-21 15:05:39 +02:00
be5cf8f8a1 Anim: add graph editor key/handles selection operator
Nathan Vegdahl deleted branch select_handles_patch from nathanvegdahl/blender 2023-09-21 15:05:39 +02:00
Nathan Vegdahl merged pull request blender/blender#111143 2023-09-21 15:05:38 +02:00
Animation: Graph Editor Handle Selection
Nathan Vegdahl pushed to select_handles_patch at nathanvegdahl/blender 2023-09-21 14:57:07 +02:00
645d9ac29d Use indexing instead of pointer incrementing
Nathan Vegdahl commented on pull request blender/blender#111143 2023-09-21 14:44:46 +02:00
Animation: Graph Editor Handle Selection

Ah, fair point. I basically just copy-pasted this from elsewhere. I agree that just using the index directly makes more sense here. Thanks for the catch!

Nathan Vegdahl pushed to select_handles_patch at nathanvegdahl/blender 2023-09-21 14:43:37 +02:00
9aa3372069 More succinct tooltips
Nathan Vegdahl pushed to select_handles_patch at nathanvegdahl/blender 2023-09-21 14:31:16 +02:00
6fbcaf16c8 Improve operator description