|
Introduction
JJ_CamResize is a tool to either overscan or underscan a pre-existing camera. With jj_CamResize you can add pixels to either the top or bottom of an existing camera whilst the original camera view maintains its resolution. A common use for an overscanned camera is if you need an oversized plate in order to composite some 2D camera shake etc.
Alternatively, you can 'underscan' your camera which enables you to zoom into any area of your camera's view retaining the same point of view as your original camera - great for checking smaller objects in the distance or simply checking up on textures from the camera's viewpoint but at a much higher resolution.
- Create on 'overscanned', oversized camera adjusting x, y or both pixel dimensions
- Automatically adjusts for non-square pixels
- Retain your original camera settings and reset at any point
- Zoom in on any portion of your camera view without changing perspective
- Automatically zoom in on 'picked' objects
- Pick two points in your camera's view to define a zoom 'diagonal'
Underscan Using Pick Object
In this mode you can pick an object and the tool automatically adjusts your camera's field of view and aspect ratio to crop directly into the object - maintaining the original camera's viewpoint.
You can reset the camera to restore the original field of view.
The property page gives you the option to apply the new pixel resolution and aspect to the pass/scene directly if you need to.
|
 |
Underscan Using Pick Position
In this mode you pick two positions that effectively form the 'diagonal' of your intended crop. Once again you can reset back from here or, alternatively, use the manual sliders to tweak the position of your new frame. |
 |
Underscan PPG
The underscan PPG is pretty straightforward. Using the Top Left and Bottom Right sliders you can manually specify the diagonal area into which you want to zoom.
Pick Positions lets you pick two points that form a diagonal, again defining the area into which you want to zoom. You can use the pick tool with snap on to hook onto very specific positions if you need to.
Pick Object lets you pick a specific object and the camera will be resized to fit that object.
By default, the new resolution that your frame defines is not automatically sent to your scene resolution/pass resolution settings. Clicking Apply Resolution will do that for you. Reset Resolution will reset your scene/pass resolution settings to their original state.
|
 |
Overscan PPG
The Overscan PPG lets you tell the camera how many pixels you want the view to be stretched in both X and Y. A 1000 px stretch on X will add 500px to both sides of the image.
Once again, the scene/pass resolution settings are not automatically changed. To change them, use Apply Resolution. To restore them use Reset Resolution. |
 |
Notes on Usage and Workflow
There were/are a million different ways to implement a tool like this so it's important to understand some of the assumptions I made when scripting this plugin and to understand any workflow implications if you do decide to use it.
1. The tool is a custom operator and effectively overrides any manual control you have over Field of View, Focal Length and Aspect ratio for the camera to which it is applied. The intended workflow is that you have already tweaked and configured your camera and fixed your FoV and aspect. Once you apply this operator you can underscan or overscan the camera but you can't manually change the primary Field of View or Focal Length settings. If you need to do that, simply reset the operator, reconfigure your camera and reapply the operator.
2. It probably makes sense to always apply this operator to a duplicate of your existing camera. You don't have to since you can always reset the resized camera and remove the operator if you need to - but it might help keep things cleaner if you do.
3. If you switch from an underscanned camera to an overscanned camera all of the underscanned settings are set back to default. It's not something you'd normally be doing and the assumption is that you use the tool for one or the other, not both :-)
4. If you use a Nurbs Surface or Curve as your Pick Object target then the bounding box projected onto the camera will be the outer hull, not the resolved surface i.e. you'll have borders which you can tweak with the manual sliders.
5. Occasionally, depending on how your camera is animated, the native PickPosition command in Softimage will not report back the correct world positions for your picked positions. I'm unable to reproduce this consistently, so if you come across a scene where this happens please let me know. A workaround is to create a box that encapsulates your pick area and use Pick Object instead.
How to Install jj_CamResize
jj_CamResize is a Python script which means that you'll need a copy of Python installed on your machine and a copy of the PyWin32 extensions.
Installing Python takes a couple of minutes. Full instructions are at the top of the Autodesk Softimage wiki Python page
Once you've installed Python you just need to drag jj_CamResize.py into your plugin directory.
C:\users\xxxxx\Softimage\XSI_x.xx\Application\Plugins
Then, go to File: Plugin Manager and hit 'Update All'. The command should now be available.
To invoke the command type the following in the Script Editor:
Python:
Application.Apply_jj_camresize()
JScript/VBScript:
Apply_jj_camresize()
Bugs and Feature Suggestions
Any bugs or feature suggestions, interface changes, annoyances etc. please let me know.
Versions
Version 1.0: jj_CamResize 1.0
Original Version. Released 12th July 2009.
Julian Johnson
julian@exch.demon.co.uk
|