Tweening with Tweener! A python based solution
I have created a tutorial to help get started with my Tweener extension.
Tweener Intro for TouchDesigner
Love love love where you’re going with this. Great syntax and feature set. This community really benefits from animation support such as yours, thanks for sharing!
this is pretty sweet, well done @amazingrobot
I am glad you are finding it useful. I am still wrapping my head around Python OOP to see how I can improve it. I want to add a Timeline Class that you can then add Tweens to build sequences that you can play, pause, repeat, and reverse.
wow! This is so great to see! Thanks for your great work and sharing!
Trying it out and it is really good!.. Thank you, @amazingrobot
This said, I’ve run into a bit of a notation problem while trying to automate DAT Table contents. How do I specify a particular table cell as a target? The Tweener’s syntax requires a parameter name; however, table cells got no names and are referenced by indexing. What’s the solution here?
Correct, it is only setup to target Pars of OPs. A solution for your situation might be to update a constant chop and then have a ChopExecute onValueChange update the Dat cell. I will think on this and see if there would be a clean way to support [row,col] as a targetable property.
I see. Thanks for an explanation. Having Tweener capable of addressing table cells would be invaluable! Thanks for considering this.
this errors if the calling scripts is a root level (and not inside a COMP)
Thanks for the bug report. I am working on an update and will try to get it out this week. I am looking into doing a hybrid approach mixing python and chops to see if I can improve performance. I also plan to add tween pooling with this new hybrid setup to reuse expired tween blocks instead of deleting and rebuilding each time.
Hello, Thank you for sharing the great tox.
But version 1.2 seems not to be working properly.
inspect.stack() have to be directly called in FromTo or To function. Currently, it is called in
_path_trace function thus the path retrieved in it is going to be Tweener comp. As a result, the path for the operator is not correct.
wondering how one might use tweener animations with a lookup, so that a modulation normalized float scrubs through the stack. Could see this as a really powerful way to livecode and improvize with animations
This is great, thank you so much.
Can you please implement a ‘group’ property to the tweens so that we can kill them superfast via group id? Like in the same way run() works? This would change everything in terms of performance and overhead.