métodos básicos en Nuke. by Mauricio Ricaldi

Cuando trabajamos en Nuke, hay una serie de métodos básicos que usamos cotidianamente, sea para hacer arreglos, roto o mascaras mediante chromakey.

Veamos una serie de métodos y sus diagramas:

Para crear una mascara con roto desde una imagen fuente, el resultado no dará la imagen RGBA cortada con su canal alfa, para poderlo unirlo con un simple merge (over).

Donde en la entrada 1 va el canal alfa y en la 2 la imagen rgb.

Donde en la entrada 1 va el canal alfa y en la 2 la imagen rgb.


Aca el script en codigo de Nuke:

set cut_paste_input [stack 0]
version 9.0 v1
Roto {
inputs 0
output alpha
curves {{{v x3f99999a}
{f 0}
{n
 {layer Root
{f 0}
{t x44800000 x44428000}
{a pt1x 0 pt1y 0 pt2x 0 pt2y 0 pt3x 0 pt3y 0 pt4x 0 pt4y 0 ptex00 0 ptex01 0 ptex02 0 ptex03 0 ptex10 0 ptex11 0 ptex12 0 ptex13 0 ptex20 0 ptex21 0 ptex22 0 ptex23 0 ptex30 0 ptex31 0 ptex32 0 ptex33 0 ptof1x 0 ptof1y 0 ptof2x 0 ptof2y 0 ptof3x 0 ptof3y 0 ptof4x 0 ptof4y 0 pterr 0 ptrefset 0 ptmot x40800000 ptref 0}}}}}
toolbox {createBezier {
{ createBezier str 1 ssx 1 ssy 1 sf 1 sb 1 tt 4 }
{ 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_brush_hardness 0.200000003
toolbar_source_transform_scale {1 1}
toolbar_source_transform_center {1024 778}
name Roto1
selected true
xpos 114
ypos -101
}
push $cut_paste_input
Dot {
name Dot1
label Imagen
note_font_size 22
selected true
xpos 292
ypos -12
}
ShuffleCopy {
inputs 2
name ShuffleCopy1
selected true
xpos 114
ypos -16
}
Premult {
name Premult1
selected true
xpos 114
ypos 10
}

A veces en necesario hacer una rotoscopia que siga a algún objeto,  para esto simplemente añadimos el tracker al arbol.

Debemos primero trackear la imagen con uno o varios trackers segun sea necesario.

Luego lo movemos debajo del roto, y cambiamos su atributo a "match moving" así seguirá lo que trackeamos anteriormente, no olviden poner el reference frame sea el mismo donde dibujamos el roto.



ChromaKey

Para crear chromaKey simples podemos comenzar con este diagrama, donde usamos un nodo Keylight para extraer la mascara en el canal alfa y luego combinarlo con la imagen original, así evitar cualquier cambio en el color.

Una vez que tenemos la imagen con su mascara debemos quitar lo que llamamos "spill" que es el color del fondo que invade y colorea la imagen, ejemplo un actor en camisa blanca sobre fondo verde, el color invadirá la camisa en los bordes.

Despill

Hay un par de expresiones en Nuke para hacer esto, la formula básica para fondo verde es: g>(r+b)/2?(r+b)/2:g  donde si el verde es mayor al la media del rojo mas el azul entonces el verde toma el valor de ese resultado así quitando el color verde de la imagen si no mantiene el verde (en el caso de tonos oscuros). En otras palabras lo que hace es quitar la saturacion del verde nivelando los tres valores rgb.

para fondos verdes, escribimos la expresión en el canal verde (g)

para fondos verdes, escribimos la expresión en el canal verde (g)

para fondos azules en el canal azul (b)

para fondos azules en el canal azul (b)

Acá ambas expresiones:

  • Verde: g>(r+b)/2?(r+b)/2:g
  • Azul: b>(r+g)/2?(r+g)/2:b

Finalmente premultiplicamos todo para obtener la imagen RGB y su mascara cortada.

Por lo general usamos mas de un keylight para crear la mascara del chromakey, un metodo comun es usar dos, uno que nos tome el centro del objeto o personaje sin mucho detalle pero manteniendo un la mascara uniforme por dentro y otro keylight que haga los detalles, combinando ambos podemos obtener una mascara mas detallada y perfecta.

Estos son diagramas básicos, de uso general en Nuke, espero que les sea útil..  MR.


He aca el codigo para nuke del chromaKey:

set cut_paste_input [stack 0]
version 9.0 v1
push $cut_paste_input
Dot {
name Dot2
label Imagen
note_font_size 22
selected true
xpos -323
ypos -62
}
set N19bfb400 [stack 0]
OFXuk.co.thefoundry.keylight.keylight_v201 {
show "Final Result"
unPreMultiply false
screenColour {0 0 0}
screenGain 1
screenBalance 0.5
alphaBias {0.5 0.5 0.5}
despillBias {0.5 0.5 0.5}
gangBiases true
preBlur 0
"Screen Matte" 0
screenClipMin 0
screenClipMax 1
screenClipRollback 0
screenGrowShrink 0
screenSoftness 0
screenDespotBlack 0
screenDespotWhite 0
screenReplaceMethod "Soft Colour"
screenReplaceColour {0.5 0.5 0.5}
Tuning 0
midPoint 0.5
lowGain 1
midGain 1
highGain 1
"Inside Mask" 0
sourceAlphaHandling Ignore
insideReplaceMethod "Soft Colour"
insideReplaceColour {0.5 0.5 0.5}
Crops 0
SourceXMethod Colour
SourceYMethod Colour
SourceEdgeColour 0
SourceCropL 0
SourceCropR 1
SourceCropB 0
SourceCropT 1
balanceSet false
insideComponent None
outsideComponent None
cacheBreaker true
name Keylight1
selected true
xpos -516
ypos -66
}
push $N19bfb400
ShuffleCopy {
inputs 2
name ShuffleCopy2
selected true
xpos -357
ypos 14
}
Expression {
expr1 "g>(r+b)/2?(r+b)/2:g\n"
name Expression1
label DESPILL
selected true
xpos -357
ypos 49
}
Premult {
name Premult2
selected true
xpos -357
ypos 99
}

Obj Maya Clipboard by Mauricio Ricaldi

Working with characters and props all the time comes with a problem, don't forget to add all the props to the render layer of the character, mattes, etc.   Saving things in the Maya you can use "Sets", but sometimes you need something faster, just one click and done.

So this little tool made in MEL make the things easier, we have four boxes that we can store geo, lights, shapes, etc.

The tool is very easy to use, just select anything in maya and store it, you can recall it later but also you can add anything in the box and make bigger the selection.

box A has only the pyramid

box A has only the pyramid

we add two objects more with the "Add"

we add two objects more with the "Add"

Box A contains 3 objects now.

Box A contains 3 objects now.

To store from scratch just select anything, store it again using the "Store " and the box will be empty and will only contains the new selection.

Hope this little tool is useful on your projects.

OBJClipboard v1 (Mel code)

 

Maya to Nuke obj script by Mauricio Ricaldi

One of the things you do in LRC (ligth render and comp) is moving geometry from Maya to Nuke for a number of reasons, like projecting plates, or textures also knowing where are the things on 3d space and tracking them, etc.

Maya 2 Nuke

Maya 2 Nuke

Is very useful to have reference Geo in Nuke in a fast way,  so this script will grab the geometry in Maya save it as obj and generate a Nuke script that is matter of copy and paste into Nuke.

Maya 

Maya 

Select your GEO in Maya, you can select multiple objects, press generate Nuke script, maya will ask you for a directory where to store the .obj and will save all the files there, keep in mind that the name of the file is the same of the object in maya, so don't use strange characters.

Once is done, just copy paste the script from maya to nuke and done!.

Nuke

Nuke

I hope is usefull,  happy comping!!

Mel Script: Maya2Nuke16m.mel