AutoHotKeyでMAYAをSoftimageビューナビゲーション
SoftiageのSキーでのカメラ操作(Navigation)は魅力的なものである。
キーボードでタイピングするときのホームポジションは
「左手がF」「右手がJ」そこにチョンボがついてて、ブラインドタッチ中でも
帰るべき位置が解るのです。
そこに「s」キーは薬指にそえられる。非常に自然な位置である。
キーも周りに沢山あるからショートカットも近くて多い。
ソレに比べてAltはなんだ?
無理やり親指を曲げれば痛い。
人差し指を添えればショートカットが遠い。
全く良くない。
慣れる必要はないのだ。
他の3DCGツールはだいたいAlt操作なのですが、慣れない。
UE4もMAYAも慣れない。
MAYAに至ってはカスタマイズすら出来ない模様。
諦めましょう。
制約がある。色々
ソースコードとEXE配布
無理やりホットキーを外部ツールでカスタマイズすることにしました。
SItoMAYA_AutoHotKey.zip
スクリプトをコンパイルしたexeやソースコードをダウンロード
または、
「AutoHotKey」をインストールして
以下をテキストファイルにコピペして、 .ahkをつけて保存。
SItoMAYA_AutoHotKey.ahk
出来たファイルは右クリックで「管理者として実行」
SキーはMAYAからキーバインド外しておいてください。
~S 表記は、Sキーの効果は残したまま、という意味になってます。~外せば上書き。
おまけですが、マウス中央クリックでタンブル操作となってます。
中クリックは上書きされていないので、メニューの再実行や別のツールの操作を邪魔しません。
IfWinActive,ahk_exe maya.exe
~S & RButton::
send, {alt down}{Lbutton down}
keywait, RButton
send, {alt up}{Lbutton up}
return
~S & LButton::
send, {alt down}{Mbutton down}
keywait, LButton
send, {alt up}{Mbutton up}
return
~S & MButton::
send, {alt down}{Rbutton down}
keywait, MButton
send, {alt up}{Rbutton up}
return
MButton::
send, {alt down}{mbutton down}
keywait, MButton
send, {alt up}{mbutton up}
return
IfWinActive
なお、AutoHotKey はツール的にも上級者向けです。覚悟して利用してください。しかし出来ることが多いし、コーディング慣れしてる人なら最高の逸品かもしれない。
管理権限での起動を強制 するbatを制作
MAYAも管理者権限で起動しないと
AutoHotKey が認識されない。Windows10の成約が厳しいので、
初めから権限付きのアドレスを有効にしておくのも手だ。
Windows10 – Administrator(管理者)アカウントを有効にする方法
いまから環境設定が整ったユーザー権限から乗り移るのも面倒なので、
MAYA起動時はバッチファイルで起動することで回避する。
MAYA2019利用サンプル。以下を maya2019.batとして利用する。
さらにショートカットの生成を行い、それのプロパティで管理者権限で起動にチェックしておく。
@echo off
@setlocal enabledelayedexpansion
SET MAYA_UI_LANGUAGE=ja_JP
rem Scriptsのサブディレクトリをすべて繋げる
SET MAYA_SCRIPT_PATH=%~DP02019\ja_JP\scripts\MEL\
SET PYTHONPATH=%~DP02019\ja_JP\scripts\PY\
rem Scriptsフォルダにサブディレクトリがあっても環境変数に自動追記
for /d /r "%MAYA_SCRIPT_PATH%" %%A in (*) do set MAYA_SCRIPT_PATH=!MAYA_SCRIPT_PATH!;%%A
for /d /r "%PYTHONPATH%" %%B in (*) do set PYTHONPATH=!PYTHONPATH!;%%B
SET MAYA_MODULE_PATH=%~DP02019\ja_JP\Modules;
SET MAYA_PLUG_IN_PATH=%~DP02019\ja_JP\PlugIns;
rem AltキーからSキー乗り換えツールの起動。多重起動禁止
tasklist | find "AutoHotkey.exe" > NUL
if ERRORLEVEL 1 start %~DP0\SItoMAYA_AutoHotKey.ahk
rem MAYA様のお目覚め
start C:"\Program Files\Autodesk\Maya2019\bin\"maya.exe