mmSolver.tools.createcontroller#

Create a new transform node to control an existing node.

Tool#

Create a controller transform node.

Usage:

1) Select transform node.

2) Run 'create' tool, new world-space transform is created at same
   position as input transform nodes.

3) New nodes are selected.

4) User manipulates newly created nodes.

5) Run 'bake' tool, selected transform nodes are deleted and
    animation is transfered back onto original nodes.
mmSolver.tools.createcontroller.tool.create()#

Create a controller for selected nodes.

mmSolver.tools.createcontroller.tool.remove()#

Remove selected controllers and bake data on controlled nodes.

Library#

Create a controller transform node.

Ideas:

- Have a flag to allow maintaining the relative hierarchy of the
  input transforms.

Note

If no keyframes are set, this tool works on the current frame and adds a keyframe to the controller.

mmSolver.tools.createcontroller.lib.create(nodes, current_frame=None, eval_mode=None)#

Create a Controller for the given nodes.

Parameters:
  • nodes ([str, ..]) – The nodes to create Controller for.

  • current_frame (float or int) – What frame number is considered to be ‘current’ when evaluating transforms without any keyframes.

  • eval_mode (mmSolver.utils.constant.EVAL_MODE_*) – What type of transform evaluation method to use?

Returns:

List of controller transform nodes.

Return type:

[str, ..]

mmSolver.tools.createcontroller.lib.remove(nodes, current_frame=None, eval_mode=None)#

Remove a controller and push the animation back to the controlled object.

Order the nodes to remove by hierarchy depth. This means that children will be removed first, then parents, this ensures we don’t delete a controller accidentally when a parent controller is deleted first.

Parameters:
  • nodes ([str, ..]) – The nodes to delete.

  • current_frame (float or int) – What frame number is considered to be ‘current’ when evaluating transforms without any keyframes.

  • eval_mode (mmSolver.utils.constant.EVAL_MODE_*) – What type of transform evaluation method to use?

Returns:

List of once controlled transform nodes, that are no longer controlled.

Return type:

[str, ..]

Constant#

Constant values for the create controller tool.