挿絵画家になろう(その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]を書きたいと思います。