挿絵画家になろう(その7)


「挿絵画家になろう(その7)」です。
Blenderのアドオン、MB-Labの啓蒙です。
前回までで、MB-Labを使って少女キャラクターを生成し、VRoidStudioの髪をインポートして装着させ、そこそこの服を着せ、キャラクターのマテリアルも弄れるようになり、更に表情も変更できるようになりました。
今回もMB-Labの使い方に関して説明を試みたいと思います。
今回は表情の変更の続きです。

前回、MB-Labで表情を変更する方法にMB-Labが用意する[FACE EXPRESSIONS]を使う方法とシェイプキーを直接変更する方法があることを述べました。
[FACE EXPRESSIONS]は複数のシェイプキーのセットを持っていて、シェイプキーを同時に変化させる機能です。
表情は目や口、頬、眉などの組み合わせで表現されます。
MB-Labの考え方として、シェイプキーで個々のパーツの変化を用意し、シェイプキーの組み合わせを [FACE EXPRESSIONS] で用意してセットで変更できるようにしているわけです。

[FACE EXPRESSIONS] で用意されている表情で事足りるのならば [FACE EXPRESSIONS] のみを使うことが簡便です。
しかし [FACE EXPRESSIONS] で満足できない場合は、次の手段としてシェイプキー単体を変更すれば良いわけです。
勿論、シェイプキーは抽象度が下がるわけですから必要な組み合わせを自分で決めて全てコントロールする必要があります。
しかし抽象度が低いということは自由度が高いということなのでよりきめ細かい表情を作ることができます。

シェイプキーはプロパティウインドウのオブジェクトデータ(逆三角形のマーク)から見ることができます。
girl1_bodyのオブジェクトが選択されていることを確認してから、編集モードに切り替えます。
プロパティウインドウのオブジェクトデータ を選択し、[シェイプキー]の項目を見てください。
たくさんのシェイプキーが用意されていることが分かります。

シェイプキーのリストの下に[シェイプキーを編集モードで表示(メッシュのみ)]というボタンがあるので押下します。
これを押すとメッシュの変更ができなくなる代わりに、選択したシェイプキーのメッシュ変化を見ることができます。
前部のシェイプキーの変化をアニメーションにしてみました。

かなり細かい変化に関して作りこまれていることがわかります。
これらを組み合わせれば微妙な表情も表現できるのではないでしょうか?
尚シェイプキーは表情にだけ使うものではありません。
呼吸による胸の上下や嚥下による喉の変化など、細かい演出に用いられると思われるものも用意されています。

これでほぼ表情の作成は問題なくなったといえます。
凄いですねMB-Lab。
口を大きく開けた場合での歯が気になりますが、私たちの目的は小説の挿絵です。
それほど口を大きく開けたシーンは必要ないと思われますのであまり問題にはならないのではないでしょうか?

とはいえ、どうしてもなんとかしたい場合はシェイプキーのメッシュを弄ってしまえば解決はします。
実際にやってみましょう。

先ずは邪魔な髪と服を不可視にします。
オブジェクトモードにしてSendagaya_Shino_Hairを右クリックで選択し、3Dビューのプレーンにマウスカーソルを置いて[h]キーを押すと髪が不可視状態になります。

同様にOnepiece_Placeを選択し[h]キーで拭くを不可視にします。

girl1_bodyを選択して編集しやすいようにズームします。

編集モードに切り替えます。
[3Dビューのシェーディング]はソリッドにします。
プロパティウインドウのオブジェクトデータ を選択し、[シェイプキー]の項目のリストから[Basis]を選択してください。

シェイプキーのリストの下、[シェイプキーを編集モードで表示(メッシュのみ)]というボタンが解除されていることを確認します。

顔の上にマウスカーソルを当てて[a]キーを何回か押し、何も選択されていない状態にしてください。

顔の額あたりにマウスカーソルを当てて、[l]キーを押すと顔のメッシュが選択されます。
今回は歯のメッシュを弄るので顔は邪魔なので不可視化する意図です。

[h]キーを押下すると顔の表面が不可視になり顔の中身が剥き出しになります。

あとは目的の歯や歯茎のメッシュを編集すれば良いことになります。
注意しなければならないのは頂点の位置は変えても良いのですが、メッシュのトポロジー(頂点同士の繋がり)は変えるべきではないということです。
特に頂点を増やしたり減らしたりするとシェイプキーが意図しない変化となります。
またUVマップとの相関がとれなくなることも避けなければなりません。

編集しやすいように歯をズームします。

上の図の3Dカーソルがあるあたり(上下の歯の合わせ目左にある赤と白の丸)を[alt]キーを押しながら右クリックします。


上の歯の歯並びの選択が選択されます。

メッシュの操作ですが、Z方向(上下方向)のみの変更にとどめます。
理由は他の方向に動かすと収拾がつかなくなるからです。
変化量もキーボードで[↑]キー、[↓]キーの回数で管理し、必要最小限の変化になるよう管理します。
では実際にメッシュを弄ります。

マウスカーソルを歯茎に合わせた状態で[g]、[z]の順番でキー押下します。
選択頂点の上下移動となりますので[↑]キーを5回程度押して移動させます。
[enter]キーを押すと移動が確定します。

今度は範囲を広げます。
[ctrl]キーを押しながらテンキーの[+]キーを押します。
選択範囲が広がります。

マウスカーソルを歯茎に合わせた状態で[g]、[z]の順番でキー押下します。
選択頂点の上下移動となりますので[↑]キーを12回程度押して移動させます。
[enter]キーで移動が確定します。

同様の手順を繰り返し、上の歯を短くしてゆきます。

下の歯の歯並びの最上段が見えてきました。
下の歯の最上段のエッジを[alt]を押しながら右クリックして選択します。

下の歯は臼歯の上部が平たいので範囲を広げます。
[ctrl]キーを押しながらテンキーの[+]キーを押します。

マウスカーソルを歯茎に合わせた状態で[g]、[z]の順番でキー押下します。
選択頂点の上下移動となりますので[↓]キーを12回程度押して移動させます。
[enter]キーで移動が確定します。

同様にして範囲を広げ、歯を短くしてゆきます。

奥歯のエッジが残っているので選択します。

[g]キー、[z]キーを順番に押し、[↓]キーで見えなくなるまで下げます。

どこまで拘るのかによりますが、これまでの操作で歯を喰いしばる系以外のシェイプキーは歯の影響が緩和されることになります。
すこし見てみましょう。
不可視にしたメッシュやオブジェクトは[alt]+[h]で可視化させることができます。

Expressions_mouthOpenLarge_maxを0.5にした表情です。
歯が目立たなくなっています。

歯を喰いしばる系のシェイプキーは明らかに意図的に歯を強調しているものです。
アニメ的な表情表現では「い」行の発音の時に使うくらいでその他ではあまり用途がないでしょう。

上はExpressions_mouthSmileOpen_maxを0.5にした表情です。
シーンによっては使えるかもしれません。

アニメ的な表現では歯、特に下の歯は無い方が良いかもしれません。
そのような場合は設定するマテリアルを透明にすると実現できます。
下の歯だけを透明にするのは下の歯だけを頂点選択してマテリアルを設定します。

透明化の例として下睫毛を見えなくする方法を紹介しましょう。
アニメ的な表情表現では上睫毛は濃い色にして目の輪郭をはっきりさせ、下睫毛は省略して柔らかな表情になることを期待することが多いと思います。
しかしMB-Labでは眉毛、上睫毛、下睫毛がセットになっています。
下睫毛だけを透明化させます。

編集モードに切り替えます。
[3Dビューのシェーディング]はソリッドにします。
顔の上にマウスカーソルを当てて[a]キーを何回か押し、何も選択されていない状態にしてください。

右目の下睫毛にカーソルを当てて[l]キーを押します。
右の睫毛が選択されます。

同様に左目の下睫毛にカーソルを当てて[l]キーを押します。

右の睫両目の下睫毛が選択されました。

プロパティシェルフの[マテリアル]を選択します。

マテリアルスロットの右にある[+]ボタンをクリックして新しいマテリアルスロットを作成します。

マテリアルスロットの右にある[△]ボタンで新しいマテリアルスロットを一番上まで持ち上げます。

マテリアルの選択のセレクタにある[+]ボタンをクリックして新しいマテリアルを作成します。

[サーフェス]の項のセレクタから[透過BSDF]を選択します。

[サーフェス]の項、[カラー]の色部分をクリックするとカラーサークルが現れるので、完全な白にします。

割り当てをクリックして確定させます。

これで下睫毛に透明なマテリアルが設定されました。

いかがでしょうか?
下睫毛が消えたことによりかなり柔らかい表情になったことと思われます。

ポーズと表情をつけてレンダリングしてみました。

