まずはBlenderでのモデルのセットです。
BlenderはUnityとの連携もカバーされているようなのでもしかしたら便利かも?
と、思いBlender経由でunityに出力してみます。
(筆者がBlender超初心者のため、初歩的な内容も合間に入ってきます;)
下記のプラグイン使えば楽々Blenderへメタセコで作ったモデルが持ってこれました。
mqoインポータ更新 - Pythonスクリプト・Plug-in - フォーラム - Blender.jp
メタセコからBlenderへ(モデルは制作途中のオリキャラです)
カメラのパースとベスト後ろのスカート部分の描画が気になりますね。
調べたところ「N」キーで出てくるビューで調整出来ました。
●Blenderでの骨入れ
下記のマニュアルとブログサイトを参考に進めていきます。
Unity - マニュアル: Blender と Rigify の使用
【Unity】Blenderで人型のボーンを入れて、Animatorで走るアニメを再生する - おもちゃラボ
まずRigifyアドオンを有効に。
ファイル>ユーザー設定>アドオン>Rigging:Rigifyにチェックを入れる。
・ アーマチュアの設定
追加>アーマチュア>Human(Meta-Rig)
アーマチュアにスケールをかけておおよそサイズを合わせたら値をリセットしておく。
オブジェクト>適応>拡大縮小(or位置等)
編集モードにしてボーンの関節位置を合わせる。
アーマチュアオプションのX軸ミラーにチェックを入れることで左右対称に編集可能。
・Rigの生成
Armatureを邪魔にならない位置へよけ、とマニュアルにあったのでよけてますが非表示にするだけで問題なさそう。
Armatureを選択、Object dataタブ>Rigify Buttons>Generateをクリック
すると、Rigが生成される。
Rig生成時に出来たWGTのついたボーンはスキニングされずまったく使用されないそうなので削除する(なぜ生成されるのか?)
・リグをモデルにスキニング
オブジェクトモードでShiftを押しながらモデル→リグの順番で選択し
Ctrl+p>自動のウエイトで
と、ここで問題発生!!
スキニング時に一部ポリゴン面が消えるという現象が!
ここで大分時間ロスしていましたが、下記のブログ内容で解決しました。
Blender v2.76で作成したモデルをMecanim用に設定してUnityへインポートする ~ ぎーくなぁど
Auto Run Python Scriptsにチェックが入っていないと起こるようです。
チェックを入れたら正常にスキニング出来ました。
あと、Unityマニュアルには
肩を“DEF-shoulder.R” と “DEF-shoulder.L” にスキニングして、親が “ORG-ribs” であることを確認します。
とあるのですが、ORG-ribsは見当たらず…。
こちらについても上記ブログで触れられていたので参考に調整行っていきます。
親子関係を正していく作業です。
DEF-hipsをORG-hipsの子に
というように
中心軸にある(hips等)5組、腕4組、脚4組、指10組を親子関係調整。
なかなか手間がかかりますね…。
残りはウエイト調整。
・ウエイト調整
1.ウエイトペイント
オブジェクトモード時オブジェクト選択してCtrl+Tabでウエイトペイントモードになる。
頂点グループから入れたい箇所指定してヌリヌリ。
2.ウエイト数値編集
頂点グループで一度適用を行う必要があるようです。
複数の頂点ウエイトの情報は表示出来ない模様。
mayaやXSIみたいに調整したい箇所一括で数値入力は難しい?
他にもグラデーション塗りなるものがあるようですね。
ウエイトはこちらの記事がしっかり書かれてました。
これでひとまず形になりました。
次はUnityへ出力テスト!