はじめに
普段アニメーションで使っている機能・スクリプトを公開できる範囲で公開していこうと思います。
※スクリプト関係を使用して生じたトラブルや損害に関しましては作者は一切責任は負えませんので、悪しからず。
※公開しているコード関係について、独学で学んでいますので、書き方に統一感がなかったり、変数名・英語関係がめちゃくちゃだったりしますが、よろしくお願いいたします。
今回の機能・スクリプト
Maya標準に搭載されているキーの移動の減衰についてです。
結構便利なツールですが、搭載されたのがMaya2018くらいの頃なので意外と知らない方も多いのではないでしょうか。
機能の説明
・移動の減衰 : 一定
こちらは普段から使っていると思うのですが、選択したキーを減衰などなくドラッグした分だけ移動させることができます。
・移動の減衰 : リニア
マウスカーソルを起点に左右に影響力が一定で減衰していきます。
・移動の減衰 : 指数関数
リニア同様、マウスカーソルを起点に左右に影響力が反比例的に減衰していきます。
使用頻度的には、1日数回程度ですが、モーションの最終段階で複雑なキーを微調整したい時など痒い所に手が届く感じで大変重宝しています。
コードの紹介・経緯
アニメーションの作業は直感的かつスピーディなアウトプットが重要ですが、ツールを使いたいときに設定を開いて変更するのが煩わしいので用意しました。
from maya import cmds
def toggle_move_falloff():
funcOption = cmds.moveKeyCtx("moveKeyContext",q=True,mf=True)
if funcOption == "constant":
funcOption = "linear"
elif funcOption == "linear":
funcOption = "power"
elif funcOption == "power":
funcOption = "constant"
cmds.warning("Current Fallof is %s"%funcOption)
cmds.moveKeyCtx("moveKeyContext",e=True,mf=funcOption)
スクリプトを走らせるたびに減衰の設定を変更することができます。
上記コードを
Documents > maya > scripts (Documents > maya > "各バージョン" > scripts)
のフォルダに入れ、Mayaを再起動後
import toggleMoveFalloff
toggleMoveFalloff.toggle_move_falloff()
を実行していただければ簡単に切り替えることができると思います。
あとは実行コマンドをホットキー(ショートカットキー)やシェルフに登録することで手軽に切り替えることができます。