今回の記事はMB-Labの説明というよりはMB-Labで生成したキャラクターをBlenderの機能でどう弄るかの説明でした。
このようにMB-Labで生成したキャラクターは自由に弄ることができます。

ここまでMB-Labについて説明してきましたが、いかに素晴らしいものであるかお伝えできたでしょうか?
MB-Labはまだまだたくさんの機能がありますが、正直私は良く分かっていません。
しかし、ここまでの知識でだいたいのことはできると思います。
この一連の記事をご覧になって自作小説の挿絵を描かれる方が現れると幸甚です。

今回はこれで終わりです。
MB-Labを主題にするのは今回が最後だと思います。
時間があれば[その8]を書きたいと思います。


挿絵画家になろう(その6)


「挿絵画家になろう(その6)」です。
Blenderのアドオン、MB-Labの啓蒙です。
前回までで、MB-Labを使って少女キャラクターを生成し、VRoidStudioの髪をインポートして装着させ、そこそこの服を着せ、キャラクターのマテリアルも弄れるようになりました。
今回もMB-Labの使い方に関して説明を試みたいと思います。
今回は表情の変更です。

一般論として3D人体キャラクターの表情を変えることは非常にメンドクサイ仕事です。
特に私が求める絵作りはセルルックなアニメ調のものです。
アニメ的な表現文法でよくあるものは3Dと相性の悪いものも多く、3Dツールでの実現に拘るのは私たち素人にとってあまり良い選択ではないかもしれません。
私たち「小説家になろう」作家が求めているのは3Dアニメーションではなく挿絵です。
ある程度品質の良い3Dキャラクターを入手できたのならば、ポーズを変えてレンダリングし、後は2Dペイント系のツールで表情を書き換えるのが早くて簡単な良い方法だと私などは考えます。

とはいえ、MB-Labは優れた人体3D人体キャラクター生成のソリューションです。
当然キャラクターの表情を変える手段を用意してくれています。
しかも非常に使い勝手の良いものです。
MB-Labでどこまで表情がいじれるか知ることは重要です。
そして何ができるのか? 何ができないのか? を知り、自分の作品に反映させると良いでしょう。

オブジェクトモードであることを確認し、girl1_bodyオブジェクトを選択します。
ツールシェルフの[ManuelBastioneLab]タグ、[FACE EXPRESSIONS]を選択します。

沢山のパラメータが現れます。
このパラメータの一つ一つが表情の選択になります。
半分は発音の音韻に対応するものです。
残りは以下のようなプレフィックスが付いています。

angry: 怒り
annoyed: イライラ
anxious: 心配
attentive: 気配り
bored: 退屈
breathing_in: 息を吸う
breathing_out: 息を吐く
confused: 混乱
crying:泣き
curious: 好奇心
deglutition: 嚥下
disgusted: むかつき
drained: 疲れ
embarrassed: 当惑
evil: 悪い顔
excited: 興奮
flirty: 軽薄
furious: 激怒
grin: にやにや
happy: 幸せ
irritated: 荒れ
lazy: 怠惰
offended: 気分を害した
pain: 痛み
peaceful: 平安
posing: ポーズ
sad: 悲しみ
sarcastic: 皮肉
scared: 怖い
serene: 穏やか
shocked: 衝撃
shy: 内気
sleep: 睡眠
surprise: 驚き
tired: 疲れ
very_sad: 激しい悲しみ
wink: ウィンク

おおお、このパラメータたちを1に振ると、表情が変わるのですね。
試してみましょう

angry01: 怒り

確かに怒っているように見えます。
MB-Labの[FACE EXPRESSIONS]では内部的にBlenderのシェイプキーを用いて表情を変えているようです。
プロパティウインドウのオブジェクトデータ(逆三角形のマーク)の「シェイプキー」が切り替わっているのが確認できます。
変化点は以下。

 Expressions_browSqueezeL_max:1.000
 Expressions_browSqueezeR_max:1.000
 Expressions_browsMidVert_min:1.000
 Expressions_cheekSneerL_max:1.000
 Expressions_cheekSneerR_max:1.000
 Expressions_mouthOpenAggr_min:0.560

眉が吊り上がっているところが良いですね。

annoyed01: イライラ

イライラというほどでもないような……。
口が丁度「え」の発音くらいに開いています。

 Expressions_browOutVertR_max:0.660
 Expressions_browSqueezeL_max:0.960
 Expressions_browsMidVert_min:0.360
 Expressions_eyesVert_max:0.600
 Expressions_jawHoriz_max:0.120
 Expressions_mouthOpenO_max:0.360

anxious01: 心配

かなり複雑な表情です。
右唇を噛んでいる演出ですね。

 Expressions_browOutVertL_min:0.300
 Expressions_browOutVertR_min:0.240
 Expressions_browSqueezeL_max:0.760
 Expressions_browSqueezeR_max:0.420
 Expressions_browsMidVert_max:0.300
 Expressions_eyeClosedL_max:0.300
 Expressions_eyeClosedR_max:0.300
 Expressions_eyesHoriz_min:0.480
 Expressions_eyesVert_min:0.540
 Expressions_mouthBite_min:1.000

bored01: 退屈

退屈というよりはブーイングの表情でしょうか?
文字通りの膨れっ面。

 Expressions_browOutVertL_max:0.780
 Expressions_browOutVertR_max:0.720
 Expressions_browsMidVert_max:0.840
 Expressions_eyeClosedL_min:0.720
 Expressions_eyeClosedR_min:0.540
 Expressions_mouthInflated_max:1.000
 Expressions_mouthOpenO_min:0.480

confused02: 混乱

混乱? 迷いという感じですね。

 Expressions_browSqueezeL_max:1.00
 Expressions_browSqueezeR_max:0.960
 Expressions_browsMidVert_max:0.960
 Expressions_cheekSneerL_max:0.360
 Expressions_eyeClosedPressureL_max:0.060
 Expressions_eyeClosedR_max:0.060
 Expressions_eyeSquintL_max:0.180
 Expressions_eyeSquintR_max:0.120
 Expressions_eyesHoriz_max:0.900
 Expressions_mouthClosed_min:0.780
 Expressions_mouthSmileL_max:0.120

crying01:泣き

目を閉じている演出です。
眉と口を合わせて初めて泣き顔に見えます。

 Expressions_browOutVertL_min:0.360
 Expressions_browOutVertR_min:1.000
 Expressions_browSqueezeL_max:1.000
 Expressions_browSqueezeR_max:1.000
 Expressions_browsMidVert_max:1.000
 Expressions_eyeClosedL_max:0.200
 Expressions_eyeClosedPressureL_max:0.420
 Expressions_eyeClosedPressureR_max:0.420
 Expressions_eyeClosedR_max:0.180
 Expressions_eyeSquintL_max:0.120
 Expressions_eyeSquintR_max:0.120
 Expressions_eyesHoriz_min:0.420
 Expressions_eyesVert_min:0.420
 Expressions_mouthBite_min:0.360
 Expressions_mouthOpen_min:0.180

以下は巻きで紹介しますね。

crying02:泣き

disgusted: むかつき

drained01:疲れ

embarrassed01:当惑

evil01:悪い顔

evil02:悪い顔

excited01:興奮

eyes_rot_down:目を下に

eyes_rot_left:目を左に

eyes_rot_right:目を右に

eyes_rot_up:目を上に

flirty01:軽薄

furious01:激怒

furious03:激怒

grin01:にやにや

happy01:幸せ

irritated01:荒廃

kiss01:キス

lazy01:怠惰

offended01:気分を害した

pain01:痛み

peaceful01:平安

posing01:ポーズ

sad01:悲しみ

sad02:悲しみ

sarcastic01:皮肉

scared01:怖い

serene01:穏やか

shoked01:衝撃

shy01:内気

sleep01:眠り

surprise01:驚き

surprise02:驚き

surprise03:驚き

tired01:疲れ

very_sad01:激しい悲しみ

wink01:ウインク

如何でしょうか?
お気に入りの表情に巡り合えたでしょうか?
私の個人的な好みでは口を閉じている表情は良いものが多いです。
ただ、口を大きく開けている表情は多分このままでは使うことは無いでしょう。
目を閉じている表情でも、笑っている場合はもっと上弦の月のようになるように頬を持ち上げるのが漫画的表情表現なのですが、そのような表情はありません。
笑っている口は下向きのかまぼこのような半円を期待するのですが、それもないのです。
MB-Labの表情はphotorealisticな絵作り用で漫画的表現向けではないのでしょう。

ということで、「小説家になろう」として挿絵を考える場合は、ある程度表情を作ってレンダリングし、後は好みに合わせて2D系のペイントツールで画像加工すると良いのでは? という提案になります。

