見出し画像

自作3DをMMDで動かしてみよう!(その3)

あけましておめでとうございます。もぐらもちです。

今年は正月から災難すぎますね…被災された方の復興をいち早く願っております。


↓前回の記事


前回の記事は重要な部分を大雑把に進めてしまったので、今回は気持ちしっかりめに手順を執筆したいと思います。というかここの過程初見だとかなり詰んで心折れそうだったので……

4〜8まで

下準備

前回書き出したfbxファイルをBlenderで読み込みます。
ファイル→インポート▶︎FBX で読み込みたいfbxをクリック。データに問題無ければモデルデータがそのまま反映されるはずです。(Blenderでモデル制作した方は不要)


次に、ニコニ立体でDLしたpmxモデルも読み込みます。(ボーン配置や設定やら参考にしたいので)
前回と同じくファイル→インポート▶︎MikuMikuDance(.pmd,pmx)でデータ読み取り。
pmxデータを読み込めたらfbxの隣に横並びになるよう移動させます。

例なのでサイズ差ありすぎるけど本来はfbxモデルの体型に合わせたデフォルメpmxを並べています


上図のようになってたら準備完了です。

5.ボーン・IK設定

pmxデータから、髪・スカート等の不要なボーンを一旦削除して、必要最低限の必須ボーンのみ表示させます。

これと同じ構成のボーンを作ります。

画面左のバーからMMDを選択し、モデル選択→モデル作成をクリック。

MMDモデルルートオブジェクトを作成の欄が出てくるので、New MMD ModelのままOKをクリック。

モデル中央に1本のボーンが出てくるので、画面左下MMDモデルルートオブジェクト〜のスケールから大きさを弄り、胴体に設置。
拡大縮小ツールでボーンの大きさを弄るのは後に不具合出やすくなるっぽい?のでスケールからボーン大きさを変更しましょう。

基本はこの最初に設置したボーンを押し出し・複製して骨を作っていきます。

※Blenderに標準で入っている通常ボーンはMMD上で動きません。絶対MMDtoolから専用ボーンを取り出しましょう。

Shift+Eで押し出し、Shift+Dで複製、Ctrl+Pで親子関係付け(ペアレント)ができます。リギング関係の参考動画を貼っておきます。

腕や脚の付け根から手首(足首)まで均一にボーンを楽に配置したい時のテクニックを紹介します。

まずは腕の付け根〜手首まで1本の長いボーンを配置。

編集モードでボーンを選択、アーマチュア→細分化で2本の均一なボーンを生成することができます。そこから手首・手やらのボーンを押し出しで生成していきましょう。

デフォルメの特殊な体型なのでわかりにくいですが、腕付け根から手首までボーンが入っています


次に腕や脚に配置したボーンを、対称位置に置きたい時のテクニックを紹介します。

画面右のプロパティ欄から下4つめの人マークアイコン(オブジェクトプロパティ)をクリック。

ビューポート表示→表示 から名前 の欄にチェックを入れます。

先程配置したボーンに名称を付けていきます。名称は隣のpmxデータを参考にしましょう。

こんな感じ

名称変更できたら、腕のボーンを全て選択した後アーマチュア→名前▶︎自動ネーム(左右)で左右の判別付けをします。

LとRで勝手に名前付けしてくれます


その後はアーマチュア→対称化から対称にできます。

脚にも同じ過程をやればOK。


最後に、目の動かすためのボーンを仕込んでいきます。

両方の目に小さいボーンを埋め込んだ後、頭上に両目を動かすためのボーンを配置。この頭上ボーンは目を動かすためのコントローラーみたいなもんだと考えてください。名称付けも忘れずに!

ボーンを右目→左目→頭の順にクリックしてペアレント、
次に両目→頭の順にクリック、ペアレント。下図と同じようになっていれば大丈夫です。

正面から
横から。頭は非表示にしています。

隣のpmxデータと見比べて、ボーンがまったく同じ構成になってたら必須ボーン配置完了。

次に髪や小物等の揺れものボーンを置いておきます。スカートはpmxe上で何とかなるので今は作らなくて大丈夫です。

作る小物や髪の形状によって配置は異なるので、作るモデルに似たpmx配布データを参考にして配置するのが吉です。

髪をしっかり動かしたかったので髪先にボーンを仕込みました


最後に、プロパティ欄の下2つ目の青い骨マーク(ボーンコンストレイト)→MMDボーンツールの名前欄にBlender上の名称と同じ名を入力すればPmxe上でも名前が判別できるようになります。(L,Rは右、左にそれぞれ変換します)


髪や小物、必須ボーンの配置が終わり、MMDの名称付けも終わったらボーン作業は完了です。

デフォルメなので手や足は入れなかったけど、どんな体型でも構造は全部同じです
横からの画像。足を大きく省略していますがボーンは入れてます

オブジェクトモードからポーズモードに切り替え、脚ボーンのIK設定をします。

