タイトルのまんまですが、移動ツールの向き(ベクトル)をエッジの向きから取得するスクリプトです。
標準の機能だけでも取得することはできますが、ショートカットキーに設定して使いやすいように色々と調整しているので、便利になっていると思います。
スケールツール版もあります。

TrM_SetScaleAxisFromEdge.mel (スケールツール用)
右クリックで保存
こちらはソースのサンプルになります。
変更前: doMenuComponentSelection($buffer[0], "vertex");
変更後: // doMenuComponentSelection($buffer[0], "vertex");
行の先頭に // を付ける事でコメントアウトして無効化します。
モデリングで、ツールの向きを素早く変更できるので私はかなり多用しています。
上手く使うと便利です。
標準の機能だけでも取得することはできますが、ショートカットキーに設定して使いやすいように色々と調整しているので、便利になっていると思います。
スケールツール版もあります。

ダウンロード
TrM_SetMoveAxisFromEdge.mel (移動ツール用)TrM_SetScaleAxisFromEdge.mel (スケールツール用)
右クリックで保存
インストール
- [ウィンドウ]→[設定/プリファレンス]→[ホットキー エディタ]
- スクリプトをまるまるコピーしてコマンドに設定
使い方
- エッジを選択して実行 → 移動ツールのカスタム軸をエッジから取得
- エッジ以外を選択 or 何も選択せずに実行 → ワールド軸へ戻す
- 実行後に選択モードを頂点へ自動変更(オプション)
こちらはソースのサンプルになります。
global proc TrM_SetMoveAxisFromEdge() { source "manipMoveOrient.mel"; string $comps[] = `ls -sl -fl`; int $r = 0; if (size($comps) >= 1) $r = gmatch($comps[0], "*.e*"); if ($r != 0) { manipMoveAlignHandleWith($comps[0],{}); select -cl; manipMoveContext -e -mode 6 Move; string $buffer[]; tokenize $comps[0] "." $buffer; doMenuComponentSelection($buffer[0], "vertex"); // 変更可能 print "Mode: CustomAxis"; } else { manipMoveContext -e -mode 2 Move; print "Mode: WorldAxis"; } }移動ツール版は、ベクトル設定後に、選択モードを「頂点」に変更するようにしていますが、この部分は変更しないように変える事もできます。
変更前: doMenuComponentSelection($buffer[0], "vertex");
変更後: // doMenuComponentSelection($buffer[0], "vertex");
行の先頭に // を付ける事でコメントアウトして無効化します。
モデリングで、ツールの向きを素早く変更できるので私はかなり多用しています。
上手く使うと便利です。
コメント