ちなみに MB-Labの[FACE EXPRESSIONS]を使わず、シェイプキーを直接変更しても表情は変わります。
注意しなければならないことは、 [FACE EXPRESSIONS] 使って シェイプキー で微調整、といった使い方はうまくいかないことですね。
[FACE EXPRESSIONS] でどのシェイプキーが変わるかを把握して、シェイプキーで改めて表情を作りこむといった方法が良いのではないでしょうか?

本記事、予想外に長くなってしまいました。
本当は別の事を書こうと思っていたのですが辿り着けそうにありません。
いったん切ります。
とはいえ、表情も作れるようになり、「挿絵画家になろう」という目的には近づけたのではないでしょうか?

時間があれば[その7]を書きたいと思います。


挿絵画家になろう(その5)


「挿絵画家になろう(その5)」です。
Blenderのアドオン、MB-Labの啓蒙です。
前回までで、MB-Labを使って少女キャラクターを生成し、VRoidStudioの髪をインポートして装着させ、そこそこの服を着せるところまで実現しました。
今回は前回に引き続きマテリアル関連です。

人形は顔が命です。
3Dキャラクターとて例外ではありません。
3Dキャラクターのメッシュを弄って顔を弄るのは容易ではありませんが、テクスチャの加工ならばなんとかなるかも知れません。

前回は服のマテリアルに [girl1_MBLab_anime_skin] を流用しました。
しかしそもそもこのマテリアルは何なのでしょうか?
skinというくらいだからキャラクターの皮膚のマテリアルなんだろうな、と想像できます。
MB-Labのアニメ系のキャラクターを生成し、アニメ調の女性髪型[hair_anime_female]を適用した時点で、以下のマテリアルが存在することになります。

・girl1_MBLab_anime_eyes
・girl1_MBLab_anime_skin
・girl1_MBLab_generic
・girl1_MBLab_toon_black
・MBLab_anime_hair.001


それぞれの割り当てとともに見てゆきましょう。

・girl1_MBLab_anime_eyes: MB-Labキャラクターの目のマテリアル

・girl1_MBLab_anime_skin:MB-Labキャラクターの皮膚のマテリアル


・girl1_MBLab_generic: MB-Labキャラクターのパンツ、ブラジャーのマテリアル


・girl1_MBLab_toon_black: MB-Labキャラクターの眉毛、睫毛のマテリアル

・MBLab_anime_hair.001:髪の毛のマテリアル

衝撃の事実が判明してしまいました。
パンツとブラジャーは穿いていないのです。
単なるボディペイントだったのですね……。
girl1_MBLab_generic の色を変えると、パンツとブラジャーの色が変わりますし、割り当てを変えると取っ払うこともできます。

それはともかく、顔に関係するマテリアルは以下の 三つであることが分かりました。
・girl1_MBLab_anime_eyes
・girl1_MBLab_anime_skin
・girl1_MBLab_toon_black

girl1_MBLab_anime_skin はセルルックな絵作りを決める重要なマテリアルです。
主要なノードを見ていきましょう。
上にあるViewのセレクタ([Default]となっている横の[△]ボタンか[▽]ボタン)を右クリックして現れる選択肢から[Composing]を選択すると3Dビューとノードエディッタ、UV画像エディッタを表示できて便利です。

[skin_oil_val]:テカリの明るさを決めます。
[skin_oil_size]:テカリのサイズを決めます。
テカリは夏の水着の肌でよくある表現です。
カメラに直交する面の一部が明るくなります。
[skin_oil_val] を大きくするとテカリはより明るくなります。
[skin_oil_size] は0にすると最小になり1にすると全体がテカリになります。
0~0.1程度の範囲内で使うべきでしょう。

[ノーマル]:影のできる方向を決めます。
セルルックの絵作りの場合、ライトにより肌の色を決めているのではなく、放射diffuseにより自発光させてマット感を出しています。
その色分けは法線(ノーマル)とオブジェクト表面の角度により行っています。
この[ノーマル]を回転させると「 普通」・「暗いところ」の位置を変えることができます。

[skin_secondary_val]:影の部分の明るさを決めます。
0にすると影は無くなり、1にすると影は真っ黒になります。

[skin_outline_size]:輪郭線の太さを決めます。
1にすると輪郭は消えます。
小さくすると輪郭は太くなります。
0.9~1.0の間で使うべきでしょう。
[skin_outline_val]:輪郭線の明るさを決めます。
1にすると黒になります。
小さくすると色味が消えてゆきます。
柔らかい絵作りをしたければ輪郭を太くして色味を抑えると良いでしょう。

[skin_saturation]:肌の色味を決めます。
1にするとオレンジに偏向、0にすると青に偏向してゆきます。
[skin_value]:肌の明るさを決めます。
1にすると明るく、0にすると黒くなります。
[skin_hue]:肌の色相を決めます。
緑色の皮膚や青い皮膚にすることができます。
私はデフォルトから変えたことがありません。

[Anime_mblab_skin_diffuse]: girl1_MBLab_anime_skin で割り当てるテクスチャ画像です。

[Anime_mblab_skin_diffuse] にはFinalize の際に保存したファイル名の画像が設定されています。
※ここではgirl11_body_derm.png
画像は左下プレーンのUV画像エディッタ―で表示することができます。
この肌色の画像がgirl1_bodyの肌テクスチャです。
このままでは良く分からないのでUVマッピングを生成します。
右下の3Dビュープレーンで編集モードに切り替えます。
モデルの上で[a]キーを押すと全選択になります。

左下のUV画像エディッタ―の[UV]メニューから[UV配置をエクスポート]を選択し、 girl_body_derm_uv_map.png としてセーブします。

GIMP2で girl_body_derm.png と girl_body_derm_uv_map.png とをレイヤとして開きます。

後はgirl1_body_derm.pngを好きなように編集すれば好みの顔に変えることができるわけです。
頬紅、アイシャドウ、口紅などですね。

次の図はgirl1_body_derm_mod.pngとして化粧を施し、 [Anime_mblab_skin_diffuse] に再読み込みしたものです。

頬と唇が赤くなりました。
これだけでかなり印象が変わります。

しかし目を変更しているのですが反映されません。
目のマテリアルは[ girl1_MBLab_anime_eyes ]なのでそちらを変更する必要があります。

編集モードにしてgirl1_MBLab_anime_eyesを選択します。

[girl1_MBLab_anime_eyes]マテリアルの[Anime_mblab_eye_diffuse]ノードにはgirl11_body_derm.pngが割り当てられています。

これをgirl1_body_derm_mod.pngに変更します。

目のテクスチャを差し替えることができました。
[girl1_MBLab_anime_eyes]マテリアル にも色々なノードがありますが、特に重要なのは以下の二つです。

[eyes_fue]:目の色相を決定します。
[eyes_saturation]:目の色の彩度を決定します。

目の色は挿絵を欲する同胞の諸兄姉もコダワリポイントであると思います。
色々試して自分の好みに合わせてください。

残るは[girl1_MBLab_toon_black]マテリアルです。
眉毛と睫毛に割り当てられているものです。
defaultでは黒く、目がハッキリとしています。

編集モードにしてgirl1_MBLab_anime_eyesを選択します。

[girl1_MBLab_toon_black]マテリアル の[放射]ノードのカラーを変更することにより色を変えることができます。
髪の毛と似た色味にするとよいでしょう。

girl1_MBLab_toon_black のスロットに MBLab_anime_hair.001 を割り当ててしまうと、髪の毛と眉毛、睫毛を同じ色にすることもできます。

ポーズを付けてレンダリングしてみました。

如何でしょうか? かなり顔立ちの印象が変わったかと思います。

MB-Labの凄いところは、ほぼほぼ何でも弄れるのですが、優れたマテリアル構成により2Dテクスチャの変更とパラメータ変更だけでかなり思い通りの絵作りができることです。
ここまで3Dメッシュは一切弄っていないことに注目してください。
2Dテクスチャを多少弄れれば、それでかなり思い通りの絵作りをすることができるのです。
これは凄いことですよね?

今回はこれで終わりです。
時間があれば[その6]を書きたいと思います。


挿絵画家になろう(その4)


「挿絵画家になろう(その4)」です。
Blenderのアドオン、MB-Labの啓蒙です。
前回までで、MB-Labを使って少女キャラクターを生成し、簡素な服を着せ、VRoidStudioの髪をインポートして装着させるところまで実現しました。
今回はマテリアル関連です。

MB-Labはキャラクター造形に関して、相当弄れます。
MB-Labの変数パラメータの組み合わせだけでもかなりのバリエーションを生み出すことができるし、イニシャライズした後はそれこそ単なるBlenderのオブジェクトなのでメッシュを弄り放題です。
実際のところMB-Labを入口にして3Dドールアニメーションの世界に入るのは全然ありだと思います。
しかし、この世界って深くて険しいんですよね。
我々『小説家になろう』作家が自作小説の挿絵を簡単に生成したいという目的で安易に足を踏み込むと小説を書く時間は取れなくなることでしょう。

