2013年9月17日火曜日

[MEL]頂点ウェイトの軽量化ツール


リアルタイム系のウェイト調整作業でよく必要になる、
・ウェイト値の桁数設定
・インフルエンスオブジェクト数の上限設定

をひとつにまとめたツールを作ってみた。
ページ下部からダウンロードしたファイルを解凍、ファイルを
Mayaのスクリプトパスにコピー後、Mayaを起動すると使用できる。


【使い方】

1.任意の頂点を選択(複数モデル可)
2.Script Editorに SkinWeightReduction(); と入力。
  シェルフ等に登録しても良い。



・ウェイト値の桁数設定
 [Reduction Threshold]に任意の桁数を入力しEnter。
 (小数点以下1桁の場合は0.1、2桁の場合は0.01…、小数)
 [Round off the Weight Values]ボタンをクリック

・インフルエンスオブジェクト数の上限設定

 [Reduction Threshold]に任意の桁数を入力しEnter。
 (1つの場合は1、2つの場合は2…、自然数)
 [Limit the Number of Influences]ボタンをクリック


ウェイト値の桁数設定は基本的に四捨五入で値を決定しているが、
桁が0.1の場合、値の合計が0.9~1.1になる可能性があるため、
その場合には一番大きな値を増減して正規化している。

一方インフルエンスオブジェクト数の上限設定では、設定数が2の場合、
1頂点中ウェイト値の大きい2つを残し、残りを合計。
残り値を上位2つのウェイトの比率でそれぞれに分配することで正規化した。

どちらも簡単な機能なので1つのツールにまとめたが、値の入力場所を
1つにまとめたUIは少し使いづらいかなと感じている…。

「Skin Weight Reduction」をダウンロード


2013年4月25日木曜日

[試作]Tail Rig のジョイント数を増やす




前から作ってみたかった機能。
ジョイント数の少ないtail rigやsnake spineから、
アニメーションを保持したままジョイントの数を増やした
動作/形状ともに滑らかなチェーンを生成する。
説明しづらいのでとりあえず動画にしてみた。


実際はまだツールの形にもなっていない試作の状態。
使い道としては、
・低スペックハード向けのRIGをアップコンバート
・少ないノードで尻尾を動かすRIGとして使用
などを想定している。
ただ、私自身はRIG/アニメは専門外なので、
本当に使い道があるのかはやや不安・・・。

ご意見などありましたら是非お教えください。


2013年4月11日木曜日

[MEL]シンプルな1行メッセージウインドウを表示する






自作ツールでよく使用する、簡単なメッセージや
リザルト表示の為のダイアログウィンドウ生成機能。
ページ下部からダウンロードしたファイルを解凍して
スクリプトパスにコピー後、Mayaを起動すると使用可能になる。




【使い方】
スクリプトで以下の記述を行う。


SimpleDialog(string,string);


最初の文字列はウィンドウタイトル、次の文字列が本文。





SimpleDialog("タイトル","メッセージ本文");
SimpleDialog("タイトル","メッセージかタイトルの長い方に合わせてウィンドウ幅が調整されます。");
SimpleDialog("タイトルの方が長い場合はこうなります。","メッセージ本文");









「SimpleDialog」をダウンロード