Nuke Timeout – EP08 – TimeBlur & The Right (Sub) Frame Of Mind

I noticed that sometimes artists get a bit confused about when to use it but even more important – when to use it in combination with the NoTimeBlur node.

The TimeBlur node averages everything that goes through the node input using the specified shutter speed. That means, if there is any form of movement or animated distortion going on, the node will calculate Motion Blur for you. It divides the frames into subframes, specified by the “divisions” knob.

Let’s animate this shapes’ position from one frame to the next.
With a division of 1 nothing happens.
If I increase this number Nuke will go in between those 2 frames to generate new, averaged images – the higher the divisions the more images the node will generate.

By the way, the division knob of the TimeBlur node is not the same as the motionblur knob on the Transform node. The motion blur knob is a rule of thumb kind of parameter. The division knob let’s you accurately set the number of subframes.

Now comes the important part:
How does the TimeBlur node know what happens in between?

Well, it takes a look at the curves that have been generated for this animation – and along that curve we have an infinite amount of values if you will.

So what happens if we precomp our animated shape?

The information gets lost. There are no curves the node can look at.

We will now take a look at some interesting observations. Let’s talk about concatenation again.
If you need to catch up on that topic, please have a look at my Unleash The Node episode of the Transform node, in which I take an in-depth look at it.

Alright, we take our 2 frame animation – this time we only move the shape horizontally and switch motion blur on.

Now, we add a second Transform right after – just a little vertical shift…

…and switch the motion blur on as well.

The last node in this stack determines the motion blur filter that gets applied to the combined transformations.
But what if, for some reason, I have to add a node in between that breaks concatenation? I’ll end up with an incorrect motion blur.

My roto shape gets blurred horizontally first and this result now gets motion blurred vertically.

Instead of combining the transformations, I’ll end up with 2 separate calculations. Let’s turn off motion blur in both nodes and add a TimeBlur node.

The concatenation break is no longer in effect.

Since there is no filtering applied, the TimeBlur node checks all the nodes and curves all the way up.
If you’re wondering – I can’t replicate this with another Transform node.

The Transform node will only pick up everything below the concatenation break.

One node that uses the same approach as the TimeBlur node is the ScanlineRender node.

It produces a slightly different, probably more accurate result.

But again, as soon as you switch motion blur on in any of the upstream nodes and there is a node in between that breaks concatenation, you will get wrong results.

Here comes an important thing:
There is a huge difference between breaking concatenation with any node versus breaking it with a NoTimeBlur node.
The Grade node in our example will force the upstream nodes to calculate motion blur and any following calculations will take the upstream result and produce motion blur on top of it.
Let’s pop in a NoTimeBlur node instead.

This node cancels out motion blur calculation at all. The ScanlineRender will only process nodes downstream from that node. That’s why we only get the vertical blur coming from that second transform node.

The next point is also important for animated shapes or elements in general.
Depending on the shutter settings, it’s possible that the ScanlineRender or TimeBlur not only averages upstream nodes based on curves but actual content. If we use our animated shape from the beginning and place it on the card, you can see that the shape of the next keyframe is already fading in.
This happens because the ScanlineRender and TimeBlur node create subframes for this element. If you don’t want this, you will also have to use the NoTimeBlur node here.

Again, also if you prerender the element, this information will also be lost.
This could be important for when you’re retiming plate elements for example and you place them on a card  for repos without precomping.

But even if you do precomp, depending on your shutter settings, you might get some unwanted frame blending.

Of course you’ll have to choose whatever setting is needed for your specific project – for example to match the live action camera settings – but if you only need it for motion blur calculation and want to avoid frame blending of your element, you can also use the NoTimeBlur node.

So watch out if your results are looking softer than expected, this could be the reason. I hope this makes things more clear, since it can get a bit confusing.

If you want to learn more about unconventional ways of using the TimeBlur node I can only recommend visiting Chris Fryer’s blog and watching his very interesting video about this topic:

Experiments with TimeBlur
Experiments with TimeBlur: RollingShutter
TimeBlur Tutorial | Subframes and Demos