そこでできるだけメッシュを弄らず、マテリアルの変更で変化を出していくことは良い方法だと思うのです。
幸いなことにMB-Labには秀逸なマテリアルが用意されていて、デフォルトでトゥーンレンダリングが実現できています。
トゥーンレンダリング とは「普通」・「明るいところ」・「暗いところ」などの三諧調程度の色塗りと輪郭線を特徴とする絵作りの方法です。
3Dで直接アニメ調の絵作りができてしまっているのです。

今回は服のマテリアルに関して説明を試みましょう。
※過度な期待は禁物です。

先ずは服です。
前回は袖なしTシャツを着せました。
ただ、やはり薄着すぎて可哀想です。
袖なしTシャツを改造してワンピース用の素材を作成しました。
ここ』においておきます。
Onepiece_Plane.zip

このZIPファイルは以下のファイルを含みます。
・Onepiece_plane.obj
・Onepiece_plane.mtl
・Onepiece_t.png
・Onepiece_uv_map.png

Onepiece_plane.obj をインポートしてください。
※袖なしTシャツはRemove fittingした後、[delete]キーで削除しておきます。

インポートすると例の如く、girl1_bodyのキャラクターを挟み込むように二枚のplaneであるOnepiece_Planeが現れます。
中心を気にしながら大きさと位置を合わせます。

だいたいこの図のように合わせれば良いと思います。

Onepiece_Planeを右クリックして選択されていることを確認したのち、編集モードに切り替えます。

編集モードのまま、上にあるViewのセレクタ([Default]となっている横の[△]ボタンか[▽]ボタン)を右クリックして現れる選択肢から[Composing]を選択します。

上プレーンのノードエディッタ―の表示は上の図のようになっていると思います。
※もしなっていなければ、ノードに『マテリアル』、[Onepiece_Plane]を選択してください。

ノード:[Onepiece_Plane]のノードは全て不要なので削除します。
ノードの上で[a]キーを押すと全て選択できますので[delete]キーを押し、削除します。

ノードエディッタのマテリアルの選択から[girl1_MBLab_anime_skin]を選択します。
前回同様、ノード構成をコピーするためです。

ノードエディターで[a]キーを押下して全てのノードを選択後、[ctrl + c]でノードをコピーします。
そしてコピーしたノードを[Onepiece_Plane]のマテリアルノードに[ctrl + v]で貼り付けます。

ノードエディターの右下に[Anime_mblab_skin_diffuse]がありますので画像ファイルとして[Onepiece_t.png]を開きます。

レンダリングでは以下のようになります。

取り敢えずワンピースを完成させましょう。
上にあるViewのセレクタを[Default]に戻します。
そしてクロスシミュレーションに必要な頂点グループを追加します。

そしてクロスシミュレーションを実施します。
パラメータは次の図参照。

仕上がりは以下のようになります。

縫合しきれていないところが黒い筋として残りますが、気になるならばメッシュを弄って手動で縫います。
ただ、挿絵にするならばレンダリング後に2D系のペイントツールで処理したほうが圧倒的に早いです。

ここで Onepiece_t.png を思い出してください。
Onepiece_t.png は現時点ではピンク一色の1024X1024ピクセルの画像です。
なのでワンピースはピンク色になります。
Onepiece_t.png を編集することにより自由にワンピースの柄を変えることができます。
私はGIMP2を使っています。
GIMP2はフリーソフトでありながらフォトレタッチ系のソフトではphotoshopと双璧を成す凄いアプリケーションソフトです。
使われていない場合は是非インストールして試されることをお勧めします。

GIMP2でOnepiece_t.pngとOnepiece_uv_map.pngをレイヤーとして開いてください。
レイアウトはともかく画像は以下のように表示されると思います。

Onepiece_uv_map.pngで示されているのはワンピースUVマッピングです。
右側にワンピース前面のメッシュが、左側に後面のメッシュが対応します。
それぞれの位置の画像を変更すればワンピースのテクスチャも変わるわけです。
すこし弄ってみましょう。
百花繚乱』様から素材をお借りましす。

Onepiece_uv_map.png のレイヤは不可視にして Onepiece_t_mod.png としてエクスポートします。
Blenderの方では先ほどのノードエディターの右下、[Anime_mblab_skin_diffuse]で[Onepiece_t_mod.png]を開きます。

ワンピースが花柄Tシャツとピンクのスカートに変わりました。
このように一つワンピースを作っておくとテクスチャを差し替えることにより様々なバリエーションを生み出すことができます。
前回出てきた『VRoidStudio』などはコミュニティで、服のテクスチャを工夫することによりワンピースからドレス、メイド服、戦闘服などを作成していて楽しそうです。
同様のことがBlenderベースのMB-Labキャラクターに適用可能です。
ただ、2Dテクスチャの作成も、これはこれで深く険しい道なので、折り合いを付けて程々に歩まれることをお勧めします。

ポーズを付けてレンダリングしてみました。

MB-Labは トゥーンレンダリング 用の優れたマテリアルノードを用意してくれています。
ノード構成そのものはそこまで複雑ではないため、マテリアルノードの学習用の素材として非常に適切なものです。
私などはほぼdefaultでNormalの変更だけで利用させていただいています。
MB-Labの優れたところは、利用しやすいように各機能が用意されていることです。
blenderの知識は必要ですが、これだけ至れり尽くせりで応用の効くソリューション、凄いです。
これは世に広めていかなくちゃならないと、そう思うのです。

今回はこれで終わりです。
服のマテリアルの説明と言っておきながら、テクスチャ設定で終わってしまいました。
時間があれば[その5]を書きたいと思います。


挿絵画家になろう(その3)


「挿絵画家になろう(その3)」です。
Blenderのアドオン、MB-Labの啓蒙です。
前回までで、MB-Labを使って少女キャラクターを生成し、簡素な服を着せ、あらかじめ用意されているポーズを切り替えるところまで実現しました。
今回は髪の毛です。

MB-Labにもアニメ調少年用、少女用の髪が一種類ずつ付属します。
それなりにクオリティが高いものですが、髪の毛はキャラクターの描き分けに必須です。
顔は同じで許すとして、髪の毛は異なるものを用意しないと人物の区別ができません。

私は髪の毛を用意するためにそれはそれはそれは色々な手法を試しました。
カーブという機能を使う方法、パーティクルを使う方法、UV球を変形させる方法、スカルプトでガチに造形する方法、その他色々……。
試しているうちに、Blenderの操作が少しずつ分かってきたのです。
費やした時間は膨大です。
その間、小説なんて全く執筆していません。
本末転倒なのです。

でもご安心ください。
この記事は『小説家になろう 』 としていて挿絵に困っている 同胞の諸兄姉に簡単に3Dキャラクターを使った挿絵を描く方法を展開することが目的です。
ソリューションがあるのです。
それは『VRoidStudio』という神アプリです。

Pixive 様に怒られそうですね。
VRoidStudioは髪型を作成するためのツールではありません。
Pixive様が開発・提供する3Dキャラクターモデル作成のための統合環境です。
寧ろMB-Labの競合ソフトです。

なにはともあれ、ゲットして試してみることをお勧めします。
本記事執筆時の最新版はVRoid Studio ベータ版 v0.7.3です。

起動するとキャラクターモデルの選択画面になります。

「あなたのモデル」として新規作成しても良いのですが、「サンプルモデル」として幾つかのサンプルモデルが選べるようになっています。
今回はSendagaya_Shinoを選びましょう。

これだけの操作で3Dキャラクター生成完了です。

質問:顔の編集できるのですか?
回答:はいできます。
質問:髪型の編集、できるのですか?
回答:はいできます。
質問:服の編集、できるのですか?
回答:いくつかの基本形があり、それぞれ変形させることができます。
   テクスチャを差し替え、印象をがらりと変えることができます。
質問:ポーズの変更とかできるのですか?
回答:いくつかのプリセットから選べます。
   VRM形式で描きだすことができるので、『3tene(ミテネ)』等の別ソフトにエキスポートすることもでき、それでポーズをつけることもできます。

質問:あれ? 挿絵のキャラクター作るのって、VroidStudioで良くね?

そのとおりです。
VRoidStudio』はバーチャルユーチューバーなどにも使える優れたソフトです。
実際にVChatやバーチャルユーチューバーに使われていて、その実用性は折り紙付き。

ではなぜVRoidStudioを使わずにMB-Labを使うのか?
MB-Labの人体メッシュへの愛、所以です。
それにVRoidStudioがいかに良いソフトであるかなんて、今更私が力説してもね……。

