6年かけてAutodesk Mayaの最高のアニメーション用のショートカットキーを作り上げたかも!?

目次

経緯

いつも思う。カスタマイズしないと使い物にならないソフトウェアが多いこと多いこと。

とくに長い付き合いであるMayaもこれに当てはまる。しかも6年間。

アニメーションとその他の簡単な作業をするのだが、そのために使う機能がシェルフにもないしショートカットキーが少ないので、 シェルフにツールやコマンドを登録したり、マーキングメニューもつくらないと作業を早くすることができない。

Blender 2.8の登場は自分のショートカットキーの概念を壊してくれた。具体的にどのようなインパクトを受けたのかはこの記事に書いています。

https://amaterasu-qbb.hatenablog.com/entry/2023/04/15/233858

理想のカスタマイズというのは人によるが、今回は自分が実際に使っているアニメーションに役に立つと考えるショートカットキー、 マーキングメニュー、シェルフを紹介していきたいと思います。

ただ、Maya 2024ではアニメーション関連のショートカットキーや機能が充実してきたので、以前のバージョンだと機能しないこともあるかもしれない。 また、使っているショートカットキーが変わったりしたらこの記事をバージョン1として増やしていこうかと思います。

事前情報

この記事はWindowsに向けて書いたものです。Macの人には申し訳ないです( ゚Д゚)

以下はショートカットキーの表記です。

