hello......My name is.......

11 views
Skip to first unread message

rami...@gmail.com

unread,
Mar 22, 2008, 2:09:37 PM3/22/08
to nukeuser
Hello everybody..........My name is Julien Dias i'm a digital
compositor living in Paris and would like to say hello to every
members of this group.

See you......

http://www.linkedin.com/in/juliendias

Randy Little

unread,
Mar 22, 2008, 8:46:02 PM3/22/08
to nuke...@googlegroups.com
anyone know how to do an inverse transform in Nuke.   Best we can figure is inverted numbers but that doesn't inverse the transform order. 


R. 

Aaro

unread,
Mar 22, 2008, 8:50:53 PM3/22/08
to nuke...@googlegroups.com
i think expressions would do this but I'm not so good with nuke expressions yet, I'm sure thats a good way though.

Randy Little

unread,
Mar 22, 2008, 9:19:36 PM3/22/08
to nuke...@googlegroups.com
an expression will not reverse the way the node performs the transforms only the numbers.   I need to transforms in reverse order or the same exact node.   Doesn't seem to be a way I don't know how an expression would alter the internals of the node, just the numbers. 

Diogo Girondi

unread,
Mar 22, 2008, 9:24:55 PM3/22/08
to nuke...@googlegroups.com
Have you tried the Negate function on the curve editor?
 
Open the curve editor select the keyframes, right click and selecting Predefined > Negate

Randy Little

unread,
Mar 22, 2008, 9:29:26 PM3/22/08
to nuke...@googlegroups.com
that doesn't reverse the transform order only inverse the numbers and this doesn't produce  the right result. The order in which the tranforms happens also needs to happen in reverse.  kind of like why the camera has a transform order option  :-D

Randy

Santiago Svirsky

unread,
Mar 22, 2008, 9:35:14 PM3/22/08
to nuke...@googlegroups.com
how about this?

set cut_paste_input [stack 0]
version 5.0100
push $cut_paste_input
Transform {
translate {-283 -95}
rotate -43.7037
scale 0.657933
center {320 240}
name Transform1
selected true
xpos 51
ypos 61
}
Transform {
translate {{-Transform1.translate i x1 152} {-Transform1.translate i
x1 108}}
center {320 240}
name PANneg
selected true
xpos 93
ypos 111
}
Transform {
rotate {{-Transform1.rotate i x1 43.7037037}}
center {320 240}
name ROTneg
selected true
xpos 93
ypos 148
}
Transform {
scale {{1/Transform1.scale i x1 1.51991108}}
center {320 240}
name SCAinv
selected true
xpos 93
ypos 175
}

Randy Little

unread,
Mar 22, 2008, 9:41:10 PM3/22/08
to nuke...@googlegroups.com
doesn't that add 3x the nodes?   I know how to do it like that.   In Shake and Fusion you just click inverses transform.  In the Nuke camera you just select the inverse transform and then negate.  Was hoping for something more like that so that when you have a single node doing all the transform you just reverse it.  

Santiago Svirsky

unread,
Mar 22, 2008, 9:56:07 PM3/22/08
to nuke...@googlegroups.com
oh yes, sure. it's uglier than in shake, i know.
it should be really easy to make this stuff into a macro or whatever
they are called in nuke (gizmos?)...

i'm going to miss good old shake :-(

Aaro

unread,
Mar 22, 2008, 10:00:46 PM3/22/08
to nuke...@googlegroups.com
you know what you won't miss...sandwiching Color corrects in-between
mults to keep your alpha...alpha

On Mar 22, 2008, at 6:56 PM, Santiago Svirsky wrote:

>

Randy Little

unread,
Mar 22, 2008, 10:01:49 PM3/22/08
to nuke...@googlegroups.com
is it really that big a deal? I like Sandwiches.   

Aaro

unread,
Mar 22, 2008, 10:05:04 PM3/22/08
to nuke...@googlegroups.com
ooh i do to, but it's a time saver in my opinion and makes the script a bit nicer.

roninkelt

unread,
Mar 23, 2008, 11:59:18 AM3/23/08
to nukeuser
Just to be clear Randy, are you talking about a 2d transform? If so,
there is no built in way to do it. However, if you wanted to change
the order of transformations, use the code below to put them in
whatever order you would like. By stacking the nodes one after
another, Nuke concatenates the ops and won't take a resolution hit.

