This was a series of Animation Tools requested and envisioned by Ryan Goodwin, of the ArenaNet cinematics department. The python/pymel code is original, but oftentimes the functionality was the same as or similar to mel scripts and tools he had encountered in the past. This web-page is the documentation for the tools. ArenaNet Cinematics Tools/ShelfMouse Tools Tween Dragger Tool: Hotkey and Mouse controlled This
is a Hotkey-only tool, to help with
creating keys and tweening between other poses. Values are adjusted by
dragging the mouse in the 3d viewport
(not the graph editor) while the hotkey is held down. It is recommended
that the Hot commands for mouse-dragger-context tools be set up on a single
key, so the press and hold turns it on, and the release turns it off (and
deletes it). This should prevent it from interfering with other context
tools. The mouse sensitivity value can be manually adjusted by changing
it in the command. isClamping can be set to isClamping=False
to overshoot the values. The
hotkey press command should be: The
hotkey-release should be:
Reset Dragger Tool: Hotkey and Mouse controlled This
is a Hotkey-only tool, to help with
creating keys and tweening between other poses. Values are adjusted by
dragging the mouse in the 3d viewport
(not the graph editor) while the hotkey is held down. It is recommended
that the Hot commands for mouse-dragger-context tools be set up on a single
key, so the press and hold turns it on, and the release turns it off (and
deletes it). This should prevent it from interfering with other context
tools. The mouse sensitivity value can be manually adjusted by changing
it in the command. isClamping can be set to isClamping=False
to overshoot the values. The
hotkey press command should be: The
hotkey-release should be:
Shelf
Tools
Switch Between Camera Views (orthographic) The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SwitchCameraView'), 'orthographic')
Switch Between Camera Views (perspective) The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SwitchCameraView'), 'perspective')
Switch Between Camera Views (all) The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SwitchCameraView'))
Toggle Lock Viewport Refresh This tool will toggle the viewport to be locked/unlocked, or suspend refresh. The idea is that if you are working in the graph editor and don't need to see your updates, you can disable the viewport refresh to improve performance.
To
have a hotkey that is press and hold to lock viewport, then unlock viewport
on release, set it up with these two commands: The
On Release Command for the key should
be: my.core.codex.runTool(my.core.codex.get('Cinematics_LockViewportRefresh'),isKeyPress=True,
isLocking=False)
Swap Axis Orientation This will swap the Axis of Orientation of the current tool between 'Object' and 'World' for the Move and Scale tools, and between 'Object' and 'Gimbal' for the Rotate tool. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SwapAxisOrientation'))
Toggle Nurbs Visibility (for showing/hiding rig controls) The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_ToggleShowNurbs'))
Select Translate Curves If the Graph Editor is open, then for each object selected, this will select all the Translate Curves individually by axis (X, then Y, then Z), then all Translate axis at once (XYZ). If you already have some of the same axis selected, it will try to first select all of them before moving on to the next axis type. The
tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_selectGraphEditorAttributes'),
['translateX', 'translateY', 'translateZ'], selectByPassedAttributes=True)
Select Rotate Curves If the Graph Editor is open, then for each object selected, this will select all the Rotate Curves individually by axis (X, then Y, then Z), then all Translate axis at once (XYZ). If you already have some of the same axis selected, it will try to first select all of them before moving on to the next axis type. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_selectGraphEditorAttributes'), ['rotateX', 'rotateY', 'rotateZ'], selectByPassedAttributes=True)
Select Scale Curves If the Graph Editor is open, then for each object selected, this will select all the Scale Curves individually by axis (X, then Y, then Z), then all Translate axis at once (XYZ). If you already have some of the same axis selected, it will try to first select all of them before moving on to the next axis type. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_selectGraphEditorAttributes'), ['scaleX', 'scaleY', 'scaleZ'], selectByPassedAttributes=True)
Select Similar Curves If the Graph Editor is open, then for each object selected, this will select all the Curves for the same attributes as those already selected. Multiple axis and attributes can be selected at once, depending on what is already selected. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_selectGraphEditorAttributes'), [], selectByPassedAttributes=False)
Select Keys on Current Frame This tool will select any keys on the current frame, +- a variance of .4 frames. Time variance is adjustable if hotkeyed. Current Selection will be lost. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SelectCurrentFrameKeys'), timeVariance=.4, addToSelection=False)
Add To Selection Keys on Current Frame This tool will select any keys on the current frame, +- a variance of .4 frames. Time variance is adjustable if hotkeyed. The current frame keys will be added to your current selection. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SelectCurrentFrameKeys'), timeVariance=.4, addToSelection=True)
Select In-Tangents For any keys, curves, or tangents that are selected, selection will be changed to the in-tangents of each key. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SelectTangents'), selectInTangent=True, selectOutTangent=False)
Select Out-Tangents For any keys, curves, or tangents that are selected, selection will be changed to the out-tangents of each key. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SelectTangents'), selectInTangent=False, selectOutTangent=True)
Select All-Tangents For any keys, curves, or tangents that are selected, selection will be changed to all the tangents of each key. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SelectTangents'), selectInTangent=False, selectOutTangent=True)
Toggle Between Unified and Broken Tangents This will toggle between unified and broken tangents on selected keys, tangents or curves. The
tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_ToggleTangentType'))
Toggle Between Spline, Linear and Flat Tangent Shapes This will toggle between spline, linear and flat tangents on selected keys, tangents or curves. The
tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_ToggleTangentShapes'))
Delete Keys on Current Frame This tool will delete any keys on the current frame, +- a variance of .4 frames. Time variance is adjustable if hotkeyed. If keys are selected, it will only delete the selected keys, regardless of current frame. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_DeleteCurrentFrameKeys'), timeVariance=.4)
Delete Redundant Keys If a series of selected key on a curve all have the same value, the middle keys will be deleted. Note: only keys with level tangents (value 0) will be deleted. The
tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_DeleteRedundantKeys'))
Manual Key Reduction This tool looks at the selected keys and deletes any un-selected keys within the selected range. It will also set the tangents of keys inside the range to 'auto' (but it will not change the end keys). The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_manualKeyReductionTool'))
Copy Paste for Drag (maintaining selection) This tool will copy and paste selected keys, offsetting them from the source by .5 frames, while maintaining the selection of all pasted keys. The purpose is to make it easier to drag multiple keys (even on the same curve) after pasting. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_CopyPasteKeys'))
Multi-Copy Keys Tool This
button Launches the Multi-Copy Keys Tool. Documentation for the tool is
on this page: Multi-Copy
Keys Tool
Scale Keys Tool This button Launches the Scale Keys Tool. Documentation for the tool is on this page: Scale Keys Tool
Ease Keys Tool This button Launches the Ease Keys Tool. Documentation for the tool is on this page: Ease Keys Tool
Simplify Keys Slider Tool This button Launches the Simplify Keys Tool. Documentation for the tool is on this page: Simplify Keys Slider Tool
Add Noise/Wave Tool This button Launches the Add Noise/Wave Tool. Documentation for the tool is on this page: Add Noise/Wave Tool
Hold Animation Tool This button Launches the Hold Animation Tool. Documentation for the tool is on this page: Hold Animation Tool
Hold Over Sub-Frame Tool This tool adds stepped keys on the sub-frame between the previous frame and the current frame. This is to "staple" the curve in place between frames, so there are no in-game interpolation errors between shots. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_SetHoldOverSubFrame'))
Reset Channels-Translate This will zero out the values of the translate attributes on the current frame. Suggestions are welcome for a better icon. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_ResetChannels'), 'translate')
Reset Channels-Rotate This will zero out the values of the rotate attributes on the current frame. Suggestions are welcome for a better icon. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_ResetChannels'), 'rotate')
Reset Channels-All This will reset the values of all keyable attributes on the current frame. Rotate and Translate values will be set to 0.0, Scale will be set to 1.0, and Visibility will be set to 'True'. Suggestions are extremely welcome for a better icon. The tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_ResetChannels'))
Zero Key Layer This does exactly the same thing as the Zero Key Layer on the anim layers tab on the bottom of Maya's Channel Box/Layer Editor panel. It will set a zero key for all keyframe-able attributes on an animation layer. The
tool can be hotkeyed with the command: my.core.codex.runTool(my.core.codex.get('Cinematics_ZeroKeyLayer')) Alternately, the tool can be setup to keyframe only attributes that have keys on the selected layer with the hotkey command: my.core.codex.runTool(my.core.codex.get('Cinematics_ZeroKeyLayer'), isKeyingAllAttributes=False)
|
||||||