blenderでMMDモデルを作ろう|第8回:エクスポート
blenderでMMDモデルを作ろう|第2-?回:ウェイト(エクスポートしてみる?) - うさこのブログ
上記事とかぶる部分も多くなると思いますが、pmxへのエクスポートの手順をまとめます。
- Vertex Mix Modifierを使用している場合は適用しておく
- 不要な頂点グループを削除した後、Weight ToolsのLimit Total: 4にしておく
- エンプティ -> アーマチュア -> メッシュという親子関係を作っておく
これらの手順は上記事のほうが詳しく書いています。
一つ目と二つ目はやってなくても大丈夫なこともあるので、一度エクスポートしてみてウェイトがおかしかったらblenderに戻って一つ目と二つ目を試すというのもありだと思います。
最後のエンプティですが、Shift + A keyから生成する通常のエンプティではだめで、エクスポートのためのエンプティはmmd_toolsのCreate New Modelから作ることができます。
例えばblender内で全く新しいアーマチュアを作ってそれをpmxにエクスポートしたい場合は、
- Create New Modelをポチ(エンプティとアーマチュア(全ての親ボーン)が生成される。)
- エクスポートしたいアーマチュア -> 先ほど生成されたエンプティの順でShift選択し、Ctrl + P key -> Object (Keep Transform)で親子関係を作る
-
Create New Modelで生成された方のアーマチュアを削除
この状態でエンプティを選択しエクスポートすると所望のアーマチュアがエクスポートできます。
また、pmxエディタやMMDで表示されるモデル名やコメントもblender内で設定できます。
エンプティを選択した状態でオブジェクトタブを一番下までスクロールするとMMD Model Informationがあり、そこで指定できます。
適当な名前を付けました。
コメントは、テキストエディタを開きブラウズボタンから[モデル名]_commentを選択すると編集できます。
デフォルトでは exported by mmd_tools となっており、今回はこのままでいきます。
画面左側のパネル、mmd_toolsで、ボーンやモーフの表示枠もblender内で設定できるようになっています。
これに関してはpmxエディタのほうが楽だと思うので、私はblender内ではあまりやりません。
また、mmd_toolsでエクスポートされる際、モディファイアは今見えている状態が適用されるようです。
例えば、サブサーフの場合Viewが2、Renderが1になっていると、2の状態でモディファイアが適用されるみたいです。
ちなみに、blender内でどんなポーズをしていても、どれだけモーフがオンになっていてもエクスポート時には反映されません。
では、エンプティを選択した状態で画面左側パネルのmmd_tools、Model: Exportでエクスポートしてみます。
Copy Texturesに✔が入っていると新たにtexというテクスチャ用のフォルダが生成されます。
(既に作ってあるのでオフにしました。)
Visible Meshes Onlyに✔が入っていると、3Dビューポート上で非表示になっているオブジェクトはエクスポートされません。
(今回特にそういったオブジェクトはありませんがなんとなく✔してみました。)
エクスポートしたものをpmxエディタで開いてみると、きちんとエクスポートされているようです。
ファイル -> pmxデータの検証からデータを確認したところ、表示枠以外は問題なさそうです。
MMDでも読み込んで躍らせてみます。
hinoさんの[A]ddictionモーションをお借りしました。
エフェクトも使ってみます。
東郷 枢さんのTPOShader、966さんのAlbino_Toonをお借りしました。
(まばたきの時、二重ラインのところがギザギザしていたので「さっき諦めたテクスチャのあのギザギザかー!」と思って、blenderに戻ってギザギザを再度Smearブラシできれいに整えてみましたが、変わりませんでした。)
また、曇@のあきさんのGirlsモーションを流し込んだところ、ひじに破綻が見つかりました。
blenderに戻ってweightのlimit total:4にすると、10 vertex weight limitedのメッセージが。
再度MMDに読み込んで確認したところ、ひじの破綻はなくなりました。
(そういえば、エクスポート直前にひじのループカットを増やしていました。)
他は特に大きな問題はなさそうなので、ひとしきり躍らせた後blenderにもどり、今度は物理演算のための準備をしていきます。
blenderでMMDモデルを作ろう|第7回:材質分け
次は材質分けをしていきます。
モデルを配布し始めのころ、材質分けの重要性やなんのためになん十個もの材質に分けてるのかわからず、必要最低限しか材質をわけてませんでした。
MMDでエフェクトを使う際に、材質が細かく分けられていた方が便利だそうです。
あとは改造のときとか。
モデルを配布せず自分だけが使うということであれば自分の必要な分だけ材質をわけ、配布する予定の場合はある程度は細かく分けておいた方がいいみたいです。
まず顔からやっていきます。
前記事で作った顔.001というマテリアルは顔_透過に変更しておきました。
顔のオブジェクトを選択後、+ボタンをポチ -> マテリアルマークのブラウズボタンから顔を選択、を繰り返し、顔のマテリアルを必要そうな数だけ増やします。
Fマークのとなりにある数値をポチ、顔のマテリアルを複製しました。
適当に名前を変更しました。
△▽ボタンで順番を変え、透過が一番下にくるようにしました。
編集モードに入ってL keyでパーツを選択し、所望のマテリアルにAssignします。
私は、AssignしたらH keyで非表示にし、どんどん見える部分を減らしながらマテリアルを徐々にAssignしていきます。
適宜上記と同様の方法でマテリアルを増やします。
マテリアルを選択した状態でSelectを押すと、割り当てられた面を確認することができます。
分け終わりました。
mmd_toolsでエクスポートされるときは、基本的にこの材質の順番になります。
(異なるオブジェクトで同じマテリアルを使っていたりするとまた変わってきます。)
mmd_toolsではblender内で、拡散色や反射色などpmxエディタと同様に材質の設定ができます。
pmxエディタだとshift選択で一気に複数の材質の拡散色を変更したりできますが、blender内ではできません(たぶん)。
blenderで各材質の設定をするのは少しめんどうですが、このあとエクスポートし材質設定を変更、MMDで確認 -> blenderに戻って作業-> 再度エクスポートし材質設定を変更 ->...を繰り返すのもめんどうです。
材質分け後の材質設定はblenderでやってもpmxエディタでやってもどっちでもいいと思います。
私はblenderでやります。
マテリアルタブを一番下までスクロールすると、MMD MaterialとMMD Textureというのがあり、そこで材質やテクスチャの設定をすることができます。
(pmxエディタとだいたい位置関係も同じなので英語は雰囲気でわかるんじゃないでしょうか...。)
スフィアやtoonのテクスチャはAddボタンからテクスチャを選択できます。
スフィアの加算、乗算などの指定はSphere Map Typeというところから選択できます。
(Toonはいつも自前のものを使っていたので初めてやってみたのですが)
MMDと同梱のtoonテクスチャを使用する場合、まずUser Preferencesでtoonのあるフォルダを指定する必要があります。
User PreferencesのAdd-onsタブ、Objectのところからmmd_toolsを開き、Shared Toon Texture Folderのところで MMD\MikuMikuDance_[version]\Data を指定します。
そして先ほどのMMD TextureでUse Shared Toon Textureに✔。
右の数値を変更するとToonの種類が選べます。
となっているようです。
初めてMMDと同梱のToonを指定してみたところ、blenderでの表示はなかなか怖いことに。
一度エクスポートして確認してみましたが、MMDではきちんと普通の影の表示になりました。
自前のtoonテクスチャに戻し、すべてのマテリアル(材質)の設定が終わりました。
同様のことをすべてのオブジェクト/マテリアルで繰り返します。
全部で19の材質に分け終えました。
次はエクスポートします。
blenderでMMDモデルを作ろう|第6-2回:目、眉、照れ
次は目のモーフ、まずはまばたきをつくっていきます。
私はまつげにかなりの厚みをつけるんですが、皆さんどうしてるんでしょう...(勉強不足)。
太いメインの線(以下、いもむしと書きます)には厚みがあり、まつげ一本一本はそれとつながっていない厚みゼロの板でつくっています。
まばたきは、下まつげはあまり動かさず、上まつげを下まつげにそわせるような形に変形させていきます。
とりあえず真ん中をぐいっとさげ、その両脇を下げ...という感じで上いもむしを下げていきます。
上いもむしを下げ終わったので、今度は上まぶたのほうをさげていきます。
二重ラインのあたりはあまり動かさないようにしています。
目がとびでているので目の中心周りの面を選択し、Propotional EditingをEnableにした状態で前に引っ張ります。
したから見たときに隙間があいているので下いもむしを少し前に出します。
二重ラインが少しうまっていたので引っ張り出しました。
テクスチャがにじんでいますがもはや気にしないふりです。
オブジェクトモードでシェイプキーの値をスライドさせ変形を確認すると、右目のハイライトが飛び出していました。
なのでもう一度瞳周りの面を選択し、Proportional EditingをEnableにした状態で前に引っ張ります。
オブジェクトモードでシェイプキーの値をスライドさせ、目を開いたり閉じたり、いろんな方向から変形を確認します。
この状態が満足いくまで調整し、気に入ったら最後にまつげ一本一本を移動させます。
まず上いもむしの位置まで下げ、
ちょっと下向きになるように回転させます。
すべての上まつげを下げ終わりました。
テクスチャのにじみがちょっとやばいレベルなので、テクスチャペイントモードに入り、ベイクで作った顔のテクスチャをSmearブラシで下から上にぼかしました。
UV Image Editorの方で画像の保存を忘れずに!
(上の方のギザギザはあきらめました。)
とりあえずまばたきがでました。
次は「笑い」(目)をつくっていきます。
笑いは何度つくっても慣れません。
まずは上いもむしを少しずつ下げ、笑い目っぽい形にします。
今度は下いもむしを上いもむしに沿う形になるように少しずつ上げていきます。
上げ終わりました。これを遠目から目を細めてみて、笑ってるっぽいかな?となったら上まぶたと下まぶたもいもむしに沿うような形に調整していきます。
上まぶたと下まぶたを下げ/上げ終わりました。ちょっと狐目っぽいです。
(一本一本のまつげが邪魔だったのでH keyで非表示にしました。)
目じりあたりの面を選択し、Proportional EditingをEnableにした状態で少し下に下げました。
まばたきと同様にオブジェクトモードでシェイプキーの値をスライドさせ、目を開いたり閉じたり、いろんな方向から変形を確認し、満足したらまつげ一本一本も上下に移動させます。
全体的に位置が高いかなーと思ったので、上いもむしと下いもむし、二重ラインを選択し、Proportional EditingをEnableにした状態で少し下に下げました。
最終的に、笑いはこんな感じになりました。
(気に入らなかったら何度でも作り直せばいいんだ!)
こっからどんどん適当になります。
基本、Proportional EditingをEnableにした状態です。
笑いシェイプキーをNew Shape From Mixで複製し、目頭と目じりをあげて「なごみ」。
まばたきシェイプキーの値を0.5くらいでNew Shape From Mixで複製し、「じと目」。
丸で囲んだあたりを少し上にあげ、「下瞼上げ」。
まるで囲んだあたりを上げ/下げ、「見開き」。
こんな感じで目のシェイプキーを量産します。
眉もほんとに同じようなやり方です。
今度はProportional EditingをConnectedにした状態にし、丸で囲んだあたりを下げ、「真面目」。
ってな感じです。
その他のシェイプキーも同じように作っていきます。
たぶんちゃんとしてる人は顔の筋肉はこうだからこう動くはずで..とか考えてやってるんだろうなぁ...とぼんやり考えながら、私がいつも作るその他のシェイプキーも作り終えました。
最後に透過材質を使った照れを作ります。
Basisを選択した状態で編集モードに入り、ピボットポイントを3Dカーソルに、3Dカーソルを頭の中心あたりに配置します。
ほっぺを赤くしたいあたりの面を選択し、
Shift + D keyで複製します。
すぐさまS key -> 0.5で二分の一に縮小。
Basisでこうすることで、その他のあいうえおなどのモーフのときもこれらの面はこの位置をキープしてくれます。
オブジェクトモードで新たに照れというシェイプキーを作成し、編集モードに入り、先ほどと同じ位置に3Dカーソルがある状態でS key -> 2で二倍にし、もとのほほの位置に戻します。
Alt + S keyで法線方向に少し拡大し、もとのほほから少しだけ浮かせます。
これらの面を選択したまま、UV Image Editorで空いている部分に移動させます。
次は材質の設定をしていきます。+ボタンからマテリアルのスロットを追加し、顔のマテリアルを選択します。Fボタンのとなりの数字をポチ、顔.001という現状顔と同じ状態のマテリアルが生成されます。
これに、編集モードで先ほどの面をAssignしておきます。
顔.001を選んだ状態でテクスチャタブを下にスクロールし、アルファのところに✔。
次はマテリアルタブを下にスクロールし、Transparencyに✔。
アルファを0にします。
この状態でUV Image Editorをペイントモードに切り替え、顔のテクスチャの空いている空間をTexDrawブラシののErase Alphaモードで透明にします。
これで先ほどの面が透明になったと思います。
テクスチャペイントモードに入って塗っていこうと思います。
!!私だけかもしれませんが、なぜかこの工程でオブジェクトモードからテクスチャペイントモードに切り替える瞬間blenderが落ちることが多いです。
モードを切り替える前にファイルを保存したほうがいいかもしれません。!!
下は面マスクモードにしている状態なんですがなんとなく見えづらいです。
そこでシェイプキーのMaxの値を一時的に1を超える値に設定し、照れシェイプキー1.1くらいの状態にします。
これで面がさらに外に飛び出したと思うのでこの状態で塗っていきます。
最終的にこんな感じで落ち着きました。
何度でも言いますがUV Image Editorでの画像の保存を忘れずに!
これで一通りの左右対称モーフを作り終えました。
次は材質分けをやっていきますー。
blenderでMMDモデルを作ろう|第6-1回:左右対称モーフ、瞳、口
モーフ(シェイプキー)を作っていきます。
blenderではシェイプキーを作った後モディファイア(ミラーやサブサーフなど)を適用することができません。
そのためミラーなどのモディファイアを適用してからシェイプキーを作り始める人が多いと思います。
ミラーモディファイアを適用した後の場合、シェイプキーの機能にミラーというものがあるので、左目でまばたきを作ってからミラーし右目のまばたきを作る、というようなことができます。
しかし!このミラーというのがよく失敗するのです(絶対左右対称なはずなのに!意味ワカンナイ!)。
シェイプキーのミラー失敗系のblenderの質問をたくさん見たことがあるので私だけじゃないと思います。
そのため私は、ミラーモディファイアを適用しないまま左右対称のモーフを一通り作ったあとpmxにエクスポートし、blenderに再度インポートしてから非対称のモーフをつくります。
(シェイプキーを作ったあとでも、エクスポート時にモディファイアを無理やり適用してくれるmmd_toolsの特性を利用します。)
簡単な目のモーフから作っていきます。
(超絶どうでもいいことなのですが、前記事から、ピアスを付けたり指輪を付けたり爪の色をかえたり千鳥格子をチェッカー柄に変更したりしました。)
目のオブジェクトを選択し、オブジェクトデータタブのシェイプキーのところで+ボタンをポチ、基準となるBasisをつくり、もう一度+ボタンをポチ、1つめのシェイプキーを作成します。
瞳小から作ります。編集モードに入り、瞳部分をL keyで選択しS keyで縮小します。
うまったのでG keyで手前に動かしました。
オブジェクトモードでシェイプキーの名前を変更し、バリューをスライドさせると瞳が小さく変形しました。
同じことをハイライトのオブジェクトでも繰り返します。
左と右のハイライトはShift + D keyではなくAlt + D keyでオブジェクトデータを複製しているため、片方でシェイプキーを作るともう片方にも反映されるようになっています。
mmd_toolsでエクスポートした場合、複数のオブジェクトで共通した名前のシェイプキーを作っておくと、MMDでモーフを使用したときすべてのオブジェクトに反映してくれます。
例えば、blenderでは瞳のオブジェクトを選択->瞳小シェイプキーを1に、ハイライトのオブジェクトを選択->瞳小シェイプキーを1に、とする必要がありますが、エクスポート後にMMDで瞳小モーフを1にすると瞳もハイライトも小さくなってくれます。
瞳大も同様の手順で作りました。
次はあいうえおを作ります。
あいうえおの作り方はこちらのブログが参考になります。(というか、以下で説明するのはこのブログのやり方とほぼ同じです。)
顔のオブジェクトを選択し、シェイプキーの+ボタンを2度ポチポチ。
(唇のペイントのときに作った突貫シェイプキーは削除しておきました。)
髪は邪魔なので非表示にしています。
まず、「あ」から作ります。
3Dカーソルを耳の根本あたりに配置し、ピボットポイント(移動や回転の基準、Edit Modeのとなりのとなりのアイコン)を3Dカーソルにします。
プロポーショナルエディティングもコネクテッドにしておきます(頂点/辺/面選択モードのとなりの丸いアイコン)。
だいたいこのあたりの頂点を選択し、
R keyで下に回転させます。
上唇も同様の方法で上に回転させます。
前から見るとこんな感じです。
唇と口内の分かれ目周りの頂点を選択し、smooth vertexを連打するとこんな感じになりました。
(ちなみに私はsmooth vertexを多用するのでUser Preferencesでショートカットキーを作っています。)
歯と舌は「あ」と「い」を作ったあとにシェイプキーを作ります。
次に「い」を作ります。
まず、口を横にのばしたようなシェイプキーを作ります。
今度はピボットポイントをアクティブエレメント(最後に選択した頂点/辺/面)にして、このあたりの頂点を選択します。
S keyで縮小すると、口をよこにひっぱったような形ができました。
最初に作ったシェイプキーと2つ目に作ったシェイプキーの値をいじり、たしあわせて「い」っぽい口にします。
そして+とーのしたの▽ボタンからニューシェイプフロムミックス (New Shape From Mix) を選択すると、今の状態のシェイプキーが新たにつくられます。
ここから歯のほうもいじっていきます。
「い」の口のときに歯がちょうどいい位置にくるようにオブジェクトモードで移動させます。
ちょっと下に下げました。
デフォルトの形(位置)で、「い」や「う」のシェイプキーを作りたいためにこんなやり方をしています。好みの領域です。
顔で「あ」のシェイプキーを1にした状態で、歯のほうでも同様のやり方で「あ」を作ります。
下の歯が隠れてしまったので、顔の方の「あ」のシェイプキーを選択し、口内の粘膜を広げます。
前から見るとこんな感じです。
これで「あ」と「い」ができました。
(ここまで読んでくれた方はもうお気づきかと思いますが、私はなんもかんも適当にやってます。それっぽければいいや精神です。)
次は「う」を作ります。
まず、口をうー!と突き出したようなシェイプキーを作ります。
ピボットポイントをアクティブエレメントにし、このあたりを選択し、最後にx軸0の頂点を選択します。
S key -> X keyでX軸に縮小します。
今度は中心付近の面を選択し、Alt + S keyで法線方向に少し拡大します。
今度は横から見ながら、中心付近の面をG keyで前の方に動かします。
「い」のときと同じように、今作ったシェイプキーと「あ」のシェイプキーと組み合わせて「う」っぽい口を作り、New Shape From Mixをポチ。
これで「う」ができました。
「あ」と「う」を組み合わせて「お」っぽい口を作ります。
(歯のほうは「あ」のシェイプキーを値をいじっています。)
New Shape From Mixをポチ。「お」ができました。
「え」を作る前に「にやり」を作ります。
ピボットポイントをアクティブエレメントに、このあたりの頂点を選択し、最後に上の方の頂点を選択。
S keyで縮小すると、口角があがります。
「にやり」ができました。
今まで作ったシェイプキーを組み合わせて「え」っぽい口を作ります。
(「あ」との違いがよく分かりませんが..。)
New Shape From Mixをポチ、で「え」ができました。
適宜、組み合わせで作ったシェイプキーを調節するといいと思います。
歯舌のほうでも「あ」のシェイプキーの値をいじりつつNew Shape From Mixで「え」と「お」をつくれば「あいうえお」完成です。
嬉しいので確認もかねてリップモーションを流し込んでみます。
顔または口内のオブジェクトを選択した状態で、mmd_toolsのMotionのImportから好きなモーションを選びます。
(今回もyurieさんのクラブ=マジェスティをお借りしました。)
mmd_toolsではメッシュを選択した状態でモーションをインポートするとモーフのモーションのみがインポートされます。
モーションを流し込んでいない方のオブジェクトを選択した状態で、ドープシートを開き、シェイプキーエディタで同一のモーションを選択できます。
アーマチュアのモーションもクラブ=マジェスティにした状態でAlt + A keyでアニメーションをスタート。
ちょっと口が開きすぎな気がしますね..。
気に入らないので、「あ」「え」「お」それぞれで、シェイプキーの値を0.8くらいにし、New Shape From Mixで新たなシェイプキーを作りそれを「あ」「え」「お」としました。
もう今後口内のオブジェクトの位置は変えないと思うので、Ctrl + J keyで顔と口内のオブジェクトを統合しました。
あと舌の色も気に入らないなぁと思ってベイクしなおしました。
「あいうえお」に関してはほんのり考えながら作っていますが、ωとか^とかのモーフはなんとなーくでやっています。
「ニカッ」とか「いーっ」とか、「い」から派生させられるモーフや、「ヮ」のように「あ」と「にやり」の組み合わせから作れるモーフなど、既存のモーフを組み合わせて作れるものも多いので、その他の口モーフはあまり時間がかからないかと思います。
その他の口モーフもなんとなーくで作り終え、次は目などのモーフを作っていきます。
blenderでMMDモデルを作ろう|第5-3回:ベイク、体
顔とほぼ同様の手順で体もベイクでテクスチャを作っていきます。
まずは上半身のオブジェクトを選択、編集モードに入り、UV Image Editorで新たな画像(体_ベイクとしました)を生成します。
次は下半身を選択、編集モードに入り、UV Image Editorで先ほどの体_ベイクを開きます。
手も同様です。
今度はヘミライトをx,y,z軸0にしてベイクしてみます。
上半身、下半身、手のオブジェクトを選択した状態で、ベイク(フルレンダー)をポチ。
体_上という名前で保存しました。
服はこれでいいかなとおもうのですが、このままだと手のひらがまっくろなので、今度はヘミライトをx軸180度にし、手のオブジェクトだけ選択してベイクします。
手_下という名前で保存しました。
顔の時と同様にInkscapeで合成します。
体.pngという名前でエクスポートしました。
blenderに戻り、上半身、下半身、手のオブジェクトをShift + D keyで複製します。
複製前のオブジェクトのマテリアルをすべて削除しました。
体という新たなマテリアルを作り、テクスチャタブから先ほどエクスポートした体.pngを開きます。
マテリアルタブでシェードレスに✔をいれると、ベイク前と似たような見た目になりました。
ズボンをよく見ると、千鳥格子が少しギザギザしてます。
必要に応じてベイクするときの画像サイズを変更するといいと思います。
スカルプトしたしわの方はほぼわかりませんねw
スカルプトで服のしわを作ってベイクしたら、その後しわにあわせてメッシュのほうにもしわを作るとよりリアルになります。
顔の時と同様に、手にも線が入ってしまいます。
(ヘミライトを2つ2方向から設置して1度のベイクにしたらいいんじゃない?と思ったんですが、そうするとすごくのっぺりして凹凸がない感じになってしまうんですよね…)
blenderでMMDモデルを作ろう|第2-?回:ウェイト(エクスポートしてみる?) - うさこのブログ
上記事と同様のやり方で一度エクスポートしてみました。
拡散色1、反射色0、環境色0.4にしています。
とりあえずこれですべてのテクスチャを準備しおえた(おえたことにする)ので、次はモーフです!
blenderでMMDモデルを作ろう|第5-2回:ベイク、顔
ベイクで顔のテクスチャを作っていきます。
唇の下や鼻の下の影とかを作りたいけど、ペイントで描けねーッ!てことでベイクです。
ただ、やり方が結構独特だと思うので、もっといいやり方があると思います。
(私も知りたい!誰か教えて!)
ベイクの前に私がいつも使う肌のマテリアルについても触れておきます。
シーンにヘミライトが1つあり、x軸65度の状態です。
- 左、Lambert(マテリアルのデフォルト)
- 右、Lambert + Ramp(いつも使うやつ)
- 真ん中、右の印影をやわらかくしたもの
右と真ん中のマテリアルではcolor rampというものを使用しています。
いろいろいじくった結果こんな感じで落ち着きました。
右のやつが肌っぽくて好きでよく使っています。
顔の中心が明るく、頬のほうに赤みがある感じです。
ただ、最近は、こんなに色が違うとMMDでエフェクトを使った時に色の違いが強調されすぎたりしまうので、よくないかなぁと思い始めました。
なので今回は、まんなかのように右を弱くしたものにします(Factorの値を小さくしました)。
カラーランプを使って、Inputの部分やBlendの部分を変えるといろんなマテリアルの表現ができるのでおすすめです!
では、ベイクの準備をしていきます。
顔のオブジェクトを選択し、編集モードに入り、UV Image Editorで新しい画像を生成します(顔_ベイクという名前にしました)。
口内のオブジェクトも同じ画像にベイクしたいので、口内のオブジェクトを選択し、編集モードに入り、UV Image Editorのブラウズボタン(画像マークの横に△と▽がついたアイコン)から先ほど生成した顔_ベイクの画像を選びます。
顔と口内のオブジェクトをShift keyを押しながら両方選択した状態で、レンダータブ下のベイク、フルレンダーをポチしました。
ライトを前から当てているため頭の後ろ側はまっくろになっています。
(このあたりから独特のやり方になっていきます...。)
そこで、ヘミライトを後ろから当ててフルレンダーでベイクした画像を作り、画像編集ソフトで二つの画像を重ねます。
まずは先ほどの画像を、顔_前という名前で保存しておきます。
ヘミライトをx軸-65度にしてもう一度フルレンダーでベイクしました。
今度は顔の前側が暗くなりました。
これを顔_後という名前で保存します。
ここから画像編集ソフトを使います。
私はInkscapeを使っていますがGIMPやフォトショでも同じことができると思います。
(Inkscapeでは、画像インポート時にLinkを選んでおくと画像を変更した際に自動更新されるため、inkscapeを使っています。)
背景、顔_前、顔_後という3つのレイヤーを作りました。
顔_前のレイヤーに顔_前.pngをインポート、顔_後のレイヤーに顔_後.pngをインポートしました。
2つの画像をぴったり重ね、顔_後のほうのレイヤーのブレンドモードをLightenにします(たぶん比較(明)というやつです)。
背景のレイヤーに適当な肌色の四角形を作り、これら3つを重ねたものをエクスポートします(顔.pngという名前にしました)。
blenderに戻ります。
顔と口内のオブジェクトをShift + D keyで複製し、右に移動させておきます。
複製前のオブジェクトのマテリアルをすべて削除しました。
なぜ複製するかというと、気に入る結果になるまでベイクを何度かやり直すことがあるためです。
複製してなかったらマテリアルの割り当てを何度もやり直すことになり面倒なので…。
マテリアルを削除したほうの顔で、新たに顔というマテリアルを作ります。
テクスチャタブで先ほどエクスポートした顔.pngを開きます。
マテリアルタブを下にスクロールし、シェーディングのところのシェードレスにチェックを入れます。
複製したものと同じような見た目になりました。
ここがこの方法の最大の難点ですが、顔を横から見たときに縦に線が入ってしまっています。
これがすごく気になる場合はテクスチャペイントモードでぼかしのブラシを使ってぼかすようにしています。
が、基本的にしません...。
口内のオブジェクトにも同様の顔マテリアルを割り当て、これで顔のベイクはおわりです。
blenderでMMDモデルを作ろう|第2-?回:ウェイト(エクスポートしてみる?) - うさこのブログ
上記事と同様のやり方で一度エクスポートしてみました。
拡散色1、反射色0、環境色0.4にしています。
ここで肌の色味などが気に入らない場合は、マテリアルの色などを変え再度ベイクすることになります。
気に入るまで何度でもベイクします。
次は体のベイクをしていきます。
blenderでMMDモデルを作ろう|第5-1回:ベイクとは、種類、手順
ベイク(焼きこみ)は「3Dを2D画像に落とし込むこと」と私は考えています。
(シミュレーションの保存もベイクと呼ばれたりします。)
デフォルトキューブでやってみるのでそれでイメージできるかもしれません。
キューブの各面にそれぞれ異なるマテリアルを割り当てました。
一つのマテリアルには上から千鳥格子も重ねています。
Smart UV Projectというのを使ってUV展開もしました。
Marginの値を大きくして、UVに隙間を与えています。
また、マルチレズモディファイアを使い、軽くスカルプトもしました。
いざベイク!
まずは編集モードに入り、UV Image Editorを開き、Newボタンをポチ。
適当な名前を付け、サイズを指定します。色は何でもOKです。
これで、キューブ_texという画像が、このオブジェクトに割り当てられました。
この状態がめっちゃ大事です。
カメラマークのレンダータブの下の方にBakeがあります。
ベイクにもいろいろ種類がありますが、まずテクスチャ(Textures)をやってみます。
Clearのところにチェックが入ってると画像をいったん全部透明にしてからベイクされます。
マージンが各UVの島(パーツ)からどれだけはみ出すかです。
Bakeボタンをポチ、すると、さきほどの真っ黒な画像がこうなりました。
この画像をImage -> Save as Imageで保存します(大事!)。
キューブを複製し、今ある6つのマテリアルを全て削除しました。
マテリアルタブでNewをポチ、新たなマテリアルを割り当てます。
テクスチャタブでNewをポチ、ImageのOpenから先ほど保存した画像を開きます。
すると、2つのキューブは全く同じ色になりました。
オレンジのマテリアルの上に張っていた千鳥格子もきちんとテクスチャになっています。
Bakeテクスチャを使うと、こんな感じで複数のマテリアルを1つのテクスチャに色として落とし込むことができます。
次に、Bakeのフルレンダー(Full Render)をやってみます。
フルレンダーはそのときの光源の向きや強さなど、すべてレンダリングするときと同じように計算して、画像にしてくれます。
今、ヘミライトを使っておりx,y,z軸すべて0の状態です。
そのため、下の面はほんとは赤色のマテリアルが割り当てられているのですが、真っ黒になっていることを覚えていてください。
再度編集モードに入り、+ボタンをポチ、新たな画像を生成します。
新たな画像が生成され(キューブ_fullという名前にしました)、今度はこの画像がオブジェクトに割り当てられています。
この状態でベイクモードをフルレンダーに変え、ベイクをポチ。
するとこんな画像ができました。
比較するとこんな感じです。
下の赤い面が真っ黒になっています。
マルチレズモディファイアを使ってスカルプトした結果も見えています。
もう一つキューブを複製し、先ほどと同様の方法で新たなマテリアルをわりあて、新たなテクスチャを作り、保存したキューブ_fullという画像を開いてみました。
なんか暗い………。
これはベイク前の光源とベイク後の光源で二重に計算されているためです。
マテリアルタブを下にスクロールし、シェーディングのところのシェードレスに✔をいれてみます。
シェードレスにすると光源はもう計算されなくなるため同じ明るさになりました。
※スペキュラ(光沢)はフルレンダーでもベイクされません。
まとめると、ベイクの手順は
- 編集モードで、UV Image Editorで新たな画像を生成し(または開いて)、画像を割り当てる
- ベイクボタンをポチ
- 画像を保存
です。
書いてみると単純な感じがしますが、1がなかなかうまくいかないこともあります。
うまくいかないときは再度新たな画像を生成してみるのがおすすめです。
私がよく使うベイクは
- テクスチャ(色のみ)
- フルレンダー(スカルプトした結果など含めて全部)
です。
ベイクでノーマルマップも作れるのですが今回は割愛します。
(リアル系のMMDではノーマルマップも使ったりしますよね。)
あとは、使用しているモディファイアによってベイクがうまくいかないことがあります。
うまくいかないときは必要なさそうなモディファイア(アーマチュアなど)のレンダーボタン(カメラマーク)をオフにしてやってみるのがおすすめです。
絶対やってる手順は正しいはずなのになぜかベイクがうまくいかないときもあります...。
そういうときは新しいblenderファイルを作成し、オブジェクトをアペンドし、そこでベイクしてみるとうまくいったりします。
では、まずは顔のベイクからやっていきますー。