MAYA シェルフ(Shelf)第3回 GraphEditorの機能をシェルフ化
スポンサーリンク
MAYA シェルフ(Shelf)第3回 GraphEditorの機能をシェルフ化
本日は画像 緑枠部分の3つのご紹介をします
そのまま使えるか分かりませんがアイコンを置いておきます
では始めます。
グラフエディターの機能をシェルフに登録
画像上で右クリ>名前を付けて画像を保存で任意の名前で保存後
以下に画像を入れて下さい
C:\Users\(アカウント名)\ドキュメント\maya\2019(各々のバージョン)\prefs\icons
アイコン画像の名称の通り
Euler
Infinity
Cycle
この3点の説明です。いずれもGraphEditor内にある機能となります。
Euler
これについてはですぽんた様がご紹介されているやり方を引用しております
⇒【Maya】ヤバみある回転補完を修正する - D日記
Fカーブを読み込んだ際に不必要に回転値が入っている場合があります。それをいちいち探し出して修正するのは手間ですので、これを1ボタンで済ませるものです。
なお同様の機能としてはCurves>Euler Filterもございます。
使用頻度は少ないのでこれで済ませるのもアリですが、アイコン化しておくと便利ではありますので以下、登録手順を記載します
Shelf化
- まず適当なシェルフアイコンをCtl+中ボタンでコピーします
- コピーしたアイコン上で 右クリック>Edit でShelf Editorを開きます
- commandタブ内に以下のコマンドを入れて下さい(language:MEL)
proc ConvertFCurve(){ string $selCrvs[] = `listConnections -type "animCurveTA"`; for( $crv in $selCrvs ){ rotationInterpolation -convert quaternionSlerp $crv; rotationInterpolation -convert none $crv; } print "選択オブジェクトの、Fカーブを最短距離に変換しました"; } ConvertFCurve();
4.次にShelvesタブに移り、アイコン画像を変更します
5.Icon Name の右側のフォルダアイコンを押して先程保存した画像を指定します
6.Save All Shelves で保存して終了です
Infinity
下の画像の通り、キーフレーム外の部分に延長線として破線表示されるようになります
View>Infinity
ここのチェックON/Off で表示切替が出来るのですがシーンを読み込む度にやっていては手間な為、1ボタン化しています
Shelf化
- まず適当なシェルフアイコンをCtl+中ボタンでコピーします
- コピーしたアイコン上で 右クリック>Edit でShelf Editorを開きます
- commandタブ内に以下のコマンドを入れて下さい
(language:Python)
import maya.cmds as cmds #ハイパーグラフのリフレッシュ windows = cmds.lsUI( editors=True, l=True ) for window in windows: #windowタイプがグラフエディターだったら if cmds.objectTypeUI( window ) == 'TgraphEditor': #infinityをonにする cmds.animCurveEditor( window , edit=True, displayInfinities='on' )
4.Double Click commandタブに移動し以下のコマンドを入れて下さい
(language:Python)
import maya.cmds as cmds #ハイパーグラフのリフレッシュ windows = cmds.lsUI( editors=True, l=True ) for window in windows: #windowタイプがグラフエディターだったら if cmds.objectTypeUI( window ) == 'TgraphEditor': #infinityをoffにする cmds.animCurveEditor( window , edit=True, displayInfinities='off' )
5.次にShelvesタブに移り、アイコン画像を変更します
6.Icon Name の右側のフォルダアイコンを押して先程保存した画像を指定します
7.Save All Shelves で保存して終了です
Eulerの際とは少し工程が異なっています。
コマンドもPythonとなっていますので切替忘れが無いかご確認下さい
ちゃんと機能しているか試してみて下さい
Cycle
Cycle(サイクル)は画像のようにキーの前後に同じ波形を連続させます
Infinityを表示状態にしないと表示はされませんのでご注意ください
Shelf化
2018以前のものが知りたい方がいれば補足説明を加えますのでお知らせ下さい
- まず適当なシェルフアイコンをCtl+中ボタンでコピーします
- コピーしたアイコン上で 右クリック>Edit でShelf Editorを開きます
- commandタブ内に以下のコマンドを入れて下さい(language:MEL)
bufferCurve -animation "keys" -overwrite false; setInfinity -pri cycle graphEditor1FromOutliner; bufferCurve -animation "keys" -overwrite false; setInfinity -poi cycle graphEditor1FromOutliner;
4.Double Click commandタブに以下のコマンドを入れて下さい(language:MEL)
bufferCurve -animation "keys" -overwrite false; setInfinity -pri constant graphEditor1FromOutliner; bufferCurve -animation "keys" -overwrite false; setInfinity -poi constant graphEditor1FromOutliner;
5.Popup Menu Itemsタブに移動し以下のコマンドを入れて下さい(language:MEL)
bufferCurve -animation "keys" -overwrite false; setInfinity -pri cycleRelative graphEditor1FromOutliner; bufferCurve -animation "keys" -overwrite false; setInfinity -poi cycleRelative graphEditor1FromOutliner;
6.左側のRename欄に Offset と記入します
7.Shelvesタブに移り、アイコン画像を変更します
8.Icon Name の右側のフォルダアイコンを押して先程保存した画像を指定します
9.Save All Shelves で保存して終了です
今回もEuler/Infinityとはまた少し違った工程が加わっています。
コマンドはMELとなっていますので切替忘れが無いかご確認下さい
加えて アイコンを右クリックすると一番下に Offset という項目が追加されています
これを選択すると Cycle with Offset が前後に適用されます
これは移動系のモーションで多用するサイクルです。都度GraphEditorメニューから前後適用するのは面倒なので1ボタンで済ませましょう!
なお、上のgif動画を見て頂けると分かると思いますが、ポップアップが存在するものはアイコン右下隅にグレーで▼っぽいマークが追加されています。
以上です。