So I tried to implement "Tangent-Space Optimization for Interactive Animation Control"

Code is here: github.com/JiahuiCai/Blender_Interactive_Motion_Path

I am just sharing the code for any new developers looking to start their own toy projects. I put everything in a single file so it would be easy for you to understand what is required to create a new gizmo in the C source code. However, this is my first blender dev project so my approach is 100% not the best practices. Feel free to ask me any questions.

The tool itself is somewhat usable, but it is not as complete as what is presented in the Disney paper. I think I am taking a break from this project now, might as well just share it with you. I hope I can help someone in need.

Thanks!

13 Likes

This is really cool! I’ve always been frustrated with Blender’s lack of good workspace animation tools. Out of curiosity, why did you implement it in C? Is the optimization very expensive?

wow this looks well thought out :heart_eyes:

That’s really kind from you. I hope someone ll use it and makes it a tool for everybody.
It ll be really really useful.

wow, nice

you could also post it on https://devtalk.blender.org/ so someone like @sybren could pick it up and finish
or mention it in this task: https://developer.blender.org/T68901

2 Likes

I implemented this feature as a new gizmo type. Blender’s gizmo python API is buggy at the time I started this project. It did not support custom geometry or dynamic geometry and some other interaction behaviors. Also I knew this project will be hacky, so using C I can pretty much hack anything needed to get the feature to work if blender does not provide the API I want. Easier to debug too, since I can inspect the raw source code.

2 Likes

Pretty cool work! Thanks for sharing!
Reminds me of the 2.7 Motion Trail addon by Bart Crouch: https://vimeo.com/26670975
Which was partially converted to 2.8: github repo.
Unfortunately I’m not knowledgeable enough to update the bgl draw methods that are now used in 2.8 (some stuff like bgl.glEnable are deprecated, etc), otherwise this would be a pretty nice tool for animators who can’t afford paid stuff or resourceful enough to mess with the complexity of building blender. I’m thinking seriously in giving it a try though!

Apparently editable motion trails will be implemented officially some time in the future (Ton postponed the Animation Update to 2021 or later), maybe you can the part of it! Pablo Dobarro wasn’t even part of the dev team when he started commiting updates to blender sculpt.

1 Like

Hi guys, I have just updated my proposal on Right-Click Select which is inspired by this post, could you please take a look?

1 Like

Nice UI design :D, feel free to reference my code if you want to take it all the way and DIY. I am moving on to some other projects now so I probably won’t do it. To be honest, what you want is not that difficult in terms of programming. In fact it is a great project to learn C programming in Blender XD. I can answer questions if you ever need help.

1 Like