The magic of Blackmagic Fusion

Software:
Fusion 8.2

Untitled-1

 

The quest to find an affordable Node-Based Compositing software

I generally prefer doing compositing for video and 3D animation using Node Based Compositing software.
In the past I worked happily with Autodesk Combustion, until it was discontinued, than I went on working with Autodesk Composite (Toxik) which was also kind-of discontinued, and was installed as part of the 3ds max package, and can still be downloaded for free at Autodesk Exchange.

Autodesk Composite is an awesome compositing technology, and I did a lot of work with it, but the only reason I could afford it in the first place was that Autodesk stopped actively developing it and shipped it as a (rather powerful) ‘goody’ along with 3ds max and Maya. while I can still go on working with Autodesk Composite, Its lack of active development is showing, and I decided to look for a better solution.

Obviously, this discussion can’t be serious without mentioning The Foundry’s Nuke compositing software, which as far as I understand the leading node based compositing solution in the VFX industry today.
But in my small indie studio perspective Nuke is expensive, and for my compositing needs, there’s simply no justification to make the investment.

Another node based compositing software that must be mentioned here is the open source software Natron.
Natron is a very serious development, there’s a growing community around it, and it seams to me that it might be on its way to become the ‘Blender’ of the compositing industry.
I did some tests with Natron 2.1.4, it’s interface is very similar to Nuke’s interface, and from the way the interface is designed, its approach to reading and processing 32 bit float multi-channel EXR file sequences, and it’s current library of available nodes, it’s pretty obvious that this development effort is aiming to be a high end VFX node based compositor.
But for me, there are still some key features missing, like 3D compositing, a vector blur node and more.
* It should be noted that you can add Re-Vision Effects ReelSmart Motion Blur plugin to get vector blur functionality and other features like motion estimation.

 

Enter Blackmagic Fusion

Fusion is actually not a newcomer in the field of node based compositing.
Initially developed by Eyeon software, it was named ‘Digital Fusion’, than just ‘Fusion’, and in the past decade was heavily developed in the direction of 3D compositing.
If I remember correctly, Fusion was also expensive, I think it cost around 6000 dollars…
But than magic happened..
A couple of years ago Blackmagic Design, which is by-far the most disruptive company in the production and post-production gear industry, has purchased Eyeon software, continued developing it, integrated it into their product pipeline and made it available as a free edition of the software and a more heavily equipped ‘Studio’ edition of the software, that costs 299$, which is absolutely accessible in small indie studio terms.

I downloaded the free edition of the software, and immediately started working with it, getting used to the interface while working on actual animation projects in the past year,
And to cut the long story short, it’s awesome and it’s a very happy ending to my quest for finding a compositing solution, for the following reasons:

  1. Node based.
  2. Full 32 float workflow.
  3. Robust support for multi-channel EXR file sequences.
  4. Excellent Vector-Motion-Blur and Depth-Blur (DOF) effects,
    And many other 3D channel based tools like Volume-Mask, and more.
  5. 3D compositing.
  6. Very fast GPU accelerated OpenCL processing (render are extremely quick).
  7. Many more..

In conclusion, my opinion is that it’s a no brainer,
If your looking for an affordable, robust node-based compositing software that’s well equipped for 3D animation needs,
Blackmagic Fusion is the answer.

Exporting 3D camera data from After Effects to 3ds max

Software:
After Effects 2020

  1. Download the AE3D_Export script here:
    http://www.urbanspaceman.net/shared/AEscripts/AE3Dexport/AE3D_Export.jsx
  2. Perform 3D tracking on the footage if necessary.
  3. Select the 3D Camera layer and also Null layers if available.
  4. Choose File > Scripts > Run Script File and locate the AE3D_Export script.
  5. In the Script parameters highlight 3ds max.
  6. Click Options and set the scale.
    * you might need to try and see the scale in 3ds max to set it right.
  7. Set a name for the exported ms (MaxScript) file.
  8. Click Export.
    The resulting MaxScript file will appear on the desktop named <your after effects project name>.ms
    Note:
    You may be prompted to check the Allow Scripts to Write Files and Access Network option in File > Preferences > Scripts & Expressions.
  9. Drag the generated MaxScript file into the 3ds max viewport.
    The script will run and create an animated Camera and Dummy object, and also set the timeline range to fit the animation.
  10. Create a new Point Helper object.
  11. Align the new Point Helper to the Dummy object in both position and orientation.
  12. Group the Camera and the Dummy objects together, and link the group to a new Point Helper.
    This will allow for easy orientation and scaling.
  13. Set the Point Helper object’s rotation to default (0,0,0) , this will also reset the Dummy + Camera group’s orientation relative to the world.
    Scale the Point Helper object if needed, to scale the whole camera setup.
  14. Display the original video sequence as viewport background to check how the camera motion fits the video.
    The center of your Point Helper should appear “glued” to a specific point in the background video. 
Untitled-2

 

Related:
After Effects 3D Camera tracking

Render layers in Blender

Software:
Blender 2.78

I find that Render layers in Blender/Cycles render are a very useful tool for creating any kind of Render passes or AOV’s needed for compositing.
You can easily create render passes with different material overrides, or use the ability to exclude scene layers to create render passes with different light sources or different geometry.
For instance, there’s no built in World Position AOV in Blender but it’s really easy to create one using a Render layer with a World Position shader override (a world position shader can be created using an ‘Input > Geometry’ node)
Or in another case,
I thought you couldn’t have a decent AO render pass (using one scene file) because the AO shader doesn’t have a distance parameter and the Environment AO (that does have a distance parameter) produces a fake GI effect that I don’t want to have in the beauty-pass,
But using render layers it’s actually pretty easy to do because a render layer can be set to not use the environment or not use AO.
Bottom line, the Render layers feature in Blender gives you huge flexibility in creating custom output images or sequences out of a single scene in a single render job (not a single render because each render layer is rendered separately).
On top of all that the output images from all the render layers don’t have to be all packed into one gigantic EXR file,
You can use compositing operations and compositing ‘File Output’ node to determine exactly how the images will be stored in folders and files.
The ‘File Output’ node will actually create folders and store the files in them so output from one render command an be automatically stored within multiple folders.
In short.. AWESOME!!

Critical reminder:
When setting up render layers make sure you don’t forget to turn them all on when your done testing, otherwise you’l come back to the studio in the morning and find that not all the needed sequences have been rendered :-\
Blender_Render_layers