+というのは+の前を先に押した状態で+の後のキーを押すという意味です。

  • CTRL
  • キーボードのContorlキー
  • ALT
  • キーボードのALTキー
  • SHIFT
  • キーボードのShiftキー

  • MayaではHotkey Editorを使って設定していくので今後の表記はホットキーとします。なんかホットケーキみたいでおいしそうな名前だけれど...(*´Д`)

  • キーボードはUS配列のものとします。JISにはない記号のホットキーがあるため
  • US配列でも日本語モードにしているとキー配置や記号も変わるため使えません。English (United States)にしてください
  • この記事で紹介するホットキーは右手でマウスやペン、左手でホットキーをタイプする前提にはなりますが、記事の最後に左手でマウスやペン、右手で使うホットキーを作っていたYoutubeの人も紹介します
  • キーリマップを使うのもありとします
  • アニメーション以外の作業にはなるべく影響を与えないように作ってみました
  • すべてをホットキーに登録せずともシェルフがあるのでCustomシェルフも積極的に使っていきたい
  • Mayaはオプションメニューのウインドウをフローさせることができるので、それも使っていきたい
  • Blenderに影響を受けたホットキーもあります

結論

今回デフォルトのホットキーとカスタマイズしたホットキー合わせて分からないものを省いて全部でなんと123個( ゚Д゚)

さすがに、123個すべてを説明するのは長くなるので、自分がいいなと思ったホットキーだけを説明します。それでもキツイですが。

ブラウザ版のエクセルに書いといたホットキーとマーキングメニューのリストを貼っておきます。

1drv.ms

Hotkey Editorのホットキーの記号の表記とこの表の記号の表記が異なるので、この表では一つのキーに二つの記号がある場合、SHIFTなしで通常入力される記号の表記にします。

Hotkey Edidorでの記号表記 この表での記号表記
~ `
{ [
} ]
¥
: ;
" '
< ,
> .
? /
_ -
+ =

ホットキーの表の説明

  • Name == ホットキーの名前の事です
  • Function == 機能
  • Hotkey == 実際にアサインして使っているキー

  • 仕様頻度 == よく使うものから順に高、中、低

Name Function Hotkey 使用頻度
Toggle Weighted Tangent or Non Weighted Tangent Weighted TangentとNon Weighted Tangentの切り替え Shift + F1
Toggle Break Tangent or Unify Tangent Break TangentとUnify Tangentの切り替え Shift + F2
Toggle Lock Tangent Length or Free Tangent Length Lock Tangent LengthとFree Tangent Lengthの切り替え Shift + F3
Bookmark Manager 2 タイムスライダのブックマークマネージャーを開く `
Quick Create Time Slider タイムスライダのブックマークを手短に作成 Ctrl + `
Toggle Bookmark Visibility タイムスライダのブックマークの表示非表示切り替え Alt + `
Keyframe Tangent Marking Menu キーとタンジェントのマーキングメニュー Shift + `
Create Time Slider Bookmark 2 Create bookmarkのウインドウを立ち上げる Ctrl + Shift + `
Toggle Isolate Select 2 選択中のオブジェクト以外は非表示 Ctrl + 1
Show Hide Curve NURBSカーブの非表示切り替え Alt + 1
View Along Axis Negative Z パースのあるFrontビューにする (persp -Z) Shift + 1
Playblast Options 2 PlayBlastsのオプションメニューを開く Ctrl + 2
View Along Axis X パースのあるLeftビューにする (persp X) Shift + 2
Render Globals Window 2 Render Settingsを開く Ctrl + 3
View Along Axis Negative X パースのあるRightビューにする (persp -X) Shift + 3
Cmd Arnold MtoARender View 2 Arnold RenderViewを開く Ctrl + 4
Camera Bookmark Editor Camera Bookmark Editorを開く Ctrl + 5
Toggle use Default Material デフォルトのマテリアルで表示(テクスチャーは残る) Alt + 5
Flat Light フラットライティングモード 8
Wireframe On Shaded ワイヤーフレームの表示非表示切り替え 9
Nudge Selected keys Backward グラフエディタにて選択中のキーを1フレーム以前へ後退する Shift + 9
Look At Selection 2 選択したカメラ、ライトの視点に切り替え、移動する Ctrl + 0
Nudge Selected keys Forward グラフエディタにて選択中のキーを1フレーム以後へ進める Shift + 0
Select Tool Options Marking Menu Selectモードの切り替えマーキングメニュー Q
Select Component Tool Marking Menu Select Componentモードの切り替えマーキングメニュー Shift + Q
Quit Mayaを終了する Ctrl + Q
Quad Draw Tool Quad Draw Toolを使う Ctrl + Shift + Q
Select Polygon Tool Marking Menu Polygon選択、オブジェクト選択して右クリックと同じなマーキングメニュー Alt + Q
Translate Tool With Snap Marking Menu Translateの向きを指定することができる。長押しでマーキングメニュー W
Set key Translate Translate X, Y, Zにキーをセットする Shift + W
Insert key Translate Translate X, Y, ZにキーをInsertセットする Ctrl + Shift + W
Reset Transform Translate X, Y, Zの値を初期化する Alt + W
Rotate Tool With Snap Marking Menu Rotateの向きを指定することができる。長押しでマーキングメニュー E
Set key Rotate Rotate X, Y, Zにキーをセットする Shift + E
Poly Extrude Extrude、押し出しをする Ctrl + E
Insert key Rotate Rotate X, Y, ZにキーをInsertセットする Ctrl + Shift + E
Reset Rotate Rotate X, Y, Zの値を初期化する Alt + E
Scale Tool With Snap Marking Menu Scaleの向きを指定することができる。長押しでマーキングメニュー R
Set key Scale Scale X, Y, Zにキーをセットする Shift + R
Create Reference Referenceを開く Ctrl + R
Insert key Scale Scale X, Y, ZにキーをInsertセットする Ctrl + Shift + R
Reset Scale Scale X, Y, Zの値を初期化する Alt + R
Delete Current Bookmark 2 タイムスライダで適応中のブックマークを消す Alt + T
Delete All Bookmark 2 タイムスライダの全てのブックマークを消す Alt + Shift + T
Redo View Change カメラ、ビュー操作をやり直す Alt + Y
Blue Pencil ブルーペンシルを使う I
Invert Selection 選択を反転する Ctrl + Shift + I
Less Between フレームを減らす [
Previous View Arrangement 以前のワークスペースの変更を適用する Shift + [
Add Between フレームを追加する }
Next View Arrangement 以後のワークスペースの変更を適用する Shift + ]
Toggle Pan Zoom パンズームモードの有効無効切り替え ¥
Playback Range Anim Start End タイムスライダの範囲を全展開する Alt + ¥
Frame Time Slider Bookmark 有効中のタイムスライダのブックマークの範囲を全展開する Shift + ¥
Time Dragger Tool Time Sliderの移動 Caps (K)
Select All Marking Menu 長押しでDelete HistoryやReset Transformなどのマーキングメニュー。一回タイプするとモデルのある範囲をすべて画面に捉える A
Frame in All Views モデルのある範囲をすべて画面に捉える Shift + A (Aも可)
Show Attribute Editor or Channel Box Attribute EditorやChannel Boxを表示、切り替え Ctrl + A
Select All 全てを選択する Ctrl + Shift + A
Set Key キーをセットする S
Insert key Tool グラフに変形せずに、キーをセットする Shift + S
My Save 2 ファイル関連の操作ができるマーキングメニュー Ctrl + S
Increment And Save ファイルを連番で保存する Ctrl + Shift + S
Delete Current Key タイムスライダでの現在のキーを消す、選択範囲のキーを消す (グラフエディタではDelキーを勧める) Alt + S
Frame Selected Without Children モデルのある範囲をすべて画面に捉えるに似ている F
Frame Selected Without Children In All Views モデルのある範囲をすべて画面に捉えるに似ている Shift + F
Search Engine 機能の検索 Ctrl + F
Frame Selected In All Views モデルのある範囲をすべて画面に捉えるに似ている Ctrl + Shift + F
Repeat Last 最後に使った機能を繰り返す G
Repeat Last Action At Mouse Position 最後に使った機能をカーソルの位置で繰り返す Shift + G
Group グループ化 Ctrl + G
Toggle Visibility And Keep Selection 選択中のオブジェクトの表示非表示切り替え H
Show Selected Objects アウトライナやハイパーグラフで選択中のオブジェクトを表示する Shift + H
Hide Selected Objects アウトライナやハイパーグラフで選択中のオブジェクトを非表示する Ctrl + H
Show Last Hidden 最後に非表示したオブジェクトを表示させる Ctrl + Shift + H
Hide Unselected Objects 選択中のオブジェクト以外は非表示させる Alt + H
Show All Poly Components ポリゴンモデルを全て表示 Ctrl + Alt + H
Time Dragger Tool Time Sliderの移動 K
Playback Range Anim Start End 2 タイムスライダのブックマークの範囲を全展開する ;
Frame Time Slider Bookmark 2 タイムスライダの範囲を全展開する (')
Undo 元に戻す Z
Redo やり直し Shift + Z
Undo 元に戻す Ctrl + Z
Undo View Change ビュー変更を元に戻す Alt + Z
Activate Pose Library or Picker ポーズライブラリかピッカーを実行切り替え Alt + X
Graph Copy Key 2 キーをコピーする、ポーズのコピー (Y, Z) Ctrl + C
Create Camera From View ビューからカメラを作成する Ctrl + Shift + C
Reset Poses Translate、Rotate、Scaleをリセット Alt + C
Toggle Panel Menubar panel menu barの表示非表示切り替え Shift + M
Toggle Main Menubar top menu barの表示非表示切り替え Ctrl + M
Toggle Model Editor Bars panel tool barの表示非表示切り替え Ctrl + Shift + M
Copy Key 2 キーをコピーする、ポーズのコピー (Y, Z) Ctrl + Alt + C
Graph Paste Key 2 キーをペーストする、ポーズのペースト (Y, Z) Ctrl + V
Playback Toggle アニメーションの再生 Alt + V
Go To Min Frame 最初のフレームへ移動する Alt + Shift + V
Paste Key 2 キーをペーストする、ポーズのペースト (Y, Z) Ctrl + Alt + V
Cycle Background Color 背景色を切り替え、レンダリングには反映せず Alt + B
Previous Time Slider Bookmark 以前のタイムスライダのブックマークへ移動 ,
Shrink Polygon Selection Region 選択中のポリゴンの選択範囲を縮小する Shift + ,
Prev Skin Paint Mode 以前のSkin Paint Modeを使う Ctrl + ,
Shrink Loop Polygon Selection Region 選択中のエッジループの選択範囲を縮小する Ctrl + Shift + ,
Previous Blue Pencil Frame 以前のBlue Pencilを書き込んだフレームへ移動 Alt + Shift + ,
Next Time Slider Bookmark 以後のタイムスライダのブックマークへ移動 .
Next Skin Paint Mode 次のSkin Paint Modeを使う Ctrl + .
Grow Polygon Selection Region 選択中のポリゴンの選択範囲を拡大する Shift + .
Grow Loop Polygon Selection Region 選択中のエッジループの選択範囲を拡大する Ctrl + Shift + .
Next Blue Pencil Frame 以後のBlue Pencilを書き込んだフレームへ移動 Alt + Shift + .
Next Key 以後のキーへ移動 Up
Increase Key Value キーの値を上昇させる Shift + Up
Next Blue Pencil Frame 2 以後のBlue Pencilを書き込んだフレームへ移動 Ctrl + Up
Next Time Slider Bookmark 2 以後のタイムスライダのブックマークへ移動 Alt + Up
Previous Key 以前のキーへ移動 Down
Decrease Key Value キーの値を下降させる Shift + Down
Previous Blue Pencil Frame 2 以前のBlue Pencilを書き込んだフレームへ移動 Ctrl + Down
Previous Time Slider Bookmark 2 以前のタイムスライダのブックマークへ移動 Alt + Down
Previous Frame 以前のフレームへ移動 Left
Nudge Selected Keys Backward 2 グラフエディタにて選択中のキーを1フレーム以前へ後退する Shift + Left
Select Prevous Key 2 以前のキーを一つ選択 Ctrl + Left
Frame Previous Time Slider Bookmark 2 以前のタイムスライダのブックマークの範囲を全展開する Alt + Left
Next Frame 以後のフレームへ移動 Right
Nudge Selected Keys Forward 2 グラフエディタにて選択中のキーを1フレーム以後へ進める Shift + Right
Select Next Key 2 以後のキーを一つ選択 Ctrl + Right
Frame Next Time Slider Bookmark 2 以後のタイムスライダのブックマークの範囲を全展開する Alt + Right
Show Hotbox ビューやメニューを開けるマーキングメニュー Space
Toggle Zoom In Mode よくわからない Shift + Space
Toggle Full Screen Mode 画面からメニュー等を小さくして表示画面を大きくする Ctrl + Space

ホットキーの紹介、説明、作った理由や由来など

Toggle Weighted Tangent or Non Weighted Tangent

Name:

ToggleWeightedTangentorNonWeightedTangent

Description:

Toggle Weighted Tangent Or Non Weighted Tangent

Language:

Python

Code by

9boz, @Kahylan, amaterasu-qbb Code by 9boz and @Kahylan and amaterasu-qbb Toggle Weighted Tangent or Non Weighted Tangent

import maya.cmds as cmds

# Toggle Weighted Tangent, Non-Weighted Tangents.
cmds.keyTangent(e = True, wt = not(cmds.keyTangent(q = True, wt = True)[0]))

選択したカーブをWeighted TangentかNon Weighted Tangentに切り替えられる。 切り替わった目印として、キーの形が□から◇に変わる。コントローラーの先端が□から△に変わる。

  • Weighted Tangent

Weighted Tangent

  • Non Weighted Tangen

Non Weighted Tangent

ただしWeighted TangentからNon Weighted Tangentに切り替えると編集したカーブの形が変わってしまうのと元のカーブの形を維持できないので、元に戻すにはUndoしてください。

Toggle Break Tangent or Unify Tangent

Name:

ToggleBreakTangentorUnifyTangent

Description:

Toggle Break Tangent or Unify Tangent

Language:

Python

Code by

9boz, @Kahylan, amaterasu-qbb Code by 9boz and @Kahylan and amaterasu-qbb Toggle Break Tangent or Unify Tangent

import maya.cmds as cmds

# Toggle Break Tangent, Unify Tangents.
cmds.keyTangent(e = True, l = not(cmds.keyTangent(q = True, l = True)[0]))

選択したカーブがWeighted TangentやNon Weighted Tangentでも実行できる。 切り替わった目印として、キーから派生した線が点線だったり実線だったりする。

  • キーから派生したコントローラーが点線なら、Break Tangent

Break Tangent, Non Weighted Tangent

Break Tangent, Weighted Tangent

  • キーから派生したコントローラーが実線なら、Unify Tangent

Unify Tangent, Non Weighted Tangent

Unify Tangent, Weighted Tangent

  • Break Tangentにした場合、両方または片方のカーブのウェイトや角度を調整する。
  • Unify Tangentにした場合、両方同時にカーブのウェイトや角度を調整する。
  • Break TangentとUnify Tangentを切り替えてもカーブの変化はありません。調整の仕方が変わるだけです。

Toggle Lock Tangent Length or Free Tangent Length

Name:

ToggleLockTangentLengthorFreeTangentLength

Description:

Toggle Lock Tangent Length or Free Tangent Length

Language:

Python

Code by

9boz, @Kahylan, amaterasu-qbb Code by 9boz and @Kahylan and amaterasu-qbb Toggle Lock Tangent Length or Free Tangent Length

import maya.cmds as cmds

# Toggle Lock Tangent Length or Free Tangent Length.
cmds.keyTangent(e = True, wl = not(cmds.keyTangent(q = True, wl = True)[0]))

Non Weighted Tangentだとホットキーは機能しない。Weighted Tangentに切り替えて、 Break TangentかUnify Tangentの状態でホットキーを入力する。 切り替わった目印として、キーから派生したコントローラーの色が白か黒だったりする。

Free Tangent Lengthでは、両方のコントローラーの長さの比率と向きを調整します。

Lock Tangent Lengthでは、両方のコントローラーの長さの比率を固定して向きを調整します。

  • Free Tangent LengthとLock Tangent Lengthを切り替えてもカーブの変化はありません。調整の仕方が変わるだけです。

  • キーから派生したコントローラーがであれば、Free Tangent Length

Free Tangent Length

  • キーから派生したコントローラーがであれば、Lock Tangent Length

Lock Tangent Length

Bookmark Manager 2

Name:

BookmarkManager2

Description:

Opens the Bookmarks manager for editing all Bookmarks.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.bookmarkManager import showBookmarkManager; showBookmarkManager()");}

Time Sliderのブックマークはここ最近良いなーと感じているツールになってきている。 ただ、アニメーション作成している段階でブックマークを1フレームも抜かりなく登録することはできないなーとも思っている。

そこで、Bookmark Manager 2の出番。

Bookmark Editor

Bookmark Manager 2でできること。

  • sets the playback range to the previous Bookmark's start and end time.
    • 以前のタイムスライダのブックマークの範囲を全展開する (Alt + Left)
  • sets the playback range to the current Bookmark's start and end time.
    • タイムスライダのカーソルがあるブックマークの範囲を全展開する
  • sets the playback range to the next Bookmark's start and end time.
    • 以後のタイムスライダのブックマークの範囲を全展開する (Alt + Right)
  • Turns Bookmark visibility on or off.
    • タイムスライダのブックマークの表示非表示切り替え (Alt + `)
  • Frame all bookmarks
    • タイムスライダにある全てのブックマークの範囲を全展開する
  • Delete all existing bookmark in the scene
    • タイムスライダの全てのブックマークを削除する
  • Color
    • 色を編集
  • Name
    • 名前を編集
  • Start
    • タイムスライダのブックマークの始まりのフレームを指定する
  • End
    • タイムスライダのブックマークの終わりのフレームを指定する
  • Sets the current Bookmark's start and end frame to the selected range on the Time Slider.
    • タイムスライダのカーソルのある位置でブックマークの始まりのフレームと終わりのフレームを指定する
    • ブックマークの始まりのフレームを指定するには、Startをあらかじめクリックしておいた状態でボタンを押す
    • ブックマークの終わりのフレームを指定するには、Endをあらかじめクリックしておいた状態でボタンを押す
  • sets the playback range to the current Bookmark's start and end time.
    • 作成したタイムスライダのブックマークの範囲を全展開する
  • Deletes the Bookmark at the current time.
    • タイムスライダのカーソルのある位置のブックマークを削除する
  • Add
    • ブックマークを新規作成

