CG系 PRを含みます

【スキンバインドの方法】測地線ボクセルを検証【Maya2023】

記事内に商品プロモーションが含まれます

こんにちわ兼業クリエイターのみっつです。

今回はエリアジャパンさんから配信されてるスキニングウェビナー

Autodesk Maya クイックトレーニングシリーズ~第1弾 スキンバインドとウェイトペイント~

を見てみたのでまとめていきます。

スキンバインドの方法:『測地線ボクセル』を検証してみる

バインド方法の種類

  • 最短距離・・・よく使うやつ
  • 測地線ボクセル・・・ウェビナーで紹介されてたやつ

私は今まで『最短距離』でしかバインドしてなかったので、『測地線ボクセル』でのバインド方法を検証してみました。

最短距離と測地線ボクセルの比較

最短距離でバインドした場合と比較して、測地線ボクセルのほうがキレイにバインドされました。

スキンバインドの設定

  • バインド先:選択したジョイント
  • バインド方法:測地線ボクセル
  • 複数のバインドポーズを許可:無し
  • 最大インフルエンス数の保持:無し
  • 最大インフルエンス数:3
  • 解像度:256

測地線ボクセルは解像度の値を変更する事で、バインドの精度が変わります。

測地線ボクセル解像度:1024

測地線ボクセルの解像度:256

測地線ボクセルの解像度:64

https://www.mitsurog.com/wp-content/uploads/2022/06/スクリーンショット-2022-06-18-112847.png

測地線ボクセルの解像度1024と256を比較

解像度1024と256では同じ位の精度なので、実行時は256で良いと思いますよ。

測地線ボクセルの解像度512と128でエラーが起こる

2022/06/18時点のMaya2023だと、測地線ボクセルの設定次第では、エラーが起こりました。

■エラーした際の設定

  • バインド方法:測地線ボクセル
  • 解像度:512と128

エラーメッセージは以下の通りです。

指定したボクセル解像度が無効です。値が 2 の累乗である必要があります。

と書かれてます。

みっつ

ほう…?

512も128も、2の累乗なんですけど?

って思ったので、スクリプトエディタからコマンド履歴を探って見ました。

解像度128で実行した場合

//見やすくするため改行してます
newSkinCluster "-toSelectedBones -bindMethod 3\
                -normalizeWeights 1\
                -weightDistribution 0\
                -mi 3\
                -dr 4\
                -rui true\
                -heatmapFalloff 0.2\
                -geodesicResolution 138\
                -geodesicPostVoxelCheck 1,\
                 multipleBindPose, 0";

解像度512で実行した場合

//見やすくするため改行してます
newSkinCluster "-toSelectedBones -bindMethod 3\
                -normalizeWeights 1\
                -weightDistribution 0\
                -mi 3\
                -dr 4\
                -rui true\
                -heatmapFalloff 0.2\
                -geodesicResolution 514\
                -geodesicPostVoxelCheck 1,\
                 multipleBindPose, 0";
みっつ

これはおそらく、引数に渡す値がミスってますな(笑)

そう思ったので、引数の値を変更してmelを実行してみました。

newSkinClusterの geodesicResolution に渡す値を 514 から 512 に変更

実行時のコマンド

//見やすくするため改行してます
//-geodesicResolution に渡す値を 514 から 512 に変更

newSkinCluster "-toSelectedBones -bindMethod 3\
                -normalizeWeights 1\
                -weightDistribution 0\
                -mi 3\
                -dr 4\
                -rui true\
                -heatmapFalloff 0.2\
                -geodesicResolution 512\
                -geodesicPostVoxelCheck 1,\
                 multipleBindPose, 0";
検証結果の動画

引数の値を変更して実行した所、上手くいきました。

精度は解像度256と同じようですね。

ちなみに、解像度128も試してみました。

解像度128の場合

解像度128だと若干甘めですね。

みっつ

やはり解像度256くらいの精度は欲しいものです。

【まとめ】バインド方法:測地線ボクセルの解像度は256でOK

解像度64
解像度128
解像度256
測地線ボクセルの結論
  • 解像度は256でOK
  • エラーが出たらmelの引数を変更して直接実行

以上が私の結論です。

今回はスキンバインドの方法で、『測地線ボクセル』を検証してみました。

解像度は256を超すと512も1024も同じ結果なので、処理が早く終る方を採用しましょう。

みっつ

後は、エラーですかね。

リリースされたばかりのバージョンだと、エラーは付き物です。

エラーがでても焦らずに、スクリプトエディタからログを辿ってみましょう。

案外解決できるものですわ。

まぁこのエラーに関しては、そのうちAutodeskの公式が直してくれるはずです。

気長に待ちましょう~

ではまた!

ABOUT ME
みっつ
CGアニメーター/リガー テクニカルアーティスト(TA)目指して精進中です 都内でゲーム作ってます。