まずはひざボーン(どちらか)を選択、プロパティからボーンコンストレイトをクリック。

ボーンコンストレイトを追加→インバースキネマティクス(IK)をクリック。


ターゲットは最初に取り出したNew MMD Modelに設定。右のスポイトを選択して画面左のアウトライナーから直に選択しちゃえば楽です。
ボーンは足IKに繋げます。チェーンの長さは2に設定。


次にボーンコンストレイトを追加→回転制限をクリック。

Zにチェックを付け、最小は0.5°、最大は180°に設定。
オーナーはワールド空間からローカル空間に変更。

ひざIK


次は足首ボーンを選択。ボーンコンストレイトを追加→減衰トラックをクリック。

ターゲットは前と同じくNew MMD Model、ボーンはひざに繋げます。

次にIKを追加し、ターゲットはNew MMD Model、ボーンはつま先IKを指定。
チェーンの長さは1。

足首IK



最後につま先ボーンを選択。ボーンコンストレイトを追加→減衰トラックをクリック。


ターゲットはNew MMD Model、ボーンは足首指定。影響は0にします。

足首IK

隣にも同じIK設定を施します。

設定が終わったら隣に置いてるpmxデータと今自分が作ったモデルのIK設定を見比べてみてください。まったく同じ設定になっており、足IKを動かして変形してる箇所が無ければ足のIKは完了。

次は目のIKボーン設定をします。(すぐ終わります)

ポーズモードで目のボーンを選択、その後はプロパティの下3つ目、ボーンプロパティタグからMMDボーンツールを開き、1番下の回転+を選択。ターゲットは両目ボーンを指定。もう片方の目にも同じ設定を施します。

両目ボーンが緑になっていれば設定は完了です。
お疲れ様でした。

6.再テクスチャ設定

オブジェクトモードで適当なオブジェクトを選択、プロパティから下から2つ目の丸いマークをクリック、MMDテクスチャで以前貼った画像を指定します。

(MMDマテリアル、今回はtoon調なのもあってか使わなかったのですがtoon無しならいじる必要あると思います。参考になりそうな記事貼っときます)


次に、モディファイヤーを設定します。プロパティから真ん中らへんにある青いスパナのマーク🔧(モディファイヤープロパティ)をクリック。モディファイヤーを追加→サブディビジョンサーフェスを選択すると、角張ったポリゴンがやわらかくなります。

角張った髪のポリゴンが…
1クリックで柔らかくなります。ただ細分化をやりすぎると重くなるので、髪や目等目立つ場所にかければいいと思います

ここからはモデルをtoon調にしたい時のみ設定します。初期lambertのままでも大丈夫であればここの過程は無視してウェイトペイントに進めてください。

最初にあるプリンシグルBSCFとNormalMapは消しても問題ないです


追加するノードか多いので番号順でいきます。
①追加→シェーダー▶︎ディフェーズBSDF

②追加→コンバーター▶︎シェーダーのRGB化

③追加→コンバーター▶︎カラーランプ
白と黒のバー同士の距離を限りなく近くする(0.25から0.3の間くらい)
位置の左にある欄の数値は1
リニアから一定に変更

④追加→カラー▶︎カラー反転

⑤追加→カラー▶︎カラーミックス
ミックスから乗算に変更
画像ファイルノードのカラーを乗算のAに繋げ、Bで影色を調整する

上図通りにノード同士を繋げれば完了。
大変お世話になった参考動画も貼っておきます。

7.ウェイトペイント

オブジェクトモードでshiftを押しながらポリゴンの全てを選択した後、ボーンを選択し、Ctrl+P→自動のウェイトで でウェイトを塗ります。


ただ、このままだと腕を動かすと髪も変に追従し、腕も離れてスカートも凹むガバ具合が目立ちます。ここらの細かい部分は手動で細かく調整します。

髪に腕のウェイトが勝手に入ってるから変に影響出ている

変なところに追従しているオブジェクトを選択後、オブジェクトモードからウェイトペイントモードに切り替え。

その後プロパティタグの下から3つ目の三角マーク、オブジェクトデータプロパティをクリックして、頂点グループ一覧から意図していないところに追従しているボーンの名前をクリック。

3Dビューポート上にあるドローを選択、右バーからツール→ブラシ設定からブラシサイズの大きさ、ウェイトの数字を変えることができます。

追従してほしくない場合はウェイト値を0.0に、

それなりに追従してほしい場合は0.5に…と、追従して欲しいイメージによってウェイトの数値を大きくしたり小さくしたり調整します。

これを全パーツにやります。地道な作業ですが、ここがBlender上1番の佳境なので無心でやりましょう。

ボーンの角度を弄って、不自然な箇所がなければ完了です。

腕と頭を動かしています

8.モーフ設定

表情設定をします。オブジェクトモードで顔のオブジェクトを選択した後、プロパティの下から3つ目、オブジェクトデータプロパティ→シェイプキーの+ボタンを2回クリック。