Quick Create Time Slider Bookmark 2

Name:

QuickCreateTimeSliderBookmark2

Description:

Create a new Time Slider Bookmark from selection.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import createBookmark; createBookmark()");}

タイムスライダの選択している範囲でブックマークを作成する。作成しますか?的なプロンプトが立ち上がらないのですぐに作れる。 色は決められない代わりに後から変更すればいい。

タイムスライダから範囲を指定して…

作成された。色は勝手につく。

ただ自分の場合このホットキーを使うと次のようなエラーメッセージが。

# Error: line 1: TypeError: file C:\Program Files\Autodesk\Maya2024\Python\lib\site-packages\maya\plugin\timeSliderBookmark\timeSliderBookmark.py line 55: Invalid argument 1, ''. Expected arguments of type time

このエラーについて何か分かった人はできれば、Autodesk Mayaフォーラムで教えてください。

forums.autodesk.com

Toggle Bookmark Visibility 2

Name:

ToggleBookmarkVisibility2

Description:

Turns Bookmark visibility on or off.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import toggleBookmarkVisibility; toggleBookmarkVisibility()");}

Bookmark Manager 2のTurns Bookmark visibility on or offと一緒。タイムスライダのブックマークの表示非表示切り替えする。 削除はされておらず、存在している。

タイムスライダのブックマークが表示されている

非表示になった(存在はしている)

Keyframe Tangent Marking Menu

Name:

KeyframeTangentMarkingMenu

Description:

Keyframe and tangent marking menu

Language:

Mel, Marking Menu

Code by

Autodesk

buildKeyframeTangentMM

こういうマーキングメニュー。

Keyframe Tangent Marking Menu

左側のKeysに行けば、アニメーションキーに関してのメニューが表示される

Keysのメニュー

右側のTangentsに行けば、アニメーションカーブに関してのメニューが表示される

Tangentsのメニュー

個人的には、アニメーションキーに関してのメニューで使わなかった、Convert to BreakdownとConvert to Keyを除いてホットキーにしたし、 アニメーションカーブに関してのメニューはこっちのが早い気がする。

これでよくね?

Create Time Slider Bookmark 2

Name:

CreateTimeSliderBookmark2

Description:

Create a new Time Slider Bookmark from selection.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.bookmarkManager import CreateBookmarkDialog; cb = CreateBookmarkDialog(); cb.show()");}

こういうプロンプトでタイムスライダのブックマークを作る。Bookmark Editorと似たもの。

Create Time Slider Bookmark 2

Toggle Isolate Select 2

Name:

ToggleIsolateSelect2

Description:

Toggle isolate select in active panel

Language:

Mel

Code by

Autodesk

{  string $currentPanel = `getPanel -withFocus`;   int $match = `gmatch $currentPanel "modelPanel*"`;   if($match == 1) {    string $state = `isolateSelect -q -state $currentPanel`;    if ($state)      enableIsolateSelect $currentPanel false;    else      enableIsolateSelect $currentPanel true;  }}

選択しているオブジェクトを表示非表示切り替えできる。Hideとは違って、非表示にするとOutlinerでmodelPanel4ViewSelectedSetというのが作成される。 再度表示するとこのmodelPanel4ViewSelectedSetが消える。

レイヤーを使って非表示にすればとも思うけど、わざわざレイヤーで非表示にするほどでもないこともあるし、今の所このホットキーは良い。

Show Hide Curve

Name:

ShowHideCurve

Description:

Show Hide Curve

Language:

Python

Code by

Patrick Gamble Code by Patrick Gamble Show & Hide NURBS Curves in MAYA Hotkey

@mspeer, @stuzzz, amaterasu-qbb Code by @mspeer and @stuzzz and amaterasu-qbb Show Hide Curve

# Show hide curves in python
import maya.cmds as cmds

activePanel = cmds.getPanel(withFocus=True)

if cmds.modelEditor(activePanel, query=True, nurbsCurves=True):
    cmds.modelEditor(activePanel, edit=True, nurbsCurves=False)

else:
    cmds.modelEditor(activePanel, edit=True, nurbsCurves=True)

これが一番思い入れがあるコードで初めてコードを書こうと思ったのはMaya 2019で、当時は専門学生でMayaのプログラミングの授業があった。 アニメーション再生時にNURBSコントローラーがずっと表示していたもんだから、消してやろうと思って検索したのがきっかけになった。

先に2018年にMELでPatrick Gambleさんによって作られた。Patrick Gambleさんのコードを自分がPythonにし直して、Autodesk Maya Forumで修正を頼んだ。 Pythonの練習として初めてオリジナルのコードを協力を得て作った経験になった。

このコードはNURBSカーブを全て表示非表示切り替えすることができる。使ってくれると嬉しいです。

View Along Axis Negative Z

Name:

ViewAlongAxisNegativeZ

Description:

View along negative Z axis

Language:

Mel

Code by

Autodesk

string $panel = `getPanel -withFocus`;  string $camera = `modelEditor -q -camera $panel`;  viewSet -vnz $camera; 

前の視点にする。パースペクティブで前側から見ることができる。 HotboxでFront (-Z)を見て、Alt + Pでパースペクティブにする事もできるがカメラを動かした後は、 View>View Along Axis>-Zを実行しないとOrtho (平面)に戻らない。

なのでこのホットキーが手軽で、パースペクティブで左側から見ることができる。全モデルが映らない場合はFかAを押す。

ViewCubeを使えばいいといえばその通りだけど、自分はViewCubeが邪魔に思えるので非表示にしている。

Playblast Options 2

Name:

PlayblastOptions2

Description:

Playblast options

Language:

Mel

Code by

Autodesk

performPlayblast true

Playblastのオプションメニューを開く。とても届きやすい位置なのでディ・モールトいい。

View Along Axis X

Name:

ViewAlongAxisX

Description:

View along X axis

Language:

Mel

Code by

Autodesk

string $panel = `getPanel -withFocus`;  string $camera = `modelEditor -q -camera $panel`;  viewSet -vx $camera; 

左の視点にする。パースペクティブで左側から見ることができる。全モデルが映らない場合はFかAを押す。

Render Globals Window 2

Name:

RenderGlobalsWindow2

Description:

Change rendering attributes

Language:

Mel

Code by

Autodesk

unifiedRenderGlobalsWindow

Render Settingを開く。

View Along Axis Negative X

Name:

ViewAlongAxisNegativeX

Description:

View along negative X axis

Language:

Mel

Code by

Autodesk

string $panel = `getPanel -withFocus`;  string $camera = `modelEditor -q -camera $panel`;  viewSet -vnx $camera; 

