The Reconcile3D node is poorly documented so it's a bit of a mystery to most. The two key questions here are what does it do and what do I use it for? To see that, let's load a script. So we'll go to our File>Open select wherever you have your Project Media, go to the Lesson_04_Media folder and select the Reconcile3D Nuke script. We'll open that. Okay, we'll go to the far left backdrop node, select that, and type F to fill the frame and type D to enable all of the nodes.
And we'll double-click on the viewer to see what we got. By the way, these Read nodes found their images because I have an expression in them that tells them to look for them in the same directory that the Nuke script was loaded from. As long as they stay in the same folder, you can put them anywhere you want. So we have a 3D camera scene right here, so let's go look at the 3D setup. We'll switch to our 3D viewer, type F, orbit around, open up the scene node; select the camera, so you can see the action.
So the camera moves horizontally and then pushes in towards the plate. To setup the Reconcile3D node we're going to need an axis. So, we'll go to the 3D tab, click on Axis, and it appears in the 3D viewer. So I want to use this Axis to drive this moon object. So to do that, I want some parallax; I want the moon to move differently than the screen. So I am going to place my 3D target back in Z so that I'll get some parallax between my picture and my axis.
Now if we look through the camera, you see the camera move, you can see the axis is moving relative to the foreground. And let me reposition it somewhere. I want to put the moon up here and may be over there a little bit. So let's say I like that for my 3D axis position. Now I am ready to get the 2D coordinates frame by frame. So we'll switch to the 2D view and add the Reconcile3D node. Come to the Transform tab, select Reconcile3D, and it hooks up to the Axis node which is what we want.
The camera input of course goes to the 3D camera, and we are ready to go. Make sure you do not connect anything to the image input here. The Reconcile3D node is going to calculate the 2D position on the screen relative to the camera aperture. So you have to make sure your project settings match your clip. If you hook anything up to the image input here, it's going to change the camera aperture to match that image. In this case, this is a very small 200x200 image, so that will resize all of your tracking data and make it incorrect.
So just remember, the Project settings must match your input clip before you create your keyframes. Okay, we are ready to go, so we come up here to the Reconcile3D Property panel and click Create keyframes. It gives us a frame range choice. If you just want to track a short section, this is where you do it. So we'll click OK, and there we go, right across the screen and done. So there is the output point, this is the 2D point on the screen represented by that 3D point in space as seen by the camera.
Now let me turn the overlays off by putting my cursor in the viewer and typing O to get rid of the path of motion, and there we can see the output point. This is what I am going to use to drive the moon. Now that the keyframes are all created, only then I can hook up my moon image. To the Reconcile3D, I'll add a Merge node, because I want to composite the output of that over my background, and there we go.
So the Reconcile3D node is actually done the translate in X and Y to reposition the moon relative to the output point. However, it's not centered on the output point, it's down here in the lower left hand corner. In other words, it's actually set it to the lower left-hand corner of the image right here. But that's an easy fix; all we have to do is adjust the offset in the Reconcile3D node. I'm going to put Reconcile3D to the top of the Property bin by doing a Command+Click on this little X button here and we'll adjust the offset here.
I am going to set the offset in X 20, 30, 40, 50, 70, 80, 90, a 100 and the offset in Y, in 10, 20, 30, 40, 50, 60 70, 80, 90, a 100 there. Now the output point is centered on my image, and if I move the playhead, you can see the moon is moving with it. I'll jump the playhead to frame one and now we can hit Play.
Okay I am going to set the playhead for ping-pong. That will make it more interesting playback. Okay, we'll stop this, to show you up here the XY output, these are the coordinates on the screen for the location of our output point which of course controls the moon point. As I scrub the playhead, you can see the XY output values are changing. The XYZ output is in fact the location of the 3D point, in this case, the axis. I am going to clear the Property bin and restart the playback to point out that the moon is being translated in X and Y by the Reconcile3D node, but it is not being resized or rotated. Which works in this case, because my camera is translating left and right, I want some parallax between the moon and the foreground buildings, but when I push in, I don't want the moon to scale up.
In this example, we had a 3D camera move with an axis, then used the Reconcile3D node to create the onscreen 2D coordinates used to apply the Match move to the moon. Note that the Reconcile3D node itself moved the moon connected to the image input, but that's not the only workflow with the Reconcile3D node.
Nuke 6.3 New Features was created and produced by Steve Wright. We are honored to host his material in the lynda.com library.
- What's new in Nuke 6.3
- 3D tracking in the Camera Tracker
- Creating a cloud with the Point Cloud Generator node
- Building meshes with the PoissonMesh Generator node
- Understanding the Reconcile3D node
- Demoing the PointsTo3D node
- Introducing the Modeler node
- Aligning 2D and 3D points
- Displacing with the Displacement shader
- Adding audio
- Working with the Planar Tracker
- Working with 3D particle systems in Nuke 6.3