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」をダウンロード


10 件のコメント:

  1. ブログ楽しいです。
    mayaの勉強しています。
    質問させてください!
    mayaで作ったオブジェクト(blinマテリアルでtiffフォーマットのテクスチャーをcolorに貼っています)をobjでexportして、photoshop extendに読み込ませてペイントをして、最終仕上げをしようとしています。テクスチャーの切れ目や仕上げを修正しようとしています。だけど、photoshopには真っ黒なオブジェクトのみが読み込まれて、カラーのテクスチャーが読み込みこまれません。私はこの方法でしかやり方は知りませんが、テクスチャーの切れ目などを直す時など、フリーのソフトなどで手軽にやる方法はありますでしょうか?photoshopで読み込むにしても、何かやり方が違うのでしょうか?詳しく書いてあるチュートリアルがありません。
    教えてください!

    返信削除
  2. コメントありがとうございます。
    私の周りではテクスチャは切れ目の処理も含めて普通の2Dペイントツールで描く事が多い印象です。
    このあたりはいろいろな書籍などで手法が紹介されていますので、そうしたものを参考にされるのが良いかと思います。
    PhotoshopExtendでの3Dペイントは良い方法だとは思いますが、私は試したことがありません…。

    返信削除
  3. 返信ありがとうございます。
    実はテクスチャーに関する本というのが、本当にわかりやすいものがないというのが現状で、私はCGの学校に行っているのですが、他の生徒も困っているところではありました。

    返信削除
  4. mayaに標準でついてる3dペイント機能を使えば簡単にできますよ。photoshopと同じようにスポイトやスタンプツールも使えます。
    (それでも1ドット単位で正確に繋げるのはほとんど無理です)

    返信削除
  5. このコメントは投稿者によって削除されました。

    返信削除
  6. 突然のご連絡失礼いたします。

    これから公開しようかと考えているMelで制作したMayaLT用のコンポーネントエディタがあり、それにこの記事のソースの一部を使わせていただこうかと考えておりますがよろしいでしょうか?

    詳細が必要であればメールでご連絡いただくかTwitterで先ほどフォローさせていただきましたので(こちら鍵アカで申し訳ありません)相互フォローの上でDMでご連絡させていただきます

    お手数お掛けして申し訳ありませんが、何卒よろしくお願いします

    返信削除
    返信
    1. 尾崎様
      丁寧なご連絡ありがとうございます。
      お問い合わせ頂いた件、問題ありませんのでご自由にお使いください。
      差し支えなければ、また記事のリンクなどお教え頂ければ幸いです。
      よろしくお願いします。

      削除
  7. 許可いただきありがとうございます。

    近日中に公開いたしますので、またよろしくお願いいたします。

    返信削除
  8. 少し遅れてしまいましたが以下のURLで公開いたしました。
    https://github.com/takarabako18/VertexComponentTable
    良ければご覧になってください。

    返信削除
  9. お世話になっております。
    こちら会社でゲーム開発に使用したいのですがよろしいでしょうか?

    返信削除