右の視点にする。パースペクティブで右側から見ることができる。全モデルが映らない場合はFかAを押す。

Cmd Arnold MtoARender View 2

Name:

cmdArnoldMtoARenderView2

Description:

Open the Arnold RenderView window

Language:

Python

Code by

Autodesk

import mtoa.ui.arnoldmenu;mtoa.ui.arnoldmenu.arnoldOpenMtoARenderView()

Arnoldレンダリングのウインドウが開く。それだけ。個人にはレンダリングあまりしないのでこれでヨシ!

Camera Bookmark Editor

Name:

CameraBookmarkEditor

Description:

open camera bookmark editor

Language:

Mel

Code by

dinofiguera Code by dinofiguera Camera Bookmark Editor

  • マウスでいちいち開くのが面倒くさいからコーディングを依頼した
global proc string openBookmarkEditor() {
 
global string $gMainPane;
 
string $mainPaneCtls[];
string $visPanels[];
string $panelName;
string $panelCtl, $edCtl;
string $modelEd;
int    $nArr;
int    $i;
string $newViewFound;
string $newView;
 
//
//  First try to find something in the main pane.
//
if ($gMainPane != "") {
 
 
$mainPaneCtls = `paneLayout -q -ca $gMainPane`;
$nArr = size($mainPaneCtls);
for ($i = 0; $i < $nArr; $i++) {
$panelName = `getPanel -containing $mainPaneCtls[$i]`;
if ("" != $panelName) {
if ("modelPanel" == `getPanel -to $panelName`) {
if (!`control -q -io $mainPaneCtls[$i]`) {
$modelEd = `modelPanel -q -modelEditor $panelName`;
if ("" != $modelEd) {
 
if (`modelEditor -q -activeView $modelEd`)
{
$newView = $modelEd;
string $camera = `modelPanel -q -camera $newView`;
cameraBookmarkEditor $camera;
print $camera;
break;
}
}
}
}
}
}
}
return $newView;
}
 
openBookmarkEditor();

有効になっているカメラビューでブックマークエディタをひらいて、カメラブックマークを設定できる。

Camera Bookmark Editor

Camera Bookmark Editorでできること。

  • Name
    • 名前を入力
  • Description
    • 説明文を入力
  • Apply
    • 作成
  • Add to Shelf
    • シェルフに登録
  • New Bookmark
    • 新しいカメラブックマークを作成
  • New 2D Bookmark
    • 2D Pan/Zoomの状態のカメラブックマークを作成
  • Delete
    • 削除

Toggle use Default Material

Name:

ToggleUseDefaultMaterial

Description:

Toggle use default material

Language:

Mel

Code by

Autodesk

{
    string $currentPanel = `getPanel -underPointer`;
    if ("" == $currentPanel) {
        $currentPanel = `getPanel -withFocus`;
    }
    if ("" != $currentPanel) {
        string $panelType = `getPanel -typeOf $currentPanel`;
        if ($panelType ==  "modelPanel") {
              int $usingDefaultMaterial = `modelEditor -query -useDefaultMaterial $currentPanel`;
            modelEditor -edit -useDefaultMaterial (1 - $usingDefaultMaterial) $currentPanel;
        } 
    }
}

デフォルトのマテリアルの見え方に変える。元のマテリアルは消えていないので、もう一度ホットキーを入力すると元に戻る。

テクスチャーがロストしたようにも見えるときがあるのでその時は、6キーでテクスチャーを再度表示される。

自分は最初にアニメーションを付けるときはこれを使ってテクスチャーに惑わされないようにする。というのは、テクスチャーがあるとキャラクターが良く見えて、その効果で、錯覚でいいアニメーションが付けられたと感じてしまうし動きに目が慣れやすいので微少の調整がしずらい。本当にいいアニメーションはテクスチャーなしデフォルトのマテリアルでも見栄えする。

Animation MentorのStewart。デフォルトのマテリアルで見た時。

Flat Light

Name:

FlatLight

Description:

Flat Light

Language:

Mel

Code by

Autodesk

string $current_panel = `getPanel -withFocus`;
modelEditor -e -dl flat $current_panel;

フラットライティングでキャラクターデザインを残しつつ、シルエットを確認することができる。 Use All Lightsをオフにした時との違いは全部真っ黒に表示してシルエットだけを見れる。

自分はUse All Lightsをオフにした時とフラットライティングでアニメーションのクオリティーをチェックしている。(目慣れ対策として)

元の表示に戻したい場合は5を押してください。

Wireframe On Shaded

Name:

FlatLight

Description:

Flat Light

Language:

Mel

Code by

Unknown Code by Unknown Wireframe On Shaded

Rhino Code by Rhino Wireframe On Shaded

  • Mel (Unknown)
string $selectedPanel = `getPanel -wf`;
int $shadedWireState = `modelEditor -q -wos $selectedPanel`;
if(`modelEditor -ex $selectedPanel`)
{
    setWireframeOnShadedOption (!$shadedWireState) $selectedPanel;
}
# -*- coding: utf-8 -*-
import maya.cmds as cmds

currentPanel = cmds.getPanel( wf =True )
panelType = cmds.getPanel( to=currentPanel )
if( panelType ==  "modelPanel" ):
    state = cmds.modelEditor( currentPanel, q=True, wos=True )
    if( state == True ):
        cmds.modelEditor( currentPanel, e=True, wos=False )
    else:
        cmds.modelEditor( currentPanel, e=True, wos=True )

MelのWireframe On Shadedのオリジナルのコードの作者を探しましたが見つからず。junkiさんのJunki The Junkie's Junkyardというブログと同じく、自分も出所を見つけることができませんでした。

