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

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");
行の先頭に // を付ける事でコメントアウトして無効化します。
モデリングで、ツールの向きを素早く変更できるので私はかなり多用しています。
上手く使うと便利です。
コメント