Mads,

I don’t know about being lazy… Your one-node version seems to work very well!

That expression node is just a bit intimidating, though…   ;^)


Thanks!
Rich


Rich Bobo
Senior VFX Compositor
Armstrong White
Email:  [email protected]
http://armstrong-white.com/

Email:  [email protected]
Mobile:  (248) 840-2665
Web:  http://richbobo.com/

"The glory of friendship is not the outstretched hand, nor the kindly smile, 
nor the joy of companionship; it is the spiritual inspiration that comes to one 
when he discovers that someone else believes in him and is willing to trust him 
with his friendship."
- Ralph Waldo Emerson







On Jun 22, 2014, at 4:17 PM, Mads Lund <[email protected]> wrote:

> If you were really lazy you could do it in a single node, with scale and all 
> that but it would be a bit slower:
> 
> set cut_paste_input [stack 0]
> version 8.0 v4
> push $cut_paste_input
> Group {
>  name Tile
>  selected true
>  xpos 297
>  ypos -127
>  addUserKnob {20 User}
>  addUserKnob {41 Transform T Tile.Transform}
>  addUserKnob {41 scale l "Scale Multiplier" T Tile.scale}
> }
>  Input {
>   inputs 0
>   name Input1
>   xpos -472
>   ypos 2
>  }
>  Expression {
>   temp_name0 mx
>   temp_expr0 fmod((x+(width*1000)-Transform.x)*scale.w,width)
>   temp_name1 my
>   temp_expr1 fmod((y+(height*1000)-Transform.y)*scale.h,height)
>   expr0 r(mx,my)
>   expr1 g(mx,my)
>   expr2 b(mx,my)
>   channel3 {none none none -rgba.alpha}
>   name Tile
>   selected true
>   xpos -472
>   ypos 67
>   addUserKnob {20 User}
>   addUserKnob {12 Transform}
>   Transform {320 0}
>   addUserKnob {14 scale R 0 100}
>   scale 6.2
>  }
>  Output {
>   name Output1
>   xpos -472
>   ypos 142
>  }
> end_group
> 
> 
> 
> 
> 
> On Sun, Jun 22, 2014 at 7:36 PM, Arno Beekman <[email protected]> wrote:
> here's how I usually do this
> In Transform1 you can move/shift the edges...
> 
> 
> 
> Reformat {
>  type scale
>  scale 2
>  filter Impulse
>  name Reformat1
>  selected true
>  xpos -356
>  ypos -52
> }
> Tile {
>  rows 2
>  columns 2
>  filter Impulse
>  name Tile1
>  selected true
>  xpos -356
>  ypos -28
> }
> Transform {
>  center {{width/2 x1 0} {height/2 x1 0}}
>  filter Impulse
>  black_outside false
>  name Transform1
>  selected true
>  xpos -356
>  ypos -4
> }
> Reformat {
>  type scale
>  scale 0.5
>  resize none
>  filter Impulse
>  pbb true
>  name Reformat2
>  selected true
>  xpos -356
>  ypos 20
> }
> RotoPaint {
>  output rgb
>  cliptype none
>  curves {{{v x3f99999a}
>   {f 0}
>   {n
>    {layer Root
>     {f 0}
>     {t x44000000 x43c00000}
>     {a}}}}}
>  toolbox {selectAll {
>   { selectAll str 1 ssx 1 ssy 1 sf 1 }
>   { createBezier str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { createOpenSpline str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { createBezierCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { createBSpline str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { createEllipse str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { createRectangle str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { createRectangleCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { brush str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { eraser src 2 str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { clone src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { reveal src 3 str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { dodge src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { burn src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { blur src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { sharpen src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
>   { smear src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
> } }
>  toolbar_source_transform_center {512 384}
>  createNewTrack {{-1} "-1\t(none)\t-1" "1000\tNew Track Layer\t1000"}
>  name RotoPaint1
>  selected true
>  xpos -432
>  ypos 57
> }
> Transform {
>  translate {{"floor( width/2 - parent.Transform1.translate )"} {"floor( 
> height/2 - parent.Transform1.translate )"}}
>  center {1024 768}
>  filter Impulse
>  black_outside false
>  name Transform2
>  selected true
>  xpos -356
>  ypos 97
> }
> 
> 
> gr
> arno
> 
> 
> 
> On 20-06-14 01:06, Richard Bobo wrote:
>> Hi all,
>> 
>> I have found several gizmos that will do a simple pixel shift on an image — 
>> x & y offsets that wraparound. However, I keep searching in vain for a way 
>> to do it with a built-in Nuke node. Isn’t there any way? I guess that’s why 
>> these gizmos exist..?    (8^\    A big thank you to anyone who can tell me 
>> about a Nuke node that can do it!
>> 
>> Thanks,
>> Rich
>> 
>> 
>> Rich Bobo
>> Senior VFX Compositor
>> Armstrong White
>> Email:  [email protected]
>> http://armstrong-white.com/
>> 
>> Email:  [email protected]
>> Mobile:  (248) 840-2665
>> Web:  http://richbobo.com/
>> 
>> "The world stands aside to let anyone pass who knows where he is going."
>> - David Starr Jordan
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Nuke-users mailing list
>> [email protected], http://forums.thefoundry.co.uk/
>> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
> 
> 
> _______________________________________________
> Nuke-users mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
> 
> _______________________________________________
> Nuke-users mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

Reply via email to