PythonのWireframe On Shadedは、Rhinoさんが作成したものです。そちらも紹介したかったのでしました!ありがとうございます。(`・ω・´)

StewartをWireframe On Shadedした

Nudge Selected keys Backward

Name:

NudgeSelectedKeysBackward

Description:

Will move selected keys in the graph editor backward in time (to the left)

Language:

Mel

Code by

Autodesk

keyframe -e -iub true -animation keys -r -o over -tc -1

グラフエディタで選択中のキーを左へ移動

Look At Selection 2

Name:

LookAtSelection2

Description:

Look At Selection

Language:

Mel

Code by

@Abdulla-Qaladzay Code by @Abdulla-Qaladzay lookAtSelection

string $lookAt_01[]=`ls -sl`;
if (size($lookAt_01)==0){
warning "pleas select a light or a camera or a compatable object";
}else {lookThroughModelPanelClipped $lookAt_01[0] modelPanel4 0.001 1000;}

選択したものの視点になる。例えば、Cam1からCam2にしたいときはCam2を選択してホットキーを入力するとCam2の視点になる。 Spot LightやCameraに使うといいかも。

Nudge Selected keys Forward

Name:

NudgeSelectedKeysForward

Description:

Will move selected keys in the graph editor forward in time (to the right)

Language:

Mel

Code by

Autodesk

keyframe -e -iub true -animation keys -r -o over -tc 1

グラフエディタで選択中のキーを右へ移動

Select Tool Options Marking Menu

Name:

SelectToolOptionsMarkingMenu

Description:

Select tool options marking menu

Language:

Mel

Code by

Autodesk

buildSelectMM

Transform Constraints

Selection Constraints

Symmetry Submenu

Select Submenu

Soft Select Submenu

こういうマーキングメニュー。 UVを良い感じに選択するには、Tool SettingsからAngleを30に設定するといいです。また、Ctrl + Shift + 右クリックでも同じマーキングメニューが表示されます。

Select Component Tool Marking Menu

Name:

SelectComponentToolMarkingMenu

Description:

Select tool component marking menu

Language:

Mel

Code by

Autodesk

buildSelectComponentMM

Select Component Tool Marking Menu

Points Submenu

Parm Points Submenu

Lines Submenu

Pivots Submenu

Misc Submenu

全く使ったことがないマーキングメニュー。何に置き換えようか検討中。

Quit

Name:

Quit

Description:

Exit Maya

Language:

Mel

Code by

Autodesk

play -state off; evalDeferred("quit")

Quit

デフォルトのホットキー。Mayaを終了するorキャンセルの選択肢がある。 自分はAlt + F4をよく使います。MayaがフリーズしたらCtrl + Shift + Escでタスクを閉じます。

Quad Draw Tool

Name:

dR_quadDrawTool

Description:

Quad Draw Tool

Language:

Mel

Code by

Autodesk

dR_DoCmd("quadDrawTool")

Quad Draw Toolのアイコン

トポロジー用のツール。

Select Polygon Tool Marking Menu

Name:

SelectPolygonToolMarkingMenu

Description:

Select tool polygon marking menu

Language:

Mel

Code by

Autodesk

buildPolyMM

Select Polygon Tool Marking Menu

こういうマーキングメニュー。存在感が薄いマーキングメニューだなー。 オブジェクトモードでオブジェクトを選択、右クリック、マーキングメニューの方が機能が豊富。

機能が豊富。

Translate Tool With Snap Marking Menu

Name:

TranslateToolWithSnapMarkingMenu

Description:

Translate tool with snap marking menu

Language:

Mel

Code by

Autodesk

buildTranslateMM

Translate tool with snap marking menu

W短く押すとMove Tool。

Wキー長押しでマーキングメニュー。 よくありがちなのが気が付かないうちにマーキングメニューを操作して、おかしくなることがある。

変な動きになる前に、一番下のMove Optionを押して、Tool Settingsを開いてリセットしておこう。

それからW短く押してMove Toolを使おう。

Set key Translate

Name:

SetKeyTranslate

Description:

Sets a keyframe on all translate (T) channels that are selected.

Language:

Mel

Code by

Autodesk

setKeyframe -at translate

TranslateのX, Y, Zにキーを打つ。個人的には使わない。Sキーをよく使う。 Translateだけで十分なものでも自分だったらSキーで全てにセットキーして、 Static Channelがあれば、Edit>Delete All by Type>Static Channelsを実行すればいいだけだし。 因みに、Static Channelていうのは、変化のないカーブのこと。

Static Channelを消す

Insert key Translate

Name:

InsertKeyTranslate

Description:

Insert a keyframe on all translate (T) channels that are selected.

Language:

Mel

Code by

Autodesk

setKeyframe -insert -at translate

すでにあるカーブの形を崩さずに、TranslateのX, Y, Zにキーを打つ。個人的には使わない。 Insert key Toolの方をよく使う。

Reset Translate

Name:

ResetTranslate

Description:

Reset Translate

Language:

Python

Code by

Abdulla-Qaladzay Code by Abdulla-Qaladzay mel vestion

amaterasu-qbb Code by amaterasu-qbb Reset transform

  • Mel_1 (Abdulla-Qaladzay)
//mel version
move -ls 0 0 0;
  • Mel-2 (Abdulla-Qaladzay)
//MEL version
string $araSelect[]=`ls -sl`;
for($all_c in $araSelect){
    setAttr ($all_c+".translateX") 0;
    setAttr ($all_c+".translateY") 0;
    setAttr ($all_c+".translateZ") 0;
}

Python (amaterasu-qbb)

import maya.cmds as cmds

#Reset transform
cmds.move(0, 0, 0, ls=True)

このホットキーの由来はBlenderからインスパイアされたものです。

Reset Translateは、Transform X, Y, Zを全て0にし、原点に戻す。

キャラクターのリグの場合は原点にはいかないで、Translateを0にするだけ。

Rotate Tool With Snap Marking Menu

Name:

RotateToolWithSnapMarkingMenu

Description:

Rotate tool with snap marking menu

Language:

Mel

Code by

Autodesk

buildRotateMM

Rotate Tool With Snap Marking Menu

E短く押すとRotate Tool。

Eキー長押しでマーキングメニュー。 よくありがちなのが気が付かないうちにマーキングメニューを操作して、おかしくなることがある。

変な動きになる前に、一番下のRotate Optionを押して、Tool Settingsを開いてリセットしておこう。

それからE短く押してRotate Toolを使おう。

もっと角度微調整できるようにとAutodesk Mayaのアイデア提案している。 よかったらVote押してください。

https://forums.autodesk.com/t5/maya-ideas/i-want-step-snaps-from-1-100-to-1-1000-for-fine-tuning-move/idi-p/12089058

Set key Rotate

Name:

SetKeyRotate

Description:

Sets a keyframe on all rotate (R) channels that are selected.

Language:

Mel

Code by

Autodesk

setKeyframe -at rotate

RotateのX, Y, Zにキーを打つ。個人的には使わない。Sキーをよく使う。

あとは、Set key Translateで書いた通り。

Poly Extrude

Name:

PolyExtrude

Description:

Extend new vertices/edges/faces from existing spots on a mesh.

Language:

Mel

Code by

Autodesk

performPolyExtrude 0

押し出し。それだけ(´・ω・`)

もう一言加えるなら、Tキーを押すと押し出しを調整するパラメーターがたくさんあるUIが立ち上がって、 微調整が可能になる。UIの大きさもSmall、Medium, Largeから選べる。 また、Copy Attribute、Paste Attributeによって、同じ値で実行することができる。(他にも使えるToolがある) 先にCopy Attributeして、どっか選んでPaste Attributeすればいい。個人的には、Face選択モードでMove ToolでShift + 右クリックでやる派。

パラメーター

Insert key Rotate

Name:

InsertKeyRotate

Description:

Insert a keyframe on all rotate (R) channels that are selected.

Language:

Mel

Code by

Autodesk

setKeyframe -insert -at rotate

すでにあるカーブの形を崩さずに、RotateのX, Y, Zにキーを打つ。個人的には使わない。 Insert key Toolの方をよく使う。

Reset Rotate

Name:

ResetRotate

Description:

Reset Rotate

Language:

Python

Code by

amaterasu-qbb Code by amaterasu-qbb Reset rotate

import maya.cmds as cmds

#Reset rotate
cmds.rotate(0, 0, 0)

このホットキーの由来はBlenderからインスパイアされたものです。

Reset Rotateは、Rotate X, Y, Zを全て0にします。キャラクターも同様に。

Scale Tool With Snap Marking Menu

Name:

ScaleToolWithSnapMarkingMenu

Description:

Scale tool with snap marking menu

Language:

Mel

Code by

Autodesk

buildScaleMM

Scale Tool With Snap Marking Menu

R短く押すとScale Tool。

Rキー長押しでマーキングメニュー。 よくありがちなのが気が付かないうちにマーキングメニューを操作して、おかしくなることがある。

変な動きになる前に、一番下のScale Optionを押して、Tool Settingsを開いてリセットしておこう。

それからR短く押してScale Toolを使おう。

Set key Scale

Name:

SetKeyScale

Description:

Sets a keyframe on all scale (S) channels that are selected.

Language:

Mel

Code by

Autodesk

setKeyframe -at scale

ScaleのX, Y, Zにキーを打つ。個人的には使わない。Sキーをよく使う。

あとは、Set key Translateで書いた通り。

Create Reference

Name:

CreateReference

Description:

Create a reference

Language:

Mel

Code by

Autodesk

preCheckColorManagement(); projectViewer Reference; checkColorManagementMissingColorSpaces();

アニメーションに使うリグは基本的にはインポートではなく、リファレンスを使おう。 元データのリグをリファレンスで読み込んでおけば、リグがおかしくなってアニメーションを最初からし直さなければいけないなんてことがなくなる。 まあ、Mayaのソフトの突然のクラッシュという恐怖にも覚悟を決めておかないといけないよね。

どっかのスタジオに入ったら、背景もインポートで読み込んでいるのか?リファレンスで読み込んでいるのか?皆さんに報告したい。自分も気になっている一人です。

Insert key Scale

Name:

InsertKeyScale

Description:

Insert a keyframe on all scale (S) channels that are selected.

Language:

Mel

Code by

Autodesk

setKeyframe -insert -at scale

すでにあるカーブの形を崩さずに、ScaleのX, Y, Zにキーを打つ。個人的には使わない。 Insert key Toolの方をよく使う。

Reset Scale

Name:

ResetScale

Description:

Reset Scale

Language:

Python

Code by

amaterasu-qbb Code by amaterasu-qbb Reset rotate

import maya.cmds as cmds

#Reset scale
cmds.scale(1, 1, 1)

このホットキーの由来はBlenderからインスパイアされたものです。

Reset Rotateは、Rotate X, Y, Zを全て1にします。キャラクターも同様に。

0にすると存在が見えなくなるので1にしている。

Delete Current Bookmark 2

Name:

DeleteCurrentBookmark2

Description:

Deletes the Bookmark at the current time.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import deleteBookmarkAtCurrentTime; deleteBookmarkAtCurrentTime()");}

タイムスライダのカーソルのある位置のブックマークを削除する

Delete All Bookmark 2

Name:

DeleteAllBookmarks2

Description:

Deletes all existing bookmarks in the scene

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import deleteAllBookmark; deleteAllBookmark()");}

タイムスライダの全てのブックマークを削除する

Redo View Change

Name:

RedoViewChange

Description:

Redo View Change

Language:

Mel

Code by

Autodesk

{  string $currentPanel = `getPanel -withFocus`;   string $hyperGraphEditor = $currentPanel + "HyperGraphEd";   if (`hyperGraph -ex $hyperGraphEditor`) {      HyperGraphPanelRedoViewChange;  } else {      ModelingPanelRedoViewChange;  }}

ヴュー操作をRedoする。Cameraを作成してカメラショットをいじったときに便利。

Blue Pencil

Name:

OpenBluePencil

Description:

Open the Blue Pencil toolbar

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("bluePencil")){bpOpenMenu;}

ブルーペンシルが使える。ただし、Creativeでは使えない。 出番は少ないけど自分でこうしたらいいよねっていうのが書き込めるのでいい。ゴースト機能もある。

