2016年1月23日土曜日

[Blender] ボーンを曲げてもメッシュが曲がらない原因と修正方法

The duplicate vertex groups should be normalized

3次元CG編集ソフト・Blenderのトラブルシューティングです。
Unityアセットの「クエリちゃん」をMikuMikuDance(以下MMD)に移植するためにBlenderを使いました。
クエリちゃんの指は3種類のポーズが用意されてますが、関節を自由に曲げることが出来ません。
MMDでの使いやすさを考慮して指のボーンを追加したのですが、当初はボーンの通りに指が曲がりませんでした。
「頂点グループ」など専門用語(?)や細かい操作の説明は省略します。


環境

  • Windows 8.1
  • Blender 2.76


クエリちゃんをBlenderに取り込む

クエリちゃんのFBXは次の内容が設定済でした。
・ボーン
・頂点グループ
・ウェイト(重さではなくボーンの影響の強さ)

これらを保ったまま指のボーンを追加する前に必要な手順は次の通りです。
  1. FBXファイルをインポートする
    !EXPERIMENTAL! Apply Transtormをオンにしたほうがいい場合と、オフにした方がいい場合があります。両方試してボーンの位置や向きが最適な方を編集します。
  2. ポーズをデフォルトにする
    取り込み直後は中を浮いているようなポーズですが、Action Editorで Chr_Reference|000_Def|000_Def:BaseAnimation を選択したらデフォルトのポーズになりました。
  3. マテリアルを修正する
    Blenderで正しく表示できるようにマテリアルを一つずつ修正します。
    特に顔は眉・左目・右目・口のテクスチャをそれぞれ独立して差し替えできるように分割しました。
  4. テクスチャを指定する
  5. ボーンの名前を変更する
    X-Asis Mirrorを有効にして左右反対側のボーンも自動で編集するための措置です。
    例:
    Chr_LeftShoulder → Chr_Shoulder.L
    Chr_RightShoulder → Chr_Shoulder.R
  6. ボーンの向きを修正する
    ※MMD付属モデルのようにボーンの向きが頂点グループに重なるように修正します。
  7. 足やつま先にIKボーンをつける
作業途中のクエリちゃん


指のボーンを追加する

3種類の手のポーズのうち、指がまっすぐに伸びているパーの手にボーンを入れることにします。
手を親として指のボーンを追加します。関節は各指に3つとしました。

ボーンごとに頂点グループを設定する

各ボーンと同じ名前の頂点グループを作ってそれぞれの頂点を設定します。

人差し指の先端

人差し指の真ん中
複雑な形の手から全部で30個の頂点グループを作るので慣れないうちは気が遠くなります。


曲げると明らかにおかしい

指を曲げてみるとボーンの通りに曲がりません。階段のようになってます。


原因は頂点グループの重複でした

初期設定のままだと手の頂点グループは指の先まで含まれてます。
手の頂点グループと今回新しく追加した指の頂点グループと重複したため正しく曲がらなかったようです。
手の頂点グループから指の頂点グループを削除しました。
これで指が曲がるようになりました。

ボーンを移動するとボーンに追随しなかったり変形してしまう場合は頂点グループの重複が原因かもしれません。
Blenderに頂点グループの重複を検索する機能があればいいんですね。




関連ブログ

クエリちゃんMMDモデル更新
3次元CGソフト・Blenderの脱初心者を目指す
[Unity3D] 画面表示を左右反転させる方法
[Unity3D] 二つのscene(シーン)を一つにまとめる方法
[Unity3D] サイドバイサイドで立体視できるゲームを作るには
[Blender] obj2opengl.plをJava用に改造する
[Unity3D] Blender could not be found.を解決するには
[Unity3D] Unity4からUnity5へのバージョンアップでの変化
[Unity3D] ゲーム画面をキャプチャしてMovie Studioで動画に編集する

以上、参考になれば幸いです。

0 件のコメント:

コメントを投稿