set cut_paste_input [stack 0]
version 4.5030
push $cut_paste_input
Transform {
translate {{root.Transform1.translate.x i}
{root.Transform1.translate.y i}}
center {{root.Transform1.center.x i} {root.Transform1.center.y}}
filter Mitchell
name Transform2
label Translate
selected true
xpos -59
ypos -385
}
Transform {
rotate {{root.Transform1.rotate i}}
center {{root.Transform1.center.x i} {root.Transform1.center.y}}
filter Mitchell
name Transform3
label Rotate
selected true
xpos -59
ypos -339
}
Transform {
skew {{root.Transform1.skew i}}
center {{root.Transform1.center.x i} {root.Transform1.center.y}}
filter Mitchell
name Transform4
label Scale
selected true
xpos -59
ypos -293
}
Transform {
skew {{root.Transform1.skew i}}
center {{root.Transform1.center.x i} {root.Transform1.center.y}}
filter Mitchell
name Transform5
label Skew
selected true
xpos -59
ypos -247
}
push 0
Transform {
translate {{curve i x1 0} {curve i x1 0}}
rotate {{curve i x1 0}}
scale {{curve i x1 1}}
skew {{curve i x1 0}}
center {{curve i x1 320} {curve i x1 240}}
filter Mitchell
name Transform1
selected true
xpos -208
ypos -320
}

Randy Little

unread,
Mar 23, 2008, 7:00:28 PM3/23/08
to nuke...@googlegroups.com
yeah I appriciate the efforts the problem is the you don't always know when you start that you will need to reverse the transform.  Doing 1200 nodes sucks.  It can't be that hard to add such a basic function.   the problem is that we didn't know the client was going to add an element that they decided to add and there are a lot of 2d transforms that would have to be competly rebuilt.   I think the comper for that shot just redid it in shake because having all those nodes is slow to work with  compared to a mouse click. 

aurelyen

unread,
Mar 25, 2008, 6:51:21 AM3/25/08
to nukeuser
hi,

you could try to make three nodes linked via expression to the node to
modify,
and then copy/paste it into all scripts to modify.

if i had to do that, in a separate comp, i'd create a tranform node
called "tr_to_modify"
with three nodes (pos, scale, rotation) linked to the master node,
center linked for all nodes,
and then, in the scritps to modify, i'd change the name of the
transform node i want to invert
order to "tr_to_modify", and paste my three nodes with expression.
as expression refers to nodes names, it should work.
and for me, it should be faster than redoing it with shake.
because i don't know shake :-)


Aurelyen.

Randy Little

unread,
Mar 25, 2008, 9:04:22 AM3/25/08
to nuke...@googlegroups.com
Yeah that just seems like what a hassle compared to most other programs have a button inverse.    Its cool that expressions are drag and drop.   Again I know the work around to make it work but we where all just baffled that it didn't just have an inverse transform.   

yawpitch

unread,
Mar 25, 2008, 10:37:41 PM3/25/08
to nukeuser
Looked into this pretty in depth by attacking it in Python ... found
out a couple of interesting things.

In 5.0 there's a Right Click -> Predefined -> Negate function that
takes any single curve and inverts the sign. This is a quick-ish way
to invert transformations, rotations, skew, and center moves. However
it turns out the order REALLY does matter and there's no internal way
whatsoever to change it without getting into the unexposed matrix
internals. Even looking at the C++ code for the transform node I
can't figure out any specific way in which they've exposed a means of
getting at this.

Now it's pretty simple to code a python script that does the 1/X
conversion for scale, and I've done that and I'll put it up on fxshare
if anyone's interested, with instructions on how to get it into the
GUI.

I've also made a much more intensive script that'll invert the entire
transform, but until I can get the order sorted in some way then all
it'll really do for you is solve a single transform at a time (ie
translate only, scale only, etc).

It's surprisingly easy to convert the actual curve, (found about a
dozen ways to do it), but I can't believe they haven't exposed the
transform order like in Shake. This really is a HECK of a lot easier
in Shake.

Michael
Reply all
Reply to author
Forward
0 new messages