Invert Selection

Name:

InvertSelection

Description:

Invert selection

Language:

Mel

Code by

Autodesk

invertSelection

選択を反転する

Less Between

Name:

LessBetween

Description:

Less Between

Language:

Mel

Code by

Autodesk

timeSliderEditKeys removeInbetween;

このコードを知ったのは、わかすぎりょうさんのブログで知りました。わかすぎりょうさん、ありがとうございます。 https://ryowaks.com/usefultools-add-remove-frame/

実際に使っていて、とても便利です。Nudge Selected Keys Backwardとも組み合わせるといい感じです。

Previous View Arrangement

Name:

Unknown

Description:

Unknown

Language:

Mel

Code by

Autodesk

Unknown

Hotkey Editorでは存在が確認できるけど詳細は見つかりませんでした。 Panels>Layoutsにあります。

以前のワークスペースの変更を適用する

Add Between

Name:

AddBetween

Description:

Add Between

Language:

Mel

Code by

Autodesk

timeSliderEditKeys addInbetween;

このコードも、わかすぎりょうさんのブログで知りました。わかすぎりょうさん、ありがとうございます。 https://ryowaks.com/usefultools-add-remove-frame/

実際に使っていて、とても便利です。Nudge Selected Keys Forwardとも組み合わせるといい感じです。

Next View Arrangement

Name:

Unknown

Description:

Unknown

Language:

Mel

Code by

Autodesk

Unknown

Hotkey Editorでは存在が確認できるけど詳細は見つかりませんでした。 Panels>Layoutsにあります。

以後のワークスペースの変更を適用する

Toggle Pan Zoom

Name:

TogglePanZoomPress

Description:

Activate camera 2D Pan/Zoom

Language:

Mel

Code by

Autodesk

activatePanZoom;

2Dパンズームを切り替えます。

Playback Range Anim Start End, Playback Range Anim Start End 2

Name:

PlaybackRangeAnimStartEnd

Description:

Set playback range to animation time range

Language:

Mel

Code by

Autodesk

evalEcho playbackOptions -e -min `playbackOptions -q -ast` -max `playbackOptions -q -aet` 

タイムスライダの範囲を全展開します。

Frame Time Slider Bookmark, Frame Time Slider Bookmark 2

Name:

FrameTimeSliderBookmark

Description:

Sets the playback range to the current Bookmark's start and end time.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import frameBookmarkAtCurrentTime; frameBookmarkAtCurrentTime()");}

タイムスライダのカーソルがあるブックマークの範囲を全展開する

Time Dragger Tool

Name:

TimeDraggerToolActivate

TimeDraggerToolDeactivate

Description:

Activate virtual Time Slider

Deactivate virtual Time Slider

Language:

Mel

Code by

Autodesk

  • TimeDraggerToolActivate
storeLastAction( "restoreLastContext " + `currentCtx` );setToolTo TimeDragger
  • TimeDraggerToolDeactivate
invokeLastAction

タイムスライダのカーソルを動かせる。キーリマップでCapsキーにも配置した。

Select All Marking Menu

Name:

SelectAllMarkingMenu

Description:

Fit all in active panel, with marking menu (Press)

Language:

Mel

Code by

Autodesk

buildSelectAllMM

A短く押すと選択しているオブジェクトをView一杯に見えるようにする。Shift + AとFとで何が違うのか分からない。

Aキー長押しでマーキングメニュー。

Select All Marking Menu

Frame in All Views

Name:

FrameAllInAllViews

Description:

Change the cameras to frame all objects in the view

Language:

Mel

Code by

Autodesk

fitAllPanels -all

オブジェクトをView一杯に見えるようにする。

Frame in All Views

Name:

FrameAllInAllViews

Description:

Change the cameras to frame all objects in the view

Language:

Mel

Code by

Autodesk

fitAllPanels -all

オブジェクトをView一杯に見えるようにする。

Show Attribute Editor or Channel Box

Name:

ShowAttributeEditorOrChannelBox

Description:

Open Attribute Editor, or swap with Channel Box

Language:

Mel

Code by

Autodesk

if(`isAttributeEditorRaised`){if(!`isChannelBoxVisible`){setChannelBoxVisible(1);} else {raiseChannelBox;}}else{openAEWindow;}

Attribute EditorかChannel Boxに切り替える。

Select All

Name:

SelectAll

Description:

Select all

Language:

Mel

Code by

Autodesk

if(!`exists MTselAll`) source MTprocs.mel; select -cl; MTselAll

全てを選択する。

Set Key

Name:

SetKey

Description:

Sets a keyframe on all channels that are selected.

Language:

Mel

Code by

Autodesk

performSetKeyframeArgList 1 {"0", "animationList"}

すべてセットキーする。

Insert key Tool

Name:

InsertKeyToolActivate

InsertKeyToolDeactivate

Description:

Activate insert key mode

Deactivate insert key mode

Language:

Mel

Code by

Autodesk

  • InsertKeyToolActivate
storeLastAction( "restoreLastContext " + `currentCtx` );setToolTo insertKeySuperContext
  • InsertKeyToolDeactivate
invokeLastAction

グラフのカーブを変形せずに、キーをセットすることができる。

My Save 2

Name:

MySave2

Created by

amaterasu-qbb

このマーキングメニューの由来はBlenderのPie Menuからインスパイアされたものです。

大体のファイル操作ができるマーキングメニュー。あとでダウンロードできるリンクを貼っておきます。

Increment And Save

Name:

IncrementAndSave

Description:

Increment the current file name by one, save the file with this new name and keep it open. The original file will be unchanged.

Language:

Mel

Code by

Autodesk

fileCmdCallback; incrementAndSaveScene 0; fileCmdRestoreCallback;

ファイルを連番で保存する。

Delete Current Key

Name:

DeleteCurrentKey

Description:

Delete Current Key

Language:

Mel

Code by

blueSGL Code by blueSGL DeleteCurrentKey

timeSliderClearKey;

タイムスライダで選択中のキーを削除する。カーブのキーを選択して、Delを使った方がいい時もある。

Frame Selected Without Children

Name:

FrameSelectedWithoutChildren

Description:

Fit selection without children in active panel

Language:

Mel

Code by

Autodesk

fitPanel -selectedNoChildren

View一杯に見えるようにする。

Frame Selected Without Children In All Views

Name:

FrameSelectedWithoutChildrenInAllViews

Description:

Change the cameras to frame the selected object(s) without children in the view

Language:

Mel

Code by

Autodesk

fitAllPanels -selectedNoChildren

View一杯に見えるようにする。

Search Engine

Name:

SearchEngine

Description:

Search for tools, commands, or scene objects. (Ctrl+F)

Language:

Mel

Code by

Autodesk

python("import maya.app.TTF.window; maya.app.TTF.window.showWindow()");

Mayaの検索機能。メニューから探さなくてもいいのがいい。ウインドウが少し小さい。

Frame Selected In All Views

Name:

FrameSelectedInAllViews

Description:

Change the cameras to frame the selected object(s) with children in the view

Language:

Mel

Code by

Autodesk

fitAllPanels -selected

View一杯に見えるようにする。

Repeat Last

Name:

RepeatLast

Description:

Repeat last

Language:

Mel

Code by

Autodesk

repeatLast

繰り返す。

Repeat Last Action At Mouse Position

Name:

RepeatLastActionAtMousePosition

Description:

Repeat last action at mouse position

Language:

Mel

Code by

Autodesk

{float $pos[] = `autoPlace -um`;repeatLast;move $pos[0] $pos[1] $pos[2];}

マウスカーソルの位置で繰り返す。

Group

Name:

Group

Description:

Group the selected object(s)

Language:

Mel

Code by

Autodesk

performGroup false

オブジェクトをグループ化する。

Toggle Visibility And Keep Selection

Name:

ToggleVisibilityAndKeepSelection

Description:

Toggle visibility of selected objects

Language:

Mel

Code by

Autodesk

evalEcho("toggleVisibilityAndKeepSelection `optionVar -query toggleVisibilityAndKeepSelectionBehaviour`")

マニュピレーターが表示されている間は表示非表示切り替えできる。

Show Selected Objects

Name:

ShowSelectedObjects

Description:

Show all selected objects

Language:

Mel

Code by

Autodesk

evalEcho "showHidden -a"

マニュピレーターが表示されている間は非表示されているものが表示できる。

Hide Selected Objects

Name:

HideSelectedObjects

Description:

Hide the selected object(s)

Language:

Mel

doHideObjects true

選択しているオブジェクトを隠す。隠した後なにも操作をしていなければ表示できる。

Show Last Hidden

Name:

ShowLastHidden

Description:

Show the last hidden item

Language:

Mel

Code by

Autodesk

showLastHidden

Hで隠したオブジェクトを表示することができる。

Hide Unselected Objects

Name:

HideUnselectedObjects

Description:

Hide all objects that are not selected

Language:

Mel

Code by

Autodesk

doHideObjects false

