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

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

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

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

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

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

バインド方法の種類

  • 最短距離・・・よく使うやつ

  • 測地線ボクセル・・・ウェビナーで紹介されてたやつ

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

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

最短距離

測地線ボクセル

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

スキンバインドの設定

  • バインド先:選択したジョイント

  • バインド方法:測地線ボクセル

  • 複数のバインドポーズを許可:無し

  • 最大インフルエンス数の保持:無し

  • 最大インフルエンス数:3

  • 解像度:256

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

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

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

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

測地線ボクセルの解像度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の公式が直してくれるはずです。

気長に待ちましょう~

ではまた!

← ブログへ戻る