[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