ベースとキー1ができると思うので、キー1の方に表情をつけていきます。ベースの方はモデルの基本形状を記憶するためのものなので、変形させないようにしましょう。

キー1に表情を登録していきます。キー1を選択したまま、編集モードに入ってください。

そのままオブジェクトを変形させ、表情を作ります。
この時、頂点の数を変更しないでください。

瞬きを作りました

変形が完了したら、オブジェクトモードに戻し、シェイプキーから値の数値を変更すると、表情の変形が確認できるはずです。

値の数値を中途半端にすると半目もできます

+を押すとキーを追加できます。この調子でガンガン表情を追加していきましょう。
自分の作ったモデルの表情変化が楽しめるのでBlender上でここの過程が1番楽しかった


参考になった記事を貼っておきます。


ここまでの過程を無事に設定できたらBlenderでのセットアップは完了なので、pmxeに移行させるためモデルを書き出します。

最初に生成したアーマチュア(New MMD World)を選択後、ファイル→エクスポート▶︎MikuMikuDanceを選択すればエクスポートが完了できます。

その後PMXEditerを起動、ファイル→インポートから先程Blenderでエクスポートしたpmxを選択。

白いモデルが画面に表示できてたら今回は終了です。長い道のりでしたね。お疲れ様でした。

詰み箇所解説

Q.IKを設定したらボーンが変な方向に曲がる!
A.設定ミスかBlender側のバグ!

IKデータに問題がない場合でも、たまにIK設定したボーンに謎の角度が入る時があります。そういう時は一旦IKを消去して、もう一度設定し直してください。私は大抵この手順で治しています。

Q.テクスチャが真っピンクにしか表示されない!
A.テクスチャを指定している画像フォルダの位置が違う

シェーディングから再度テクスチャのフォルダを指定してあげましょう。
ピンクのテクスチャは参照が切れている時に出てくるバグみたいなものです。


Q.PMXにエクスポートしようとしてもエラーが出てきて書き出せない!
A.原因がどれにあるか特定しよう

Blender君は気まぐれなので、PMX書き出しに失敗する時としない時があります。原因を探ってみましょう。

新規のデータを開き、初期の四角ポリゴンにMMD tool→モデルを作成から新規アーマチュアを作成。
その後四角→ボーンの順に選択して、「空のグループで」でペアレント。
最後にNew MMD Model を選択→pmxにエクスポート。


これで正常にエクスポートできたらモデルに問題があり、失敗したらBlender側に問題があります。

モデルに問題があるなら今1度設定漏れが無いか、モデルとボーンでペアレントできてない部分が無いか確認し尽くしましょう。


Blenderに問題があるならどうにもならないので最終兵器を使います。

Blender2pmxenをインストールします。

Blender上で有効化できたら、エクスポートの欄にPMXファイル for MMD(機能拡張版)が追加されているはずです。

確認できたら、アーマチュアではなく、ボーンの方を選択。ファイル→エクスポート▶︎機能拡張版をクリックし、pmxデータの名称を指定。これでエクスポートできたら成功です。もしかしたらこれで解決できるかも…しれません。

【おまけ】豆知識

豆知識というか、あると便利なBlenderアセットの紹介です。(有料です)

時間も労力もげっそり吸われるボーン設定とウェイトペイント。これらをBlender上で全部やってくれる神アセットがこの世に存在します。

筆者が使ったことはまだないけど、いずれ自分が使ってみたいな…というメモ代わりです。ウェイトペイントは特に。


1つ目 Auto-Rig PRO

関節の位置を指定してあげれば自動でボーンを入れることができるので大幅な手間と時間短縮が可能に!

リンク先の動画を参考にして頂けたらわかるかと思いますが、なんと人間だけでなく鳥や恐竜という動物にも対応しているハイスペックアセット。

価格は40ドル。安価な19.5ドルの機能制限版もありますが、機能がフルで使えるPro版の購入を推奨します。


2つ目 Voxel Heat Diffuse Skinning

ポリゴンをボックスに換算して、自動でウェイトを計算してくれる…らしいです。これのみで完璧に設定完了はできないけど、面倒なウェイトペイント作業が9割終わります。これだけでも魅力的すぎる響きです。価格は30ドル。

装飾がある場合でも綺麗に動いてくれます

この2つはMMD以外のモデリング作業でも活躍する箇所が多いので、買う価値はあるかと思います。そこらへんは自分のお財布やBlenderの使用頻度と相談しましょう。

また、Blenderの外部アドオンは面白そうなのもいくつかあるので、Blenderマーケットを覗いてみるといいものが見つかるかもしれません。


今回の記事は以上です。長いし初回だと不慣れで時間かかるので、休憩挟みつつゆっくりやりましょう。

次はpmxe編です。ここさえ乗り越えたら後はウイニングランみたいなものです。頑張りましょう。

いいなと思ったら応援しよう!