Afrikaans
Akan
Albanian
Amharic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
In the previous video I showed you how to set up a
non-linear retime with the TimeWarp node.
In this video we're going to use that node as a master node
to control other retimes in your script.
I will also show you how you can export this data in a way
that can be used in other applications.
It's common to end up with several Retime nodes in your
script that need the same retime data.
Perhaps you want to use several Kronos nodes,
each with different settings for better results in
different areas of the frame or perhaps you have two layers
that need the same retime applied,
but you get a better result if you retime each layer
separately before you merge them.
Let's connect a Kronos node to this clip, and set the method to Frame.
We want to connect the Frame property and the Kronos node to the Frame
variable in the TimeWarp node that we set up before.
We can do this by opening the TimeWarp node and,
while holding down the Command key, Ctrl if you aren't on a Mac,
dragging the graph icon next to the frame variable to
the frame variable in the Kronos node.
You will see a little green circle up here in the
bottom right corner of the Kronos node,
and if you press Alt or Option and E you can see a green line
from the TimeWarp node to the Kronos node.
This signifies that the Kronos node has an expression
linking it to the TimeWarp node.
If you copy and paste the Kronos node,
the new node will also be connected to the TimeWarp node.
You can connect as many other Retime nodes to the
TimeWarp like this as you like.
This way the TimeWarp node becomes the master retime control.
Any changes there will be applied to all the other Retime nodes in your script.
You can also apply this retime data to nodes other than Retime nodes.
In this example,
I had a Multiply node that I have animated to create a flash
every time the guy's foot hits the ground.
I did this animation before I knew the footage was going to be retimed,
and now that we have the retime I don't want to
have to reanimate the whole thing.
I could connect the multiply before the retime,
but the flashing might mess with the results of the optical flow,
so I want to apply the effect after the retime,
but now the flashes don't match the action.
I can use an expression to apply the retime from the
TimeWarp to the animation of the Multiply node.
If we open up the TimeWarp node and hover our cursor over
the input frame control the tool hint will show us that the
control is also called lookup.
The name that shows whenever you hover over a property is the name that
you need to use in expression to refer to that control.
If we open up the Kronos node and right-click on the frame control,
and choose Edit expression, we can see that the expression says,
parent.
TimeWarp3.
lookup.
This is telling Kronos to use the lookup value from the node
TimeWarp3 at the parent or top level of our script.
Because the Kronos node is also at the top level of the
script we could delete the parent part, and the expression will still work.
Parent is only relevant when we start working with gizmos and groups.
Let's copy the rest of the expression.
Now let's open the Multiply node and choose Edit
expression for the multiplier value here.
Because this property has already been animated the
expression will already have the word curve.
This means that the node is getting the multiply value from
the animation curve in the Curve Editor.
This value changes over time,
so the node will read the value of the curve on each frame,
but if we add a set of brackets after the word curve,
and paste in the expression from the Kronos node we will now
be telling the Multiply node to read the animation value from
a different point on the curve.
Rather than reading the value from the current frame,
it will now read the value from the frame specified by the retime.
Now when we play it back you can see that the flashes match the action again.
As compositors we're usually the first department in the
VFX pipeline to deal with the retime.
Once we have it set up, and have got it approved by the editorial department,
we will probably need to send the retime information to other departments.
We usually do this by exporting an ASCII text file that
can be read by other pieces of software.
To do this open up your TimeWarp node,
and then right-click on the input frame value,
and choose File, Export Ascii.
With the default settings Nuke will create a simple text file with the
value of the retime curve for every frame on a new line.
Now if we open the text file we can see the numbers.
If we create a new empty TimeWarp node and choose File,
Import Ascii, and select the file that we just created,
we can see that the new node now has the same values as
the node we exported the text file from.
We can now send this ASCII file to other departments.
So to summarize this module,
working with speed values is often the most logical approach
when we're setting up a nonlinear read time,
but using frame numbers is more compatible with other software.
Often,
the editorial department has already decided what the retime should look like,
and we can use expressions to link retime information between nodes.
In the next module I'm going to show you some techniques
for cleaning up the retime artifacts, including using a 3D projection setup,
and some more uses for expressions.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.