Page MenuHome

Camera Overscan
Closed, ResolvedPublicPATCH

Description

Overscan extends the render region beyond the main image coordinates. This is a pixel value that gives you a larger image around the main image resolution. Enter any image resolution into the Overscan panel. You can also bake the Overscan settings into a new camera.

Authors: John Roper, Barnstorm VFX, Luca Scheller

The wiki page can be found: here

This is the ui:

With Overscan disabledWith Overscan enabled

This is the result:

With Overscan disabledWith Overscan enabled

Event Timeline

Please submit new code as diff (https://developer.blender.org/differential/diff/create/), it’s easier to review/comment code inline. ;)

@John Roper (johnroper100) like any other diff…

If you do not have any VCS for your work (like git, etc.), you can just do diff -aru /dev/null /path/to/CameraOverscan.py > /path/to/patch.diff, and you'll get a diff creating CameraOverscan.py into patch.diff…

Bastien Montagne (mont29) lowered the priority of this task from 90 to 30.Aug 11 2016, 12:15 PM

side note here: could we have some visual indication of what the script does?

John Roper (johnroper100) raised the priority of this task from 30 to Normal.Aug 26 2016, 10:58 PM
John Roper (johnroper100) updated the task description. (Show Details)

Scene props:

bpy.types.Scene.RO_Custom_Res_X
bpy.types.Scene.RO_Custom_Res_Y

are not deleted on unregister.

math is imported, but unused in the script.

The script name should be lower case with undescore instead of CamelCase.

I made the fixes that were needed and re-posted the file.

Sorry for the late reply.

The script had a serious issue with an infinite recursive call on update of props. Basically the update function lacked the check for previous values during assignment resulting in the following Python error:

RecursionError: maximum recursion depth exceeded in comparison

Also there was a crash with camera missing in the scene, there was some mix up with removal of props on unregister, and the prop value of resolution were undefined ( currently the max render resolution is 65536).

This should be a corrected version. Thanks to batFINGER for the help.

However, due to the migration to 2.8 (and possibly skipping 2.79 completely) i don't know when and how new add-ons will be accepted. So be patient. :)

Here is a new version with cleanups and the Bake to New Camera feature.

Sorry, that was an older version. I updated some stuff. Here is the correct version:

hi, any activity here? I would consider for addons contrib if your willing to develop there with a view to the future.

There is. what do you need me to do?

I've looked at the newest version and made some changes ( introduces a ProperyGroup for neater blend files). The basic functionality is ok and works fine, so I'm ok with the Merge.

However, before it there is one issue I'm not sure about. What the CODuplicateCamera operator does apart from copying selected objects?
If the intention is to make a new camera with the current settings of the Camera Overscan the code is not doing what is supposed to do (ie if the camera is not selected it will just copy whatever object is currently selected).

That needs fixing before the merge.

@John Roper (johnroper100)

Here are the changes to the Operator that now copies the Scene active camera only.
Also, the object as camera case is handled - that could cause a crash before.

Please, test it and see if this is the intention of the Bake Operator. If everything is alright, then the script is ready to be accepted in the Contrib IMHO.

That version is fine with me! May I have commit rights @Brendon Murphy (meta-androcto)

Would love to have the following additional ways to input the overscan:

  1. x-pixels and y pixels of overscan (with the option to link these together to retain aspect ratio)
  2. % overscan

Having to type out the specific final frame size can be difficult, especially when large values of overscan create confusion over what the original resolution is. I'd rather know, for example, that I have a 1920x1080 frame with 400 pixels of overscan in X and 200 in Y rather than seeing something like 2320x1280 in the main resolution box.

An option to see 'frame lines' for the original resolution within the overscanning camera (or the ability to retain the original frame and see frame lines *outside* for the overscan) would be great as well.

Ok, I am working on this.

Brendon Murphy (meta-androcto) changed the task status from Unknown Status to Resolved.Apr 17 2017, 5:19 AM

@John Roper (johnroper100)
hi, I've committed this to addons contrib so it can be a part of the 2.79 addons contrib pack, sorry for the late run.
It's possible we may change how contrib works in 2.8 series so I cannot guarantee the addon inclusion past 2.79 & the last of the series.
If you have any updates please post to this task or create a new task.
Thanks for your participation & welcome. We look forward to seeing you again in the 2.8 series.
Brendon.

Hi, will this addon be ported over to 2.80? It's pretty vital for anyone doing vfx work in blender and working with tracked cameras as dewarped plates.

Cheers,

Peter.


Let me know if it's working correctly

Seems to work fine, will put it through a shot tomorrow once I'm back in the studio.

Thank you so much!

What ever happened with this?I'm so glad I found this script. Definitively something that should be included with Blender. And having the possibility to decide if we want it as pixels or % is a must also. Cheers,

It works great, using it in production every day. I agree, should be included in the default set of tools.

I agree, I'd love to see this added into Blender! It's an absolute must-have for VFX. I also think Lawson's suggestions are spectacular and the ideal way to implement it.

Would love to have the following additional ways to input the overscan:

  1. x-pixels and y pixels of overscan (with the option to link these together to retain aspect ratio)
  2. % overscan

Having to type out the specific final frame size can be difficult, especially when large values of overscan create confusion over what the original resolution is. I'd rather know, for example, that I have a 1920x1080 frame with 400 pixels of overscan in X and 200 in Y rather than seeing something like 2320x1280 in the main resolution box.

An option to see 'frame lines' for the original resolution within the overscanning camera (or the ability to retain the original frame and see frame lines *outside* for the overscan) would be great as well.

I have added delta pixel and % overscan.


@Kinouti Takahiro (dskjal), this isn't working in Blender 2.91. It doesn't even show up in the Render Settings.
I'd really appreciate a fix for this! :)

@Zach Rodgers (zach) Rodgers (zach), it works in Blender 2.91 on my machine.

@Kinouti Takahiro (dskjal) Yes! Sorry, I have more info now. It seems Overscan appears when Eevee is selected as the render engine. But when you switch it over to Cycles, the Overscan settings disappear.

@Zach Rodgers (zach) Rodgers (zach), I've fixed it.

@Kinouti Takahiro (dskjal) Awesome, it works! Thank you so much. What was the issue?

@Zach Rodgers (zach) Rodgers (zach)
I've changed it from
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
to
COMPAT_ENGINES = {'CYCLES', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}.

@Kinouti Takahiro (dskjal)

Hi !
I have been using your script for quite a long time now it helps me so much, thanks.
I just figured that the script doesn't work when using a shift to the camera, do you know anything about that? or any workaround?

@Leo Louis Spence (louis) (LouiBelly)

I think it works. What kind of behavior do you expect when you shift the camera?

@Kinouti Takahiro (dskjal)

Please have a look at the picture below. It is actually working but as you can see when shifting the camera the overscan isnt "centered" to the original framing. Am I doing anything wrong?

The only way I found to fix it is to manually change the shift when using the overscan but I often have to animate it so it is really not convenient.

@Leo Louis Spence (louis) (LouiBelly)

It works as per specification. This addon changes the sensor size of a camera to achieve overscan. If you change sensor size while the camera is shifted, the margins will not be even.

It works as per specification. This addon changes the sensor size of a camera to achieve overscan. If you change sensor size while the camera is shifted, the margins will not be even.

Hi Kinouti,

I have have not been active here years, i thought i was hacked for moment, for new activity.

Leo Louis (@Leo Louis Spence (louis))

Hello @Kinouti Takahiro (dskjal)
I am using your Script on a Camera based of of a Motion Track. My beforehand calibration on my recording camera revealed a Principle Point shift. When I now press the Setup Tracking Scene a shift is added to my camera. This motion track also includes an Object Track.
If I now add an overscan (120%) and compensate the clip by setting it to a scale of 0.8 my points still move. I suspect this has to do with the shift. Do you know how I can correct the offset / what causes it?
Thank you for your help.



@benjamin (benjamin) (Phonix_64)
Try Object Tracks scale to 0.83333(1/1.20) or overscan to 125%(1/0.8).

can this be made to work in realtime also?

there are a number of ill effects with TAA and volumetrics that arise from not having realtime overscan.

@benjamin (benjamin) (Phonix_64)
Try Object Tracks scale to 0.83333(1/1.20) or overscan to 125%(1/0.8).

Hm It is still not quite there but yes made a small conversion error there thanks

This doesn't seem to work for the new alpha release of 3.0. Does anyone know how to make it work?

Updated for 3.0.

That was fast! Thanks a lot :)