細かくは、VRoidStudioは顔に関してそれほど多くのバリエーションを持ちません。
メッシュが破綻するようなダイナミックな調整はできないのです。
恐らくはVRoidStudioの範囲内で留まる限り、defaultの表情からそれほど離れることはできないでしょう。
カスタムキャスト で作ったモデルが、カスタムキャストで作ったと判るように、VRoidStudioで作ったモデルも同様のことが言えそうです。
とはいえ、BlenderもVRM形式のデータを読み込む方法が無いわけではなく、一旦読み込んでしまえばあとはどうとでも編集できてしまいます。
ただBlenderとの親和性とメッシュの弄りやすさには差がでるかと……。

もう一つ、服に画像テクスチャを張り付ける仕様です。
服の造形にはそれほど自由度がありません。
VRoidStudioのコミニュティでは服用のテクスチャの開発が盛んですが、テクスチャ作成は職人芸の世界だったりします。
3Dメッシュを弄るのとどちらがより楽かという天秤になります。
私はそれっぽい2Dテクスチャを作るスキルを今に至って培うことができていません。
正直この辺は得手不得手なのでしょうね。

とりあえず髪の話に戻します。
VRoidStudioでは髪を比較的簡単に編集できます。
なおかつ髪をOBJ形式でエクスポートすることができます。

Sendagaya_Shino のdefaultの髪の毛をOBJ形式でエクスポートしてみましょう。
上段二行目のタブから『撮影・エクスポート』を選択し、左側メニューの『エクスポート』を選択します。
すると右側に『髪をOBJ形式でエクスポート(四角形メッシュ)』が選択できるようになります。

「Sendagaya_Shino_Hair.obj」というファイル名で保存してください。
次に前回MB-Labで作成したBlenderのプロジェクトにインポートします。
先ずはdefaultの髪を外します。
キャラクターの両足の間ににある横倒しになった四角錐を右クリックします。
そしてオブジェクトモードに切り替えます。

ツールシェルフの[ManuelBastioneLab]タグ、[PROXY FITTING]から[キャラクター:]をgirl1_bodyに、[プロキシ:]をhair01_anime_femaleを選択し、[Remove fitting]ボタンを左クリックします。

次に Sendagaya_Shino_Hair.obj をインポートします。

Sendagaya_Shino_Hairがdefaultの髪と重なって出現します。
オレンジ色に縁どりされ、選択された状態になっていると思いますが、選択されていなければ右クリックで選択してください。
Sendagaya_Shino_Hair の位置合わせを行います。
defaultの髪とほぼ同じ位置に重なるようにすればOKです。

Sendagaya_Shino_Hair を上への拡大([s]キーに続き[z]キー、後は[↑]キーで調整し[enter]キーで確定)、左右への拡大 ([s]キーに続き[x]キー、後は[←]キーで調整し[enter]キーで確定)、前後への移動 (テンキーの[3]キーを押して横にして、[g]キーに続き[y]キー、後は[←]キーで調整し[enter]キーで確定)等で調整します。

できましたらテンキーの[1]キーを押して正面を向かせ、PROXYシステムで装着します。
ツールシェルフの[ManuelBastioneLab]タグ、[PROXY FITTING]から[キャラクター:]をgirl1_bodyに、[プロキシ:]をSendagaya_Shino_Hairを選択し、[Fit Proxy]ボタンを左クリックします。

おお! 髪よ! フィットしました。
しかも輝くばかりの銀髪。
VRoidStudioとMB-Labとのキャラクター造形の違いにより前髪が眉上になってしまっていますが、これはこれでいいではないでしょうか?
気になる方は、髪を上下に拡大してから位置合わせをすると好みに合わせることができます。

髪の毛が銀色なのは袖なしTシャツ同様、マテリアルを設定していないからです。
Sendagaya_Shino_Hairオブジェクトにdefaultの髪のマテリアルを設定してみましょう。
オブジェクトモードになっていることを確認してから、Sendagaya_Shino_Hairを右クリックして選択します。
プロパティウインドウのマテリアル(赤と白の十字の円のマーク)を選択します

Sendagaya_Shino_Hairの項目の下、空の長方形の右の[+]ボタンを押して新しいマテリアルスロットを追加します。

新しいマテリアルスロットが現れるので[新規]となっているマテリアルのセレクターボタン([△]ボタンもしくは[▽]ボタン)を押して既存のマテリアルリストを表示させます。

MBLab_anime_hair_001を選択してください。

艶のある青髪になりました。
defaultの髪は不要になりますので削除します。
オブジェクトモードになっていることを確かめて、hair01_anime_femaleオブジェクトを右クリックして選択し、[delete]キーを押下します。

OK? と聞いてくるので[削除 X]ボタンを左クリックすると削除できます。
ついでに袖なしTシャツのマテリアルを設定します。
オブジェクトモードになっていることを確認し、上にあるViewのセレクタ([Default]となっている横の[△]ボタンか[▽]ボタン)を右クリックして現れる選択肢から[Composing]を選択します。

下にある3Dビューエディッタウインドウでgirl1_bodyオブジェクト(キャラクターの手とか足)を右クリックして選択します。
その後上にあるノードエディッタウインドウの下でマテリアルを選択します。
ノードエディッタにgirl1_MBLab_anime_skinが表示されます。
表示されない場合はズーム等で調整してください。

ノードエディッタウインドウの左上にマウスカーソルをあてて右ボタンを押したまま左下に動かすと矩形選択となりノード全てを選択することができます。

[ctrl]キーを押しながら[c]キーを押してコピーします。
次に3DビューエディッタウインドウTank_Top_Planeオブジェクトを右クリックして選択します。
ノードエディッタウインドウのマテリアルには何も設定されていない状態です。

マテリアル選択の[新規]のボタンを左クリックすると新しいマテリアルが生成されます。
二つのノードが現れるのですが、これを[delete]キーで消します。
そしてノードエディッタウインドウにマウスカーソルを合わせて[ctrl]キーを押しながら[v]キーを押して、ノードをペーストします。
これで girl1_MBLab_anime_skinのノードがコピーされました。
ここで[Anime_mblab_skin_diffuse]を[RGB]に差し替えます。
ノードエディッタウインドウ上で[Anime_mblab_skin_diffuse] 付近をズームアップします。
[shift]キーを押しながら[a]キーを押すと[追加]メニューで出てくるので[入力] → [RGB]を辿り、選択します。

[RGB]ノードが現れるので出力[カラー]を繋ぎ変えます。
カラーサークルから適当な色を選択すると袖なしTシャツの色が自由に変えられます。

同様にオブジェクトウインドウでSendagaya_Shino_Hairオブジェクトを選択し、ノードエディットウインドウ上の[RGB]のカラーサークルを変えると、髪の色を任意に変えることができます。

どうでしょうか?
メチャクチャ簡単だと思いませんか?
ここまで3D的な編集は殆どやっていません。
Blender、MB-Lab、VRoidStudioといった優れたソフトウェアを組み合わせることにより比較的自由に3Dキャラクターを生成できてしまいました。
これは凄いことなのです。

MB-LABの人体メッシュは秀逸です。
こんなにもクオリティの高いメッシュを使えるとは感謝しかありません。
VRoidStudioの髪型編集・作成機能を加えると強力この上ないソリューションとなります。
説明していませんが、設定されているマテリアルも良く考えられた応用の効くものです。
興味がおありでしたらノード構成を覗いて見られることをお勧めします。

今回はこれで終わりです。
絵は完成していませんが、時間があれば[その4]を書きたいと思います。


挿絵画家になろう(その2)


「挿絵画家になろう(その2)」です。
MB-Labの啓蒙です。
前回の扉絵は拙かったですかね?
学校や会社で開いて、後ろに誰か居たら慌てるレベル。
少し反省しています。
服が無いのが問題なんですよね。
正直3Dキャラクターモデルの世界では服と髪を用意することがそれなりに困難です。

というか趣味の世界になりますよね。
ドレスとかの3Dモデルを精密に作っている方もいらっしゃって、凄いなと。
髪はね、今はなんとかなるんですよ。
凄いツールがあります。
問題は服です。
私も服に関しては毎回四苦八苦して作っています。
何か良いソリューションがあれば教えて頂きたいものです。
とは言え、前回作ったキャラクター、裸のままでは可哀想です。
せめてシャツを着せることにしましょう。

以下のYoutube動画を参考にさせていただきます。

【blender】平面メッシュから簡単に服を作る方法

この動画に従い、袖なしTシャツを作成します。
説明用に素材を作成しました。
ここに置いておきます。

tank_top_material.zip

このZIPファイルを解凍するとtank_top_material.objという3D waveファイルになります。
これを前回作成したgirl11_after_finalize.blendのプロジェクトにインポートします。

