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 Tool - Add Marker Line #120

Closed david-cattermole closed 1 year ago

david-cattermole commented 5 years ago

Feature

Create a tool to create a "Marker Line" set up. This will allow solving of lines and line up frames for cameras to be easier and faster to use.

The Marker Line set up should have:

The Marker Line should be created as a new group node with start/middle/end Markers parented under the currently selected/active camera, and a similar named group unparented containing a Bundle for each marker.

Selecting a Marker Line group node (or an individual node of the Marker Line) and pressing the "Add New Point" should add a new Marker in the middle of the line.

Each "middle" Marker should contain an attribute (with range zero to one) to allow moving the middle marker between the start (zero) and the end (one) Markers. The default created Markers should be set equal-distant apart in screen-space. The attribute should also link to the created Bundle, so it's position is equal-distant in 3D space.

Note: avoid using constraints and instead prefer using "Blend Color" nodes. Maya Constraint nodes may stop mmSolver from evaluating the Bundles and Markers.

Steps to Use

  1. Select camera, or click in the active viewport.
  2. Run tool - 5 Markers are created, Start Marker is placed on the screen-left, End Marker is placed on the screen-right, in default positions.
  3. A Marker Line setup as defined above is then created.
  4. Position the Start and End Markers.
  5. Position the Bundle group node, rotate it as needed.
  6. Position the End Bundle an accurate distance away to create a 3D line.
  7. Add the Markers to the Solver UI.
  8. Add the Bundle group TXYZ and RY to the Solver UI attributes.
  9. Add the End Bundle TZ to the Solver UI attributes

If a Maya context tool can be created, the tool should work like:

  1. Activate Viewport
  2. Run tool
  3. Click in the active viewport once, to create a Start Marker at the 2D screen-space position.
  4. Click in the active viewport again, to create an End Marker at the 2D screen-space position.
  5. A Marker Line setup as defined above is then created.
david-cattermole commented 1 year ago

Closing.

This has been released in v0.4.0, as part of the Line node and tools: https://david-cattermole.github.io/mayaMatchMoveSolver/tools_createnode.html#create-line https://david-cattermole.github.io/mayaMatchMoveSolver/tools_linetools.html