選択しているオブジェクト以外は非表示にする。

Show All Poly Components

Name:

ShowAllPolyComponents

Description:

Toggle full screen mode

Language:

Mel

Code by

Autodesk

toggleMainWindowFullScreenMode

Hideしたポリゴンのオブジェクトを表示する。機能するときとしない時があるんだけど謎。

Undo

Name:

Undo

Description:

Undo the last action

Language:

Mel

Code by

Autodesk

undo

Undoする。それだけ。(´-ω-`) MayaはZだけでUndoできるから指が楽。

Redo

Name:

Redo

Description:

Redo the last undone action

Language:

Mel

Code by

Autodesk

redo

Redoする。。それだけ。(´-ω-`)

Undo View Change

Name:

UndoViewChange

Description:

Undo View Change

Language:

Mel

Code by

Autodesk

{  string $currentPanel = `getPanel -withFocus`;   string $hyperGraphEditor = $currentPanel + "HyperGraphEd";   if (`hyperGraph -ex $hyperGraphEditor`) {      HyperGraphPanelUndoViewChange;  } else {       ModelingPanelUndoViewChange;   }}

ヴュー操作をUndoする。Cameraを作成してカメラショットをいじったときに便利。

Activate Pose Library or Picker

Name:

Unknown

Description:

Unknown

Language:

Unknown

Code by

Nobody

none.

今は何も起きないけど、将来的に実装したい。(´-ω-`)

Autodeskの公式のポーズライブラリやピッカーが出てくれるといいな。

自分のではないですが、アイデアもあるのでLikeしてくれるとうれしいです。

forums.autodesk.com

forums.autodesk.com

Graph Copy Key 2

Name:

GraphCopyKey2

Description:

Graph Editor copy

Language:

Mel

Code by

Autodesk

performCopyKeyArgList 1 {"3", "graphEditor1GraphEd", "1"}

Graph Editorで選択しているキーをコピーする

Create Camera From View

Name:

CreateCameraFromView

Description:

Create Camera From View

Language:

Mel

Code by

Autodesk

MTcreateCameraFromView

現在のビューと同じアングルのカメラを作成する。SpaceキーでHotboxの真ん中から1時方向にドラッグするとNew Cameraがあるのでそれも同じことができる。

Reset Poses

Name:

ResetPoses

Description:

reset all poses in once

Language:

Mel

Code by

Truong CG Artist Code by Truong CG Artist Reset Pose Script (Maya)

string $ctrlName[] = `ls -sl`;
for ($con in $ctrlName){
catchQuiet(`setAttr ($con + ".translateX") 0`);
catchQuiet(`setAttr ($con + ".translateY") 0`);
catchQuiet(`setAttr ($con + ".translateZ") 0`);
catchQuiet(`setAttr ($con + ".rotateX") 0`);
catchQuiet(`setAttr ($con + ".rotateY") 0`);
catchQuiet(`setAttr ($con + ".rotateZ") 0`);
catchQuiet(`setAttr ($con + ".scaleX") 1`);
catchQuiet(`setAttr ($con + ".scaleY") 1`);
catchQuiet(`setAttr ($con + ".scaleZ") 1`);
}

Truong CG Artistさんのコードです。Truong CG Artistさん、ありがとうございます。

Translate、Rotate、Scaleをリセットします。その代わりにTranslateでもない、RotateでもScaleでもないものは手動でリセットする必要があります。

www.youtube.com

Copy Key 2

Name:

CopyKeys2

Description:

Copy keys and place on animation clipboard

Language:

Mel

Code by

Autodesk

performCopyKeyArgList 1 {"0", "animationList", "0"}

Time Sliderのキーをコピーする

Graph Paste Key 2

Name:

GraphPasteKey2

Description:

Graph Editor paste

Language:

Mel

Code by

Autodesk

performPasteKeyArgList 1 {"3", "graphEditor1GraphEd", "1"}

Graph Editorで選択しているキーをペーストする

Playback Toggle

Name:

PlaybackToggle

Description:

Toggle playback on/off

Language:

Mel

Code by

Autodesk

togglePlayback

アニメーションの再生と一時停止の切り替え

Go To Min Frame

Name:

GoToMinFrame

Description:

Go to min frame

Language:

Mel

Code by

Autodesk

currentTime -e `playbackOptions -query -min`

最小のフレームへカーソルを移動。現在の定義が最小のフレームになる。

Paste Key 2

Name:

PasteKeys2

Description:

Paste keys from animation clipboard

Language:

Mel

Code by

Autodesk

timeSliderPasteKey false;

Time Sliderののキーをペーストする

Cycle Background Color

Name:

CycleBackgroundColor

Description:

Cycle the background color from dark to light

Language:

Mel

Code by

Autodesk

cycleBackgroundColor;

Mayaのビューポートの背景色を切り替える。4タイプ設定できる。それ以上は?後日質問してみる。

参考になるものをまとめた。

ビューポートの背景色をシェルフに登録する方法 ビューポートのグラデーション付きの背景色をシェルフに登録する方法

Toggle Panel Menubar

Name:

TogglePanelMenubar

Description:

Toggle panel menubar visibility

Language:

Mel

Code by

Autodesk

if (`optionVar -q allowMenusInPanels`) {toggleMenuBarsInAllPanels 0;} else {toggleMenuBarsInAllPanels 1;}

panel menu barの表示非表示切り替え。

Toggle Main Menubar

Name:

ToggleMainMenubar

Description:

Toggle main menubar visibility

Language:

Mel

Code by

Autodesk

if (`optionVar -q mainWindowMenubarVis`) {setMainMenubarVisible 0;} else {setMainMenubarVisible 1;}

top menu barの表示非表示切り替え

Toggle Model Editor Bars

Name:

ToggleModelEditorBars

Description:

Toggle modelEditor bar visibility

Language:

Mel

Code by

Autodesk

if (`optionVar -q collapseIconBarsInPanels`) {toggleModelEditorBarsInAllPanels 0;} else {toggleModelEditorBarsInAllPanels 1;}

panel tool barの表示非表示切り替え

Previous Time Slider Bookmark, Previous Time Slider Bookmark 2

Name:

PreviousTimeSliderBookmark

Description:

Sets the current time to the start of the previous Bookmark's start time.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import selectPreviousBookmarkAtCurrentTime; selectPreviousBookmarkAtCurrentTime()");}

以前のタイムスライダのブックマークへ移動。 Frame Previous Time Slider Bookmark 2とセットで使うホットキー。

Previous Blue Pencil Frame, Previous Blue Pencil Frame 2

Name:

PreviousBluePencilFrame

Description:

Move backward one Blue Pencil frame

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("bluePencil")){bluePencilFrame -stepBack;}

以前のタイムスライダのBlue Pencilのあるフレームへ移動。

Next Time Slider Bookmark, Next Time Slider Bookmark 2

Name:

NextTimeSliderBookmark

Description:

Sets the current time to the start of the next Bookmark's start time.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import selectNextBookmarkAtCurrentTime; selectNextBookmarkAtCurrentTime()");}

以後のタイムスライダのブックマークへ移動。

Next Blue Pencil Frame, Next Blue Pencil Frame 2

Name:

NextBluePencilFrame

Description:

Move forward one Blue Pencil frame

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("bluePencil")){bluePencilFrame -stepForward;}

以後のタイムスライダのBlue Pencilのあるフレームへ移動。

Next Key

Name:

NextKey

Description:

Go to next key

Language:

Mel

Code by

Autodesk

currentTime -edit (`playbackOptions -q -slp` ? `findKeyframe -timeSlider -which next` : `findKeyframe -which next`)

以後のキーへ移動。

Increase Key Value

Name:

IncreaseKeyValue

Description:

Increase Key

Language:

Python

Code by

Kahylan Code by Kahylan Make value bigger hotkey command

amaterasu-qbb Code by amaterasu-qbb Relative value increase

import maya.cmds as cmds

#check if optionVar exists, if it doesn't set it to default value
if cmds.optionVar(ex = "animationValueChangeFloat")== 0:
    cmds.optionVar(fv = ("animationValueChangeFloat", 0.1))
    
#get Value from optionVar
changeValue = cmds.optionVar(q= "animationValueChangeFloat")   

#change keyframe value
cmds.keyframe(e = True, r = True, vc = changeValue)

kahylanさんが、自分のコードを直してくれました。ありがとうございます。 キーの値を相対的に増やす。デフォルト値0.1。

アニメーションの微調整用。

このコードを企画した理由は、マウスの垂直判定が厳しくてイライラしていたからもあるけど、シリアスな場面で動きを付けるのを最小限にしたい。でもMayaのマニュピレーターは細かく調整できないので悩んでいた。 Twitterでグラフエディタの値を調整すればいいという指摘もあってハッとさせられた。そこからこのコードの企画を作ってみた。

一番最初に自分が自力でなるべく書いたReset Poses以外のReset系だけど、このコードの初期も自分が自力で作ったコードです。自力で作った達成感というのはシンプルなコードでもとても気分が上がる。 採用したのはKahylanさんのコードにはなったけれども、自分のコードを人に見せればもっと良いコードができるとも思っている必要があるかなとも思っている。とこのコードを作っていて感じた。

kahylanさんが作成した以下のコマンドをシェルフに登録してツールを起動すると、スライダーで値を調整してホットキーを使うことで値を上昇させられる。

Language:

Python

Code by

Kahylan Code by Kahylan call UI from shelf button

import maya.cmds as cmds


def buildChangeUI():
    windowName = "animationValueChangeUI"
    
    if cmds.window(windowName, ex = True):
        cmds.deleteUI(windowName)
    
    cmds.window(windowName)
    v = getValue()
    cmds.columnLayout("mainLayout")
    sliderGrp = cmds.floatSliderGrp("ChangeSliderGRP" , l= "Change Value", f = True, min=0, max = 10, fmx = 100000,pre= 3, v= v)
    cmds.floatSliderGrp(sliderGrp , l= "Change Value", e=True, cc = lambda x = cmds.floatSliderGrp(sliderGrp, q= True, v= True): changeOptionVar(value = x))
    cmds.showWindow(windowName)

def getValue():
    if cmds.optionVar(ex = "animationValueChangeFloat")== 0:
        cmds.optionVar(fv = ("animationValueChangeFloat", 0.1))
        changeValue= 0.1
    else:
        changeValue = cmds.optionVar(q= "animationValueChangeFloat")
    return changeValue    
    
def changeOptionVar(value = None):
    cmds.optionVar(fv= ("animationValueChangeFloat", value))

buildChangeUI()

スライダーで値を変更した際はデフォルト値の0.1に戻しておいてください。

Previous Key

Name:

PreviousKey

Description:

Go to previous key

Language:

Mel

Code by

Autodesk

currentTime -edit (`playbackOptions -q -slp` ? `findKeyframe -timeSlider -which previous` : `findKeyframe -which previous`)

以前のキーへ移動。

Decrease Key Value

Name:

DecreaseKeyValue

Description:

Decrease Key Value

Language:

Mel

Code by

Kahylan Code by Kahylan Make value smaller hotkey command

amaterasu-qbb Code by amaterasu-qbb Relative value decrease

import maya.cmds as cmds

#check if optionVar exists, if it doesn't set it to default value
if cmds.optionVar(ex = "animationValueChangeFloat")== 0:
    cmds.optionVar(fv = ("animationValueChangeFloat", 0.1))
    
#get Value from optionVar
changeValue = cmds.optionVar(q= "animationValueChangeFloat")   

#change keyframe value
cmds.keyframe(e = True, r = True, vc = (-1 * changeValue))

kahylanさんが、自分のコードを直してくれました。ありがとうございます。 キーの値を相対的に減らす。デフォルト値0.1。

スライダーで値を変更した際はデフォルト値の0.1に戻しておいてください。

Previous Frame

Name:

PreviousFrame

Description:

Move backward one frame in time

Language:

Mel

Code by

Autodesk

nextOrPreviousFrame "previous"

以前のフレームへ1移動する。

Select Prevous Key 2

Name:

SelectPreviousKey2

Description:

Go to previous key and select it

Language:

Mel

Code by

Autodesk

selectNextOrPrevKey "previous"

以前のキーを1つ選択する。グラフエディタで見ないとどのキーが選択されているかが分からない。

Frame Previous Time Slider Bookmark 2

Name:

FramePreviousTimeSliderBookmark2

Description:

Sets the playback range to the previous Bookmark's start and end time.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import framePreviousBookmarkAtCurrentTime; framePreviousBookmarkAtCurrentTime()");}

以前のタイムスライダのブックマークの範囲を全展開する。 Previous Time Slider Bookmark, Previous Time Slider Bookmark 2とセットのホットキー。

Next Frame

Name:

NextFrame

Description:

Move forward one frame in time

Language:

Mel

Code by

Autodesk

nextOrPreviousFrame "next"

以後のフレームへ1移動する。

Select Next Key 2

Name:

SelectNextKey2

Description:

Go to next key and select it

Language:

Mel

Code by

Autodesk

selectNextOrPrevKey "next"

以後のキーを1つ選択する。グラフエディタで見ないとどのキーが選択されているかが分からない。

Frame Next Time Slider Bookmark 2

Name:

FrameNextTimeSliderBookmark2

Description:

Sets the playback range to the next Bookmark's start and end time.

Language:

Mel

Code by

Autodesk

if(checkAndLoadPlugin("timeSliderBookmark")){python("from maya.plugin.timeSliderBookmark.timeSliderBookmark import frameNextBookmarkAtCurrentTime; frameNextBookmarkAtCurrentTime()");}

以後のタイムスライダのブックマークの範囲を全展開する。 Next Time Slider Bookmark, Next Time Slider Bookmark 2とセットで使うホットキー。

Show Hotbox (Space)

Name:

ShowHotbox

HideHotbox

Description:

Show hotbox

Hide hotbox

Language:

Mel

Code by

Autodesk

hotBox
hotBox -release

デフォルトについている最高のマーキングメニュー。というかよく知られていると思う。

Toggle Zoom In Mode

Name:

ToggleZoomInMode

Description:

Toggle zoom-in mode

Language:

Mel

Code by

Autodesk

toggleMainWindowZoomInMode

デフォルトのホットキーだが何も画面が変わらないし、よくわからない!(´-ω-`)

