Camera Perspective Tool

Blender_Dolly_Zoom_Navigation

This is a modal tool for changing your camera lens angle while keeping it steady in place.

  • Great for aligning the scene to camera background images (e.g. matching perspective from reference images, for modeling).
  • Also for animation and stills, trying different FOVs quickly without having to move the camera all the time. Find that perfect dramatic framing super quick.

Get it on Gumroad or BlenderMarket:

Thanks!

4 Likes

Wow, this is very useful in a lot of ways!

very useful… thank you

Thanks guys. If you have any questions please let me know.

dollyzoom_truckshift_demo

I added a new feature to this addon: truck-shift (it’s a made-up name!).
It lets you change the lens shift of your camera while it automatically trucks to keep the 3D cursor in place on screen. It’s great for aligning the view to some particular perspective images or objects.

You can get the addon in the Gumroad page, but if you already have it then you should receive a message containing the updated version.

I updated this to version 1.1.1.
You can still get it on Gumroad: https://gum.co/dolly_zoom_truck_shift

This update added much needed header text information, telling you what mode you’re in and what keys you can press, just like the native Blender tools already do.
I feel it’s better this way, less stuff to memorize (see the header at the bottom):

2 Likes

hello, just purchase your addon, i really like the fact that you add a dolly view its amazing:

but will you update it into 2.8 ?
i modified the version but i got an error at the line 305

line 305, in invoke
    localCursor = cam.matrix_world.inverted() * context.scene.cursor_location
TypeError: Element-wise multiplication: not supported between 'Matrix' and 'Vector' types

i tried to fix it myself but im new to code and its way too much high level for me right now

1 Like

Hi @BD3D, thanks for the support.
I just sent a Gumroad update email with two editions, one for 2.79 and another for 2.80.

There are a few changes to the API – for instance, matrix vs. vector multiplication now uses the @ operator instead of the asterisk operator.

Anyway, good luck.

1 Like

Really nice idea, seems to be well implemented. I do not need it at the moment but soemthing to keep in mind for sure.

1 Like

Hi! Awesome addon, got it a few days ago and worked wonderfully in 2.80, but in recent updates throws an error. I hope it helps to fix the issue:

Traceback (most recent call last):
  File "C:\Users\USER_NAME\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\dollyzoom_truckshift.py", line 283, in invoke
    localCursor = cam.matrix_world.inverted() @ context.scene.cursor_location
AttributeError: 'Scene' object has no attribute 'cursor_location'

location: <unknown location>:-1
1 Like

Hi @Botoni, you’re right. The latest build changed some of the API, you should be getting a Gumroad update with a fixed version.

Thanks for reporting!

I just hit that exact error in one of my addons too. It gets hard to keep up with that.

1 Like

I was just debugging another problem in some other add-on which is when you have a reference to a mathutils.Vector attribute, like vertex.co for example, in 2.79 and 2.80 they behave differently: sometimes it’s a copy, sometimes it’s a reference (I don’t remember which Blender has which…).
If you expected that value to change, and you got a copy, you’d run into problems.

Yeah really hard to track, maybe the add-on devs should hack a editable wiki page about latest updates that also offers RSS feeds etc, otherwise this also affects the users too.

My biggest issue atm is that we need to support 3 different branches as if developing and distributing add-ons was easy enough. These branches are Blender 2.79b (Python 3.5), Blender 2.79b nightlies (Python 3.7) and Blender 2.80 (Python 3.7) And these diverge and differ in some areas.

Heya, I’ve updated this to version 1.3.2 with a new feature:

Holding Ctrl while confirming the tool will set keyframes for the camera properties used by this tool.
The properties that are keyframed are: camera location, focal length (AKA zoom), shift X and shift Y.

This can be used to create animated perspective camera effects, in this way:

  1. Set the scene frame to where the effect should begin.
  2. Start the tool but don’t make any changes.
  3. Hold Ctrl then hit Enter/click to confirm. This will set keyframes for the camera in its original unchanged state.
  4. Change the scene frame to when the effect should end.
  5. Start the tool and make your adjustments (dolly zoom, truck shift etc).
  6. Hold Ctrl then hit Enter/click to confirm. This will set the keyframes for the camera in its adjusted state.

So the first run of the tool was used to create keyframes with the original settings of the camera, then the second run was used to create keyframes for the adjusted settings. If you play the animation you can then see the camera transitioning during those moments.

1 Like