david-cattermole / mayaMatchMoveSolver

A Bundle Adjustment solver for MatchMove related tasks.
https://david-cattermole.github.io/mayaMatchMoveSolver/
Other
102 stars 27 forks source link

Maya Plugin - mmMarkerScale node - Add X and Y axis overscan #127

Closed david-cattermole closed 4 years ago

david-cattermole commented 4 years ago

Feature

mmSolver currently only provides a uniform overscan value. Some studios use a non-uniform overscan value for the Maya camera's film back (and image overscan).

This will affect the Maya "Load Markers" tool, and the internal API responsible for creating the mmMarkerScale node.

Expected behavior: When creating a new Marker Group node, the overscan value should have an X and Y component.

When opening an existing scene file, the existing Marker Group nodes should not be affected and should to continue to work as they previously did.

To use the new overscan X and Y components, a new Marker must be created.

Steps to Reproduce

The creation of a marker must not change with this new feature.

  1. Create camera
  2. Change viewport to look though the camera
  3. Activate the viewport
  4. Press "create marker" tool
  5. Select newly created markerGroup1 node.
  6. Change overscan X and Y attributes in the channel box.

Software Versions

This feature should be added and supported for all supported versions.

david-cattermole commented 4 years ago

The mmMarkerScale responsible for overscan calculations has now been updated with an enum overscanMode attribute, with the default set to uniform overscan. Change this attribute to use the new overscan X and Y attributes.

The Marker Group now contains the overscan X and Y attributes by default and will automatically change the overscanMode attribute on the underlying mmMarkerScale to use X and Y overscan components.

Both the inverse and non-inverse overscan attributes have added X and Y components, just for completeness, but the non-inverse attributes are still hidden.

This is now merged into the develop branch and will be released in v0.3.2. This new feature will allow #131 to be worked on now, too.