Toggle Full Screen Mode

Name:

ToggleFullScreenMode

Description:

Toggle full screen mode

Language:

Mel

Code by

Autodesk

toggleMainWindowFullScreenMode

Viewportの表示域が大きくなる。 Toggle Panel MenubarとToggle Main MenubarとToggle Model Editor Bars非表示でViewportを最大サイズに表示することができる。

Customシェルフに登録した方がいいもの

Bonus ToolのModifyのZero Pivot Tools全部シェルフに登録しています。

  • Keep Pivot and Zero Local Values
  • Center Pivot and Zero Values
  • Move Pivot to Base and Zero Local Values
  • Move Pivot to Origin and Zero All Values

自分は上全部をシェルフに登録していました。上記の機能は主にモデリングやレイアウトに使用していました。

他にも、 - ViewportのBackgroundカラーを変更する - View Axis, Poly Count, Camera Nameの表示非表示切り替え - 画面に余計なものを入れずにPlayblastしたい時に使う - Cnt - タイムスライダのカーソルの位置を計算した解で移動する

を登録しています。

Cnt

Name:

CountkeyFrame

Description:

Count key Frame

Language:

Mel

Code by

Abdulla-Qaladzay Code by Abdulla-Qaladzay Calculate inside of set current time

proc qwe(){
string $newMath = `textField -q -text mathField`;
string $forEval = "`currentTime -q`" + $newMath;
float $evaRes =`eval("$tempHolder=" + $forEval)`;
currentTime ($evaRes);}
global proc createCustomWorkspaceControlUI(){
rowColumnLayout;
text -l "only type the operation and the number";
textField mathField;
button -l "apply" -command "qwe()";}
workspaceControl -retain false -floating true -uiScript "createCustomWorkspaceControlUI();" mathCurrentTime;

Abdulla-Qaladzayさんがコードを作ってくれました。ありがとうございます。 UIを出してその中で加算、減算、掛算、割算を実行してタイムスライダのカーソルを移動する。

6年間掛けて集めた、参考にしたもの

インストール方法

https://1drv.ms/f/s!Aie04drLEaRqg-AXneUKO0Q98dB20g?e=enINam

  • menu_Create2.mel > C:\Users\\Documents\maya\2024\prefs\markingMenus
  • menu_MySave2.mel > C:\Users\\Documents\maya\2024\prefs\markingMenus
  • menu_MyTangents.mel > C:\Users\\Documents\maya\2024\prefs\markingMenus
  • MyCustom1.mhk > Maya起動後、Hotkey Editorを開いてインポートする
  • shelf_Custom.mel > C:\Users\\Documents\maya\2024\prefs\shelves

の所を皆さんのパソコンの名前にしてください。後は、そこにドラッグアンドドロップしてMayaを再起動すればいいです。

まとめ

誰がMayaをどう使おうが構わないのですが、Mayaに愚痴も言わずにデフォルトで使っている人は皮肉ではなく単純にすごいなと思いました。(他のソフトウェアでも言えることですが) ただ自分という人間は不便が嫌いなので、カスタマイズしていくことで鬱憤を晴らせてきました。

ここまで自分の考えた最強のホットキーを紹介しました。もし現役のアニメーターさんや学生さんでホットキーの提案があったら気軽にコメントなどで提案してくれると嬉しいです。

僕からも追加で、マーキングメニューも作るとよりホットキーいらなくなります。( ゚Д゚)

マーキングメニューもホットキーも充実してきたら、後はシェルフに登録する。のがいいかなと思います。

最後まで読んで読んでくれてありがとうございました。