PDA

View Full Version : using same effect node several times ?


seb4d
09-20-2004, 07:32 PM
Hi !
Anybody knows how to use the same effect node with several clips ? I have clips loaded and need to apply the same blur to all of them, but we can't connect several nodes to the input of another node.
Here is the tree as it set up now, how to get only one blur node instead of using several ?

http://www.seb4d.com/divers/shk.jpg

beaker
09-20-2004, 07:52 PM
I'm lost as to why you want to do this. You can't have one blur unless your adding all the mattes together, but it looks like your trying to create a clean plate. You can't share a node that all have different sources your applying an effect to.

Do you just want it so you only have to change the attributes of one node and have it become the same in all the others? If so then just pick one node as your master and write a simple expression in all the other nodes connecting it to the master one. If you try to change one of the chlidren to this expression, it will break the connection.

Lets say Blur2 is going to be the master. Go into Blur3 and Blur4 and in the xPixels write "Blur2.xPixels" and in the yPixes write: "Blur2.yPixels". Y is by default already has an expression tieing it to X, so if your X and Y values are going to stay the same, you can just leave Y as it is. Shake is case sensitive, so make sure you write it "xPixels" and not "xpixels".

seb4d
09-20-2004, 08:09 PM
Expressions was what I was thinking, but I thought there was another way to do that.
Thank you beaker !

This gave me an idea, it would be great to have a node that is just an empty node with several inputs and the corresponding outputs, plus one input used for plugging any effect.
In my example I would connect all my clips on this node, and then plug the blur node that would apply on all the clips !
Here is a sketch :
http://www.seb4d.com/divers/shake_node.jpg

beaker
09-20-2004, 08:37 PM
sure, you could do this with a macro. Really simple with a little scripting.

seb4d
09-20-2004, 08:59 PM
Yes this would be great but I don't know anything about scripting.:banghead:

$10.000 reward for the man who scripts that ! ;) (obviously joking)

alexx
09-21-2004, 04:04 PM
do i get you right you just want to have one blur node and not several that act as one?

there would still be the solution to CTRL+SHIFT copy/paste the first blur node.
then you can adjust all nodes by just altering one of them

but i guess you know that and dont mean it.

cheers

alexx

beaker
09-21-2004, 08:14 PM
Doh, forgot about that one. It automatically sets up the expressions linking the nodes together.

arvid
09-22-2004, 10:28 AM
Also, Ctrl-E to show expression links.. The combination ctrl-C, ctrl-shift-V, ctrl-E has become second nature to me :D

Hugh
09-22-2004, 02:48 PM
Unfortunately, the suggestion above for a macro is impossible...

Because of the way shake's internal compiler works, each node can only have one output. This is something I was looking into a while back, but never found a decent solution... Then, at the Shake SDK course here in London a few months ago, Angus Taggart (Shake SDK support guy) talked about this kind of thing and mentioned that he got it working inside of Shake, but it was completely unable to be saved and loaded up again...

arvid
09-22-2004, 02:59 PM
I've been doing a lot of thinking about the best way to design nodes (hugh: wink wink) and I can't really think of a good reason to have multiple outputs on a node, nor a good way to design the code. The purpose of any node is to collect the info given to it, numbers, buffers etc and deliver a single result, not 2 or more results, it just wouldn't be any more efficient than having unique nodes like usual. However the property-sharing-node in the above image is a pretty interesting concept, presumably it doesn't process anything, it just helps cleaning up the workspace, perhaps. Basically the same idea as expressions.

Hugh
09-22-2004, 03:14 PM
I've been doing a lot of thinking about the best way to design nodes (hugh: wink wink)
I've been meaning to ask you about that for a while - I'll have to drop you an e-mail sometime...

and I can't really think of a good reason to have multiple outputs on a node, nor a good way to design the code. The purpose of any node is to collect the info given to it, numbers, buffers etc and deliver a single result, not 2 or more results, it just wouldn't be any more efficient than having unique nodes like usual.
I'd disagree - I can think of plenty of situations where you might want multiple outputs... well... a couple....
The one I was looking into it for was having a single loader node that would have one output for each pass - this way, you'd just select where the layer was, and it would pull all connected sequences...

Also ... um ... this kind of thing... I'm sure there were others...

I reckon it would work inside the compiler as returning a kind of array...

So, instead of:

MyNode1 = MyNode(Input, some, parameters);
Blur1 = Blur(MyNode1, 5, 5);

You'd have:

MyNode1 = MyNode(Input, some, parameters);
Blur1 = Blur(MyNode1[0], 5, 5);
Blur2 = Blur(MyNode1[1], 5, 5);

Anyway, it's an interesting thought... I suspect you can't get far enough into Shake's compiler to be able to make the modifications needed to do this kind of thing...

However the property-sharing-node in the above image is a pretty interesting concept, presumably it doesn't process anything, it just helps cleaning up the workspace, perhaps. Basically the same idea as expressions.
It would be reasonably easy to implement if you could do multiple outputs...

arvid
09-22-2004, 03:23 PM
The multiple-pass-node *is* interesting actually, hadn't thought of that :) Chances are tho that different passes will be needed in very different parts of a rather large tree, and perhaps you'd rather have multiple nodes after all, it'd be worth a try tho.

Another possible use is to pull a specific colorchannel from a node, or with an app like NUKE, to pull any of the custom channels from its own output. Just seems like a reorder would take care of that, except that it might be more visual, with R/G/B-coloured noodles and what not.

Hugh
09-22-2004, 03:42 PM
Yeah, that's another use for it... would be great to have a 'split' node that takes an image and gives four outputs (five if you've got Z)

I know what you mean about the passes - although I was thinking that you could still group some together... so your beauty passes would go in one group, your relighting passes in another, etc...

arvid
09-22-2004, 03:44 PM
You can always select a bunch of fileins and hit G, that'll give you a big-assed node with one output per filein :)

Hugh
09-22-2004, 04:08 PM
Yeah, I know about that - but that doesn't give you one set of parameters for the whole group, which is what I was after...

seb4d
09-22-2004, 06:21 PM
The property-sharing-node could also be done by grouping all the clips together and plug an effect node (a blur in the example) to this group, if groups could support that...

Hugh
09-22-2004, 08:39 PM
In Shake, groups are purely a UI thing - they don't affect the image buffer at all...

arvid
09-23-2004, 08:48 AM
Yep, you'd still need one blur node per output on the group node :) Groups are just a way of cleaning up your workspace.

boboroshi
10-14-2004, 11:56 PM
Is the key question here that you want to be able to alter one blur parameter set? instead of doign all three each time you change the blur? If so, why not just link parameters

blur2.x = blur1.x

(or whatever the actual variable names are for them. i don't recall off the top of my head).

Then you'd edit blur 1 and blur 2, 3, and however many others you linked accordingly would update. You could even do things like blur2.x = blur1.x*.75 to reduce the effect.

At least, this is my understanding. Am I smoking crack? Have I been playing in the wrong sandbox again?

CGTalk Moderation
01-19-2006, 08:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.