以下のように二つの板がキャラクターを挟み込むよう現れます。

図のような位置になるように位置合わせしてください。
位置合わせはオブジェクトモードであることを確認し、オブジェクトを右クリックで選択してから以下の操作を行います。
いずれも 確定は[enter]キー、キャンセルは[esc]キー です。

上下に移動させる場合:
・テンキーの[1]キーを押して正面を向かせる
・[g]キーを押してから[z]キーを押し、上下キーで調節する。

左右に移動させる場合:
・テンキーの[1]キーを押して正面を向かせる
・[g]キーを押してから[x]キーを押し、左右キーで調節する。

前後に移動させる場合:
・テンキーの[3]キーを押して横を向かせる
・[g]キーを押してから[y]キーを押し、左右キーで調節する。

上下に拡大させる場合:
・テンキーの[1]キーを押して正面を向かせる
・カーソルをオブジェクトに重ねる
・[s]キーを押してから[z]キーを押し、上下キーで調節する。
 ・拡大後は位置がずれるので上下に位置合わせする

左右に拡大させる場合:
・テンキーの[1]キーを押して正面を向かせる
・カーソルをオブジェクトの左右どちらかに振る
・[s]キーを押してから[x]キーを押し、左右キーで調節する

調節はだいたいで問題ありません。
というか、正解はありません。

できましたら服に頂点グループを割り当てます。
3D waveデータには頂点グループが含まれていないので設定が必要です。
オブジェクトモードになっているのを確認してから服オブジェクトを右クリックで選択します。
モードを切り替えて編集モードにします。
服の上にカーソルを当て、何度か[a]キーを押下して全ての頂点が黄色く選択されている状態にします。
頂点グループの設定は プロパティウインドウのオブジェクトデータ(逆三角形のマーク)から行います。
頂点グループに何も無い状態だと思われますので、右側にある[+]ボタンを左クリックし、[Group]が現れるのを確認してから[割り当て]ボタンを左クリックし確定させます。

次にキャラクター側にコリジョンモデファイアーを付与します。
オブジェクトモードであることを確認し、キャラクターの顔あたりを右クリックするとキャラクターがオレンジに縁どられます。
プロパティウインドウのオブジェクトモデファイアー(スパナのマーク)を選択、追加からコリジョンを選択します。

コリジョンを追加できたらコリジョンの設定を行います。
コリジョンの設定はプロパティウインドウの物理演算の項目(ボールの跳ねているマーク)で行います。
[ソフトボディとクロス]の[外側:]と[内側:]をそれぞれ最小値の0.0001にします。

次に服にクロスモデファイアーを付与します。
オブジェクトモードであることを確認し、Tank_Top_Planeオブジェクトを右クリックし選択します。
プロパティウインドウのオブジェクトモデファイアーを選択、追加からクロスを選択します。

クロスの設定は プロパティウインドウの物理演算の項目で行います。
設定項目が比較的多いので注意してください。
以下は一例です。
意図に合わせて色々調整できます。

[クロス]
・[プリセット]をCottonにするとパラメータが色々変わります。
・[ステップ数:]を11くらいにします。
 大きな値にすると品質があがりますが時間がかかります。
・[マテリアル:重さ:]を5以上にします。
 軽いとめくれ上がり、重いとだらんと垂れ下がります。
・[減衰:速度:]0.1にします。
 遅い方が品質が上がりますが時間がかかります。
 ある程度遅くないと変形に失敗します。
[クロスコリジョン]
・[品質:]2にします。
・[距離:]0.010くらい?
 服と体の距離ですが、広いと角度によっては体が見えてしまいます。
 逆に狭いとポーズ次第で地肌が見えてしまいます。
[クロス縫合スプリング]
・[縫合の力:]50.0000くらい。
 適当に増減させてください。
 今回のように二枚のplaneを縫合するだけならば強さだけに着目すれば問題ありません。
 複数のパーツを縫合する場合は縫合される順番等に気を付ける必要があるため、強さと距離を検討する必要が出てきます。
・[収縮:]頂点グループを選択します。
 これが設定されていないと縫合されません。

設定は以下を参考にしてください。

ここまで設定し、[アニメーションの再生]ボタン(一番下にある右向きの三角形のアイコン)を左クリックすると物理演算シミュレーションが実行されます。
一度実行すれば、タイムラインのバーで任意の変化点を選択できます。

好みの変化点を選択し、クロスモディファイア―を適用します。
プロパティウインドウのオブジェクトモデファイアーを選択、[Cloth]にある[適用]ボタンを押します。

これで一応袖なしTシャツ( Tank_Top_Plane )の完成です。
girl1_bodyにTank_Top_Planeを着せます。
オブジェクトモードであることを確認し、girl1_bodyを右クリックで選択します。
ツールシェルフに[ManuelBastioniLab]のタグが現れるので選択します。
[PROXY FITTING]で[キャラクター:]にgirl1_bodyを[プロキシ:]にTank_Top_Planeを設定します。
後は[Fit Proxy]ボタンを押せばフィッティングされるはずなのですが、このままではうまくいきません。
Tシャツが小さく股間に埋まってしまいます。

理由はこのキャラクターがdefaultのキャラクターを縮小したものであるからだと思われます。
Proxyシステムはdefaultの体形に合わせた服や髪を、ターゲットのキャラクターに合わせて変形させるものです。
もとから変形後のキャラクターに合った服や髪は、更に変形が強調されてしまいます。
つまり小さい服は更に小さくなってしまいます。
であれば、defaultのキャラクターで服を作成すれば良いのか?
これはある意味正しいのですが、元のキャラクターは八頭身小顔で手足が長く、しかもかなりグラマーなのです。
それに合わせて服を作ると胸が余る等の弊害が出てきます。

対策方針としては以下。
①目的のキャラクター向けに服や髪を作成
②defaultのキャラクターに合わせて拡大
③Proxyシステムを適用

先ず[Remove Fitting]でProxyの適用を解除します。
そしてTank_Top_Planeを上方向、左右方向、前後方向にそれぞれ拡大します。
方向ごとに微調整をかける方がよいでしょう。
もともとこのキャラクターにフィットするように作った服なので、[影響:]は0にして構いません。
下に例示するくらい拡大するとフィットします。

以下のように綺麗にフィットしました。

ポーズを変えます。
先ずオブジェクトモードであることを確認し、girl1_bodeyを右クリックで選択するとモードをポーズモードに変えることができるようになります。
ポーズモードに切り替えた後、ツールシェルフの[ManuelBastioniLAB]の[POSE AND ANIMATION]でポーズを選択します。
[Female]のポーズを任意に選んでください。

袖なしTシャツが綺麗にキャラクターに追随しています。
どのポーズでも袖なしTシャツ自体には破綻は見られません。
Proxyシステム、素晴らしいですよね。

今回は簡単な形状のPlane二枚から袖なしTシャツを作っていますが、袖を付ければ普通のTシャツに、裾を伸ばせばワンピースになります。
襟や前袷を別パーツで付けることもそんなに難しい話ではないので、最低限のメッシュ操作ができれば色々な服を作ることが可能です。

この服の作り方の良い点は、一度作ると変形前の素材は別のキャラクター用に流用できることです。

ポーズと表情を付けてみました。

どうでしょう?
MB-Labの可能性みたいなものを感じていただけたでしょうか?
思ったより簡単にアニメ調のキャラクターを生成、編集できるのです。
これは十分趣味にできると思いませんか?

今回はこれで終わりです。
絵は完成していませんが、時間があれば[その3]を書きたいと思います。


挿絵画家になろう(その1)


このブログを始めた動機の一つはMB-LABの素晴らしさを世に啓蒙することです。
MB-LABは3Dアニメ調の絵作りにおいて、非常に良いものです。
MB-LABはそれ自体を一つの趣味として良いほどの素晴らしいツールなのですがあまり流行っていません。
そんなのはおかしいと思うのです。

私は自作小説を飾る萌え絵の挿絵が喉から手が出るほど欲しいのです。
MB-LABはそんな私に光明を与えてくれました。
私自身の習熟度、センス、掛けられる時間等、様々な制約により然程良い作品は生み出せていません。
しかし私ではなくもっとセンスや熱意があるかたたちが使えば、凄い作品が生み出されると思うのです。
これは啓蒙する必要があるのです。
MB-LABは開発資金の問題を抱えていらっしゃるとのことです。
もっともっとネット上のクリエーターの皆さんが利用すれば、彼らの必要不可欠なツールとなれば、資金や開発者も集まり、開発が加速するでしょう。
もしくは応用方法の情報、髪や衣服のデーターが増えれば、私としてはぜひ使わせて欲しいのに……、そういうさもしい思いも実はあります。

