[Bf-committers] Node IPOs

Ton Roosendaal ton at blender.org
Fri Aug 18 11:53:48 CEST 2006


Hi Joe,

Thanks for the patch... there's a couple of issues though that makes me  
believe we should not apply this.

You already noted this in the wiki yourself, the current implementation  
of the Ipo system has a cumbersome weakness in its design, and its use  
is quite limited. Manu users already have noted that it's quite bad you  
cannot just "ipo-fy" any available variable in the UI.

Further the current Ipo system is limited to animate variables in  
"Library data" only. For sequence effect strips (not library data) it  
was hacked in to work. Adding another level hacks for Nodes I would  
prefer to not do.

Nodes also should not become Library data, that type is limited to data  
you allow to be linked and re-used in the entire Blender database.  
Nodes should remain local. (node-trees are Library data though,  
accessible as Group now).

Anyhoo; there's always a trade-off between "desired end-user  
functionality" and "proper implementation". The only reason why I did  
not add Ipos for Nodes is because of the latter... the implementation  
would be just too bad. However much people would like to have it!

It's a nice challenge to look instead at a way to have a good backwards  
compatible redesign of the Ipo system, allowing channels to be  
dynamically defined and allowing to animate about everything.
Maybe we should drop Ipos to be "Library data" even, there's not much  
reason for it to become relinked...

A related challenge is on the UI side in Blender. We need a new  
friendly & accessible way to define "Context" for Space editors... a  
problem the Ipo Window now suffers from as well (but same goes for  
Buttons, Action, Image, ...). So... if we allow any piece of the  
database to be Ipo-fied, then how does the Ipo Window find a curve?

Maybe something Outliner-ish could be devised for this. It's an idea  
I've been playing with while the 2.3 UI project was running. It should  
not add to the workload though, defining the proper "Context" for an  
editor in Blender should be as easy as a single selection click.

-Ton-



On 10 Aug, 2006, at 2:51, Joe Eagar wrote:

> Hi.  I've written initial support for keying node parameters with IPOs.
>
> Basically, how it works is that when you define a node (aka when you  
> make the bNodeType for it), you pass a list of special  
> "bNodeIpoChannels" to it, which defines what parameters can be keyed  
> (like radius x/y for blur), the data type, and the offset in the  
> ->storage struct (which can be easily calculated by writing a handy  
> macro).  Un-connected input sockets will also be keyable.
>
> For more information, see the patch page at:
> http://projects.blender.org/tracker/index.php? 
> func=detail&aid=4864&group_id=9&atid=127
>
> . . .and the mediawiki page at:
> http://mediawiki.blender.org/index.php/BlenderDev/NodeIpos
>
> Joe
>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>
>
>
------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton at blender.org  
http://www.blender.org



More information about the Bf-committers mailing list