Animated Render Border

by Ray Mairlot's Shop in Scripts and Addons

Animated Render Border

An adaptive render border that updates every frame to always surround the selected object or collection.

 

What does ‘Animated Render Border’ do?

Blender has an inbuilt feature that allows you to draw a box around the areas you want to render (while looking through the camera) and skip the rendering of areas outside this box. This is called ‘border’ rendering and it’s great for previewing parts of your render. It works well for still frames but not so much for animations where your object of interest is moving all over the screen.

This add-on makes the ‘render border’ adaptive so that the border updates its location and size every frame to always surround the selected object or collection of objects*, focusing your render power on just those specific parts of the image. You can scroll in the timeline to see the border update automatically and render when ready.

There is also a ‘Keyframe’ mode, to allow you to manually place and keyframe the position of the render border instead of tracking an object or collection.

*Tracking is enabled for the following object types: Meshes, Text (Font) objects, Curves, Surfaces, Meta objects, Lattices and Armatures.

How can it help you?

If you’re doing test renders and want to preview the render of an animated object but don't want to waste processing time on background objects you can use the ‘Animated Border Render’ to focus the rendering on the selected object(s).

If the image you are rendering has a transparent background (a common occurrence for those doing compositing) and you want to skip rendering the transparent areas (which, despite being empty still take time to process) you can again, select an object or collection to track and the Animated Render Border add-on will handle the rest.

 

How does it work?

The add-on looks at the bounding box of the object(s) selected to be tracked and will adjust the render border accordingly. Alternatively, objects can be tracked by analysing the ‘inner points’ of the object (vertices, lattice points, curve points etc.), which can be slower with complex objects, but very precise.

You can also always use the ‘margin’ feature of the add-on to make sure you’ve always got a ‘safe’ area around your tracked objects.

 

Why did I make this?

I was rendering an animation and noticed that apart from the object I was rendering, a lot of the frame had a transparent background. Despite the fact these areas were blank, the renderer was still taking some time to process these areas. It was infuriating to watch the renderer spend time on these blank areas and not focus on the important areas. I knew these areas were blank but Blender didn’t! I knew Blender’s render border could skip areas on single frames, but I also knew that wouldn’t work on animations where the object is moving. The thought of faster renders was all the motivation I needed to start scripting.


What versions of Blender does it support?

Originally the add-on was built for Blender 2.74 (with the most recent version being compatible with 2.79), but I have now updated it to work with 2.80. Both the 2.79 and 2.80 version of the add-on are included with the purchase. Currently there is no difference in features between the two.


Limitations

Unfortunately, despite my best efforts, there are some limitations to the add-on:

  • Only image formats can be chosen as an output for rendering. So, for example, you can render to a JPG image sequence, but not an MP4 video.
  • Cameras, Empties, Lamps and Speaker objects cannot be tracked. Particle systems are also not supported (but you could parent an object that can be tracked to an object that can’t and track that instead).
  • You can’t have a different size render border for different render layers. This is only possible if you render out your render layers separately.
  • Tracking won’t work when a camera has been set to use a ‘Panoramic’ lens type (e.g. Equirectangular, Mirror Ball etc.)


Release Log:

V3.0

  • Updated add-on to work with Blender 2.80.
  • Removed the ability to render when an image format is selected in the Output panel (this was a mistake and resulted in multiple video files being created instead of a single output file).
  • Other minor bug fixes.

V2.1

  • Fixed an issue where rendering from the command line would fail due to the modal operator not working in 'background' (-b) mode.

V2.0

  • Renders can now be properly cancelled.
  • Text (Font) objects, Curves, Surfaces, Meta objects, Lattices and Armatures can now be tracked, in addition to Mesh objects.
  • The render border can now be manually keyframed instead of tracking an object.

V1.1

  • Fixed bug that meant rendering an animation happened on wrong start frame.

 

Full release log here.