3dsMaxの角度スナップ機能をMayaに実装

今回作ったmelスクリプトはモデリングの際、非常に便利なものです。
特に建築物をモデリングする際、重宝するでしょう。
以下がRotate45_degree_Toolです。
使い方は下記に記載



// create the Rotate45_degree proc

proc superKeyer(int $choice){
string $sel[] = `ls -sl`;
for ($obj in $sel ) {

if ($choice == 1) rotate -r -os 45 0 0 ;
if ($choice == 2) rotate -r -os 0 45 0 ;
if ($choice == 3) rotate -r -os 0 0 45 ;
if ($choice == 4) rotate -r -os -45 0 0 ;
if ($choice == 5) rotate -r -os 0 -45 0 ;
if ($choice == 6) rotate -r -os 0 0 -45 ;
}
}


//Check for window and delete if needed

if (`window -exists Rotate45_degree` ) {
deleteUI -window Rotate45_degree;
}


// ui for the Rotate45_degree window

string $ezWindow = `window -title "Rotate45_degree"
-wh 128 256
Rotate45_degree`;
// define layout

rowColumnLayout -numberOfColumns 2 -cw 1 16;

// column 1 column 2

symbolButton -i "ezX.bmp" -c "superKeyer(1)"; text -label " RotateX45";
symbolButton -i "ezY.bmp" -c "superKeyer(2)"; text -label " RotateY45";
symbolButton -i "ezZ.bmp" -c "superKeyer(3)"; text -label " RotateZ45";

separator; separator;
separator; separator;

symbolButton -i "ezX.bmp" -c "superKeyer(4)"; text -label " RotateX-45";
symbolButton -i "ezY.bmp" -c "superKeyer(5)"; text -label " RotateY-45";
symbolButton -i "ezZ.bmp" -c "superKeyer(6)"; text -label " RotateZ-45";

// this will show the window
showWindow $ezWindow;



以下使い方。
1、3dsMaxには以下のように回転スナップボタンがついていて、15度づつスナップして回転可能です。
例えば建物の柱を45度や90度に回転したい場合、非常にダイレクトです。
これがMayaにないので欲しかったわけです。

1


2、Mayaのスクリプトエディタを開いてmelをコピーしましょう。タブがmelになっていることに注意してください。
2


3、CTRL+Aですべて選択して実行ボタンを押しましょう。
3


4、Rotate45_degree_Toolが起動します。
4


5、melスクリプトを全選択して、中マウスボタンドラッグでシェルフに追加すると、ワンクリックでmelが実行されます。
5


6、枠左にあるのがボタンです。右側の文字を押しても何も起こりません(注意!)。(ボタンに画像を割り当てることも可能です。sorceimagesフォルダの中に16×16pixelの画像を入れてなど・・・別にやらなくてもOKです。)
6


7、RotateX45ボタンを押してみましょう。カメがX軸を基点に45度回転しました。2回押したら90度ですね。
7


8、次はmelスクリプトのカスタマイズ方法です。以下画像の値45を15に変更すると15度ずつ回転するようになります。3dsMaxのように自分でカスタマイズできていますよね。
8


9、以下のようにmelスクリプトを追加すると-45度回転させる項目を追加することが可能です。
9


10、-45度回転しました。
10


11、シェルフに保存して名前をつけましょう。
11




他にも3dsMaxにはオブジェクト間の完璧な接地ツールがあります。Mayaは若干目測です。
なので、以下のようなmelがフリーダウンロード可能です。
Mayaでのインテリアシーンの作成に便利です。
MakePlanar and SetNormal Tools 0.2.1 (maya script)
http://www.creativecrash.com/maya/downloads/scripts-plugins/c/makeplanar-and-setnormal-tools--2

以下はDeo's Aligner Tool 1.0.1 (maya script) で3dsMaxにはあってMayaにないです。
Mayaでの方法はscaleを0方向に絞っていくことでポイントを平行にします。
http://www.creativecrash.com/maya/downloads/scripts-plugins/c/deo-s-aligner-tool


GeoSpheres 2.2.0 (maya script) 3dsMaxにあってMayaにありませんので拡張しましょう。
様々なポリゴンメッシュの球体が作成できます。
三角化してnclothを割り当てると、布のテイストが変化します。
宇宙船のアニメーションなどで役立つでしょう。他にインテリアシーンでも使えるかと・・・。
http://www.creativecrash.com/maya/downloads/scripts-plugins/modeling/poly-tools/c/geospheres--2


Mayaは若干アバウトな側面を兼ね備えながらも、ユーザー自身で簡単にカスタマイズできる良い点があるのです。特にmelはC言語がベースですので非常に安易な方みたいです。
FlashのActionScriptなどweb開発をやっている方なら簡単にマスターできるかと思います。
皆さんも、やったことがない方、便利で楽なので挑戦してみましょう。



以下youtubeてもmelの使い方をアップロードしました。参考にしてください。
工業製品を作るお仕事でRotate45_degree_Toolを使用しているシーンです。



MELスクリプト名 Rotate45_degree_Tool

3dsMaxの回転スナップツールをMayaでも使いたかったので作りました。
建築物など作成の際15度〜90度の範囲で回転をスナップさせる機能が非常に重要かと思います。Mayaを拡張するツールとしてお使いください。
大規模なマンションなどをモデリングする際にこの回転スナップツールfor Mayaの存在が大きなものになるでしょう。


スタジオ ヒエイ制作(Studio Hiei Presents)
hiei