MB-LABですが、そもそもアニメ調の絵作りに使っている例があまり見受けられません。
何故なのでしょう?
理由はMB-LABについて説明する記事を書こうとすれば思い知ることになります。
とにかく歴史、動作環境から始まって日本語ドキュメントが少ないこと等、すべて説明するのが大変なのです。

MB-LABは3Dデータ編集ツールであるBlenderのアドオンとして機能します。
しかしBlender自体がちょっと試してみようというには敷居が高いでしょう。
折りしもBlenderは現在、2.79系から2.8x系に移行したタイミングです。
Blenderの2.79系と2.8x系の操作系は全く別物で、Blenderのユーザーでも2.79系は使えるけれど2.8x系はチョット、という人は多いでしょう。
私などもそのクチです。
今からBlenderを学ぶのならば2.80を選択するのが良いのかもしれません。
しかしながら2.80系の記事がネット上でもあまり潤沢には無いことがネックになるでしょう。

MB-LABは2.79系でも2.80系でも動作しますが、これまたややこしいことに対応バージョンが異なります。
Blender 2.79系に対応するのはManuelBastioniLAB 1.6.1aというバージョンです。
2.79系への対応は開発が停止して久しいです。
Blender 2.8x系に対応するのはMB-Lab 1.7.5というバージョンです。
Blender 2.8x系への対応は開発は続けられています。

私が説明できるのはBlender 2.79とManuelBastioniLAB 1.6.1aの組み合わせだけです。
以下のリンクの下のほうにあるmanuelbastionilab_161a.zipというファイルがアドオンファイルです。

animate1978/MB-Lab

※いつまであるか分からないので、興味がある方は早めにダウンロードしておくことをお勧めします。

この記事はBlenderやMB-LABについて熟知している必要はありませんが、Blender 2.79b をインストールしてManuelBastioniLAB 1.6.1a をプラグインとして動作させることができるとより楽しめるかと。

では実際にアニメ調の少女キャラを生成していきましょう。
ターゲットは私の自作小説『黒灰色(こっかいしょく)の魔女と時の魔女』の登場人物の一人であるマリアの九歳時とします。
マリアは信望者たちを束ね、空賊、マリアカンパニーの首領となる人物です。
幼きころに両親を失いますが、弟ヨシュアと共に赤ん坊のリリィを育て上げるという豪傑です。

Blender 2.79bと ManuelBastioniLAB 1.6.1a のインストールはできましたでしょうか?
Blenderを再起動すると以下のような画面になると思います。

[esc]キーを押すと次のような画面になります。

Cubeが選択されているので[delete]キー押下。
「削除 x」とでるので左クリックしてCubeを削除する。
CameraとLampだけが残ります。

左側のツールシェルフのタグに[ManuelBastitioniLAB]タグがあるのでそれを選択します。
※ツールシェルフが無い場合は編集画面にカーソルを置き、[t]キーを押下すると現れます。
[選択]を押すと幾つかの項目が現れます。

ここで選択するのはベースとなるキャラクターです。
写実的にするのかアニメ調にするのか、男か女か、人種等を選択できます。
今回の趣旨はアニメ調の女の子なので[Anime female(F_AN02)]を選択します。
[Init character]ボタンを押すとキャラクターといくつかのLampが生成されます。

全体的に小さく、しかも左を向いて生成されるので以下の手順で表示を調整します。

・テンキーの[1]キーを押して正面を向かせる。
・編集画面上で単にホイールを回転させると拡大縮小となるので適当な大きさにする。
・[shift]キーを押しながらホイールを回転させると垂直への移動となるので適当な位置にする。
・[ctrl]キーを押しながらホイールを回転させると水平への移動となるので適当な位置にする。

これらの操作を組み合わせて位置合わせをします。
これが[Anime female(F_AN02)]のdefaultのキャラクターです。

これをベースに好みに合わせて改造してゆくことになります。
先ずRest poseの変更です。
ツールシェルフの[ManuelBastitioniLAB]タグにある [Rest pose]メニューで変更できます。
defaultではa-poseです。
UNITYやCLIP STUDIO PAINT 3D等、他のツールへのエクスポート、服の作りやすさから私はt-poseに変更しています。

今回はマリアの少女時代がターゲットです。
defaultのキャラクターは八頭身で手足が非常に長い造形です。
アニメ調では作風にもよりますが、小さな体に大きな頭が載っている感じにしたいです。

キャラクターの大きさを管理することは重要です。
複数のキャラクターを作ったとき、調整が楽になります。
blenderでキャラクターの大きさを知るには以下の操作を行います。

・対象オブジェクト(今回は生成したキャラクター)を右クリックで選択する。
・編集画面の上にカーソルを置き、[n]キーを押してプロパティシェルフを表示させる。
・[寸法]を見る

身長はZ、手の先から反対の先までがX、前後の幅がYで表示されます。
defaultで生成されたキャラクターの身長は1.7325mであることが判りました。

体形や表情の変更はツールシェルフの[ManuelBastitioniLAB]タグにある[Body,face and measure parameters]で変更します。
開いたメニューにある[PARAMETERS]の[Mophing categories:]から変更したい部位を選択します。

[本文]は[Body]に、[ヘッド]は[Head]に読み替えてください。
十代後半の女性キャラクターの基本体形として、提案パラメータは以下です。

・[Arms:Arms_ForearmLength]:0に
・[Arms:Arms_UpperarmLength]:0に
・[Legs:Legs_LowerlegsLength]:0に
・[Legs:Legs_UpperlegsLength]:0に
・[Pelvis:Pelvis_Length]:0に
・[Torso:Torso_Length]:0に
・[Hands:Hands_FingersLength]:0に
・[Hands:PalmLength]:0に

年齢が上がれば胴体と腕、足を長くして、頭を小さくしていきます。
反対に年齢を下げるには頭を大きくしていく方針です。

今回は九歳の少女であるので以下。

・[Torso:Torso_BreastMass]:0に
・[Torso:Torso_BreastNipple]:0に
・[Torso:Torso_BreastPosZ]:0に
・[Torso:Torso_Mass]:0.3に
・[Torso:Torso_SizeX]:0.3に
・[Torso:Torso_SizeY]:0.3に
・[Pelvis:Pelvis_Shapely]:0に
・[Pelvis:Pelvis_Size]:0.2に
・[Pelvis:Pelvis_SizeX]:0.2に
・[Pelvis:Pelvis_SizeY]:0.2に
・[Pelvis:Pelvis_StomachVolume]:0.2に
・[Legs:Legs_LowerlegSize]:0.4に
・[Legs:Legs_LowerlegMass]:0.4に
・[Legs:Legs_UpperlegSize]:0.3に
・[Legs:Legs_UpperlegMass]:0.3に
・[Arms:Arms_ForearmMass]:0.3に
・[Arms:Arms_ForearmSize]:0.4に
・[Arms:Arms_UpperarmMass]:0.3に
・[Arms:Arms_UpperarmSize]:0.4に
・[Head:Head_Size]:0.9に
・[Neck:Neck_Length]:0.3に

少女らしく未発達、しかし健康的に見えるように肉付きを残す感じで調整します。
足はもう少し細くしたいのですが、各部のレングスを最小にしてしまっているので調整の余地があまりありません。
やってみれば分かりますがバランスが崩れるのす。
最終的には服を着せることになるので体に関しては然程こだわる必要はありません。

ここまで設定して身長を1.40m程度に合わせます。

・[Body:Body_Size]を0.31に

身長が1.4031mになりました。
ちなみに子供キャラ、小柄キャラである場合に[Body:Body_Size]を削って調節するのはありなのですが逆の場合は注意が必要です。
[Body:Body_Size]は全体の拡大・縮小なので身長を高くするためにこのパラメータを増やすと頭の大きなキャラになってしまいます。
あくまでも身長を伸ばすには、胴体や手足の長さを長くして調節するほうが良いです。

次は表情の設定です。

・[Head:Head_Round]を0.7に

これは目を大きくするためには顔の横幅を広げる必要があるからです。
キャラの描き分けにも用いますからあまり極端な設定はしない方が吉。

・[Cheaks:Cheeks_SideCrease]を0.2に

ほうれい線付近の顔表面をなだらかにします。
[ Cheeks_SideCrease] は加齢表現にも使えそうです。

・[Cheaks:Cheeks_Mass]を0.6に
・[Cheaks:Cheeks_Tone]を0.3に

この二つのパラメータは必ずセットで設定します。
[Cheaks:Cheeks_Mass]は頬の膨らみ具合、削げ具合を調節します。
九歳少女なので1側にふって膨らみをもたせます。
[Cheaks:Cheeks_Tone]は強調具合です。

・[Chin:Chin_Prominence]を0.7に

意図は横顔の鼻の頂点、唇先、顎先の位置を整え、正面下から見た場合に破綻しないようにすること。
ただ、表情の印象が大きく変わるので好みが分かれます。
唇先がへこんでいるほうが美人系。
逆に振ると可愛い系になりますが顔を下側から見た場合に顎の無いキャラになります。

・[Chin:Chin_SizeX]を0.7に

顎の丸みの設定です。
[Cheaks]の設定とのバランスになります。
頬を丸めたのならば顎もある程度丸くしたほうが良いでしょう。

・[Eyes:Eyes_PosZ]を0に

目の高さの調整です。
子供らしさを出すには低くします。
逆に大人感を出すには高くします。

・[Eyes:Eyes_InnerPosX]を1に

目の内側の位置ですが目を大きくする一環です。

・[Eyes:Eyes_OuterPosX]を0.7に

目の外側の位置です。
目を大きくする一環ですがあまり大きくするとメッシュが乱れます。
前述の[Head:Head_Round]のパラメータと関連します。

・[Eyes:Eyes_InnerPosZ]を0.9に
・[Eyes:Eyes_OuterPosZ]を0.2に
・[Eyelids:Eyelids_Angle]を0.4に

いわゆるタレ目、ツリ目の調整です。
ここではややタレ目に調整します。

・[Eyes:Eyes_SizeZ]を0.3に
・[Eyelids:MiddlePosZ]を0に

目のパッチリ具合です。
子供を表現するには大きくする方が良いのですが、マリアの性格からやや細目に設定します。

・[Eyelids:InnerPosZ]を0に
・[Eyelids:LowerCurve]を1に

このへんは好みで。

・[Eyelashes:Eyelashes_Length]を0に

睫毛の長さです。
睫毛をどれくらいの長さにするかですが、子供の場合はそれほど睫毛は重要ではないので短くします。
なお最終的には下の睫毛は表示させない予定です。

・[Eyebrows:Eyebrows_Angle]を0.6に

眉毛の角度です。
意思の強さを示すためにやや吊り上げます。

・[Eyebrows:Eyebrows_PosZ]を0.4に

眉毛を目に近付けるか離すか。

・[Eyebrows:Eyebrows_Size01]を0.2に

眉毛を細くする。

・[Mouth:MouthPosZ]を0.7に

口角の上げ下げ。
基本的に余裕のありそうな笑顔とします。

これでキャラクター設定を完了します。
3Dビューのシェーディングをレンダーにすると簡易的にレンダリングされます。

オブジェクトを選択した状態でテンキーの4か6を押すとオブジェクトを中心に回転させることができます。

いかがでしょうか?
丸坊主で尚可愛らしいとは異常です。
defaultの造形が優れているので、水平方向ならばどの方向から見ても破綻はないように見えます。

この後、Finalizeを行うことによりこのキャラクターを編集できるようになります。
その前に保存しましょう。

ツールシェルフの[ManuelBastitioniLAB]の[File tools]メニューを開きます。
[Include propotions]をチェックして[Export charcter]とします。
設定は.jsonファイルとしてセーブします。

尚、ここでgirl1_before_finalize.blendとして保存することをお勧めします。

ツールシェルフには[Skin editor]が有るのですが私は重要視していません。
Finalize後でも設定変更が可能であるからです。

Finalizeはツールシェルフの[ManuelBastitioniLAB]の[Finalize tools]メニューを開きます。

接頭語に[girl1]等のユニークな名前を付けます。
[Finalize with textures and backup]ボタンを押します。
ここで保存しているのはSkin画像だけです。

Finalize後に改めてgirl1_after_finalize.blendとしてセーブします。
Fnalize後はツールシェルフの[ManuelBastitioniLAB]のメニューが変わります。
後は生成したキャラクターを自由に編集できます。

ここで暫定で付属の髪を付けておきましょう。
ツールシェルフの[ManuelBastitioniLAB]の[ASSETS LIBRARY]のメニューを開きます。
[Assets model:]で[hair01_anime_female]を選択すると髪の毛が出てきます。

ツールシェルフの[ManuelBastitioniLAB]の[PROXY FITTING]のメニューを開きます。
キャラクターで作成したキャラクター[girl1_body]を選択、プロキシに[hair01_anime_female]を選択し、[Fit Proxy]ボタンを押します。

髪の毛が自動装着されました。

ただしここまで便利なのは付属の髪だけです。
PROXY FITTINGは凄い機能なのですが、自作の服や髪をセットする場合は試行錯誤が必要です。

次にポーズを変えます。
キャラクターの足元にある三角錐を右クリックで選択します。
モードが[ポーズモード]に変わります。
もし変わらず、[オブジェクトモード]のままならば、[ポーズモード]に変えてください。

[ポーズモード]の時、ツールシェルフの[ManuelBastitioniLAB]の[POSE AND ANIMATION]メニューで[Female pose]を選択できるようになります。

選択するとポーズを変更することができます。

色々なポーズが有るので試してください。
体形を大きく変えてしまっているので至る所で破綻がおきます。
ポーズは手動で修正することができます。

如何でしょうか?
ここまで駆け足で説明してきましたが、凄いツールであることをお分かり頂けたでしょうか?
髪と服をどのように用意するのかが課題となりますが、このままでもデッサン人形の代わりになります。
また、髪や服を自分で描けるのならばポーズを付けてレンダリングすれば、素材として即戦力です。

今回はこれで終わりです。
絵は完成していませんが、時間があれば[その2]を書きたいと思います。


MB-LAB


私は『小説家になろう』さんで小説『黒灰色(こっかいしょく)の魔女と時の魔女』を連載させていただいていますが、正直あまり読まれていません。
凄く面白いんですけれどね。(本当ですよ)

読まれていない理由は萌え絵の挿絵が無いせいだと思います。(いや、本当ですよ)
ラノベの価値はほぼほぼ挿絵で決まりますからね。
それで色々萌え絵を生成する方法を検討しているわけです。

「描画」ではなく「生成」と言っているのは絵が描けないためです。
描けないというのは語弊がありました。
それなりのクオリティの萌え絵を現実的な時間で描くことが私にはできないということです。
そりゃ、一か月かかって良いのならば描けるのかも知れませんが、それでは小説を更新する時間が取れませんしね。

で、ツールに頼ろうというわけです。
特に3Dキャラは一度作ると使いまわしができます。
昨今では 『カスタムキャスト』や『VRoidStudio』 など、色々なツールが有って、可愛いキャラを作ることができます。
カスタムキャストはバーチャルライブアプリで、萌え絵を作成するためのツールというわけではないのでしょうが、十分可愛らしい絵が作れるようです。
VRoidStudioは3Dキャラメイカーと銘打っているだけあって私の目的にかなりマッチします。
どちらもネット上で人気があります。
情報もあって活気があります。
熱いです。
これらを小説の挿絵に使うことは良い選択だと思います。

しかし私はもう一つの道を選びました。
上の絵は『MB-Lab』ベースのものです。
MB-Labはかつて『ManuelbastioniLAB』という名前で開発・公開されていたBlenderベースの3Dキャラクター生成ツールです。
『ManuelbastioniLAB』 は Manuel Bastioni氏のプロジェクトでしたが資金上の問題で開発中止となり、今では『MB-Lab』と名称を変え、Git-HUB上にForkされて開発・公開が続けられているプロジェクトです。

3Dの人物生成を行うツールで 『MB-Lab』は 一番優れたものだと思います。
このような優れたツールが無償で公開されていることは僥倖なことです。
そして資金上の問題で開発が行き詰ってしまったことは残念でしかたがありません。
Manuel Bastioni氏の功績はもっと報われるべきであるし、 『MB-Lab』 はもっと正当な評価を受けるべきです。

私は上の絵を『ManuelBastioniLAB 1.6.1a』ベースのキャラクターで作成しました。
正直、私の3Dの技術も絵として仕上げる技術もプアです。
私は『MB-Lab』の真価を発揮させることができていません。
しかしながら、それでも私にとって十分過ぎるほどの成果を 『MB-Lab』 は私に与えてくれます。

上の絵は『黒灰色(こっかいしょく)の魔女と時の魔女』の第五章第一話で、イリアが瀕死で運び込まれてきた少年ジャックの心を窃視する場面のイメージです。
宜しければ小説をお読みいただけますと幸いです。

『MB-Lab』はBlenderベースという時点で、 かなりとっつきにくく敷居が髙いものです。
また、本来はphotorealisticな人物生成を得意としているツールで、アニメ調キャラクターの生成は余技なのかもしれません。
自由度の高いツールであるので、使い手によって全然違うものができあがるでしょう。
私もそれほど使い込んでいるわけではないのですが、いくつか分かってきたことがあるのでシェアしていければ良いですね。