Page MenuHome

Add Camera Rigs add-on: add 2D camera rig

Authored by Damien Picard (pioverfour) on Jan 27 2020, 11:35 AM.



This adds a camera rig useful for 2D productions. It is copied from this repository, of which I’m the original co-author. It follows the refactor from D6543.

Its principle is explained in some detail in this article, but here it is again briefly:
In a 2D production (and some shots in 3D as well), you sometimes need to rotate the camera while zooming, effectively "cropping" the field, just as you would using a rostrum camera. This is tedious and error-prone if animating basic transforms, so this rig implements a more intuitive way to do that, by just animating the two lower corners of the camera’s field.

This involved a bit of further refactoring, to separate generation and UI into aspects common to all rigs, common to 3D rigs, and specific to each rig.

I also improved other stuff I noticed in the add-on (well, you know that’s just, like, my opinion, man…):

  • add the GPL license block to, which I’d forgotten;
  • rename arm[ature] to rig in some functions, for consistency and to avoid confusion with the crane’s arm;
  • changes to the UI panel:
    • remove the boxes, which I didn’t feel made the UI any clearer,
    • put focal length at the top of the panel,
    • group related properties using aligned columns,
    • change the Make Camera Active operator’s poll method, so that it is always visible in the UI, but greyed out when the camera is already active.



@Brendon Murphy (meta-androcto) I’m adding you as a reviewer since this adds a new feature and I’d like your opinion on that.
If this is accepted, I will support and maintain the 2D rig.

Diff Detail

Event Timeline

  • Expose the DOF focus object property in the 2D rig UI, since the Add Empty operator is irrelevant here
  • Add @Flavio Perez (flav) as original author of the 2D Camera rig

Error with previous diff.

Remove camera sensor width from drivers: this caused delays in the drivers. Also gets rid of two dependency cycles.

@Wayne Dixon (waylow) @Brendon Murphy (meta-androcto) If that’s all right with you I’ll push this new rig to master.

I've got no issues with that, but then again, I'm also not an actual dev - haha

Ha ha right, but you are still the author! All right, pushing this with commit rBAf4cf9b00db36. Thanks.