CG制作において、人体モデリングは難易度が高い部類に入ります。なぜなら、人体はほぼ曲線で構成されていて、その上、モデルが変形することも想定しなければならないからです。人体モデリングでは、アニメーションでポリゴンが破綻しないようにいくつかのテクニックが必要で、初心者や中級者がゼロベースからいきなり挑戦するには、少々難易度が高いでしょう。
とはいっても、CGをしている人ならだれでもキャラクターに挑戦したいものだと思います。
そこで今回は、人体モデリングの素地として使える、かつメッシュフローの参考資料にもなる、MB-Labというアドオンについて紹介します。
Contents
MB-Labとは
MB-Labとは、人体モデルを素早く生成できるBlenderの非公式アドオンです。もともとはManuelBastioniLABというアドオンとして開発されていたのですが、ManuelBastioniLABが開発中止となったため、それを引き継いで開発が進められているアドオンです。

MB-Labでできること
MB-Labでできることはざっと以下の通りです。
- 人種テンプレートに基づく人体モデルの生成(ex.西洋人、アジア人、アニメ調…..)
- 体型テンプレートに基づく体型設定(ex.マッチョ、がりがり、巨人….)
- 年齢、筋肉量、体型をパラメータから調整
- 体の各部位をパラメータ調整(30か所)
- シェイプキーによる表情変化
- フェイスリグによる表情変化
- モデルのランダム生成
- 髪型のセットアップとライブラリへの保存
- ポージングのロードとセーブ
- 瞳、スキン、爪などのマテリアルをパラメータ調整
- 服飾アセットのフィッティング
多いですね…..。これだけ高機能というわけもあって、キャラクタモデリングの効率アップを期待できます。一度使ってみると、フルスクラッチするのが馬鹿らしくなります。
MB-Labの導入
アドオンの導入方法については下の記事を参考にしてください。間違えやすいのですが、zipを解凍する必要はありません。
ファイルのダウンロードは以下の公式ページもしくはgithubから行って下さい。
https://github.com/animate1978/MB-Lab
この記事では、記事を公開した時点での最新バージョン1.7.7を使用します。
人体生成
プラグインを導入したら、右側のツールシェルフにMB-Labのタブが追加されています。ツールシェルフが隠れている場合はNキーで出現させられます。

人体を生成するにはSelectからテンプレートを選択し、Create characterを選択します。テンプレートを作成した後から、男女の違いやアニメ調とリアル調の違いを変更することはできません。
また、このときいくつかオプションを選択できるので、状況に応じてオンにしておきます。オプションの内容は以下の通りです。
Use Inverse Kinematic
IKを設定したリグコントローラを追加します。ポージングを補助してくれるので、あった方がいいです。オンにした状態でモデルを生成すると、以下のようにコントローラが追加されます。

Use basic muscles
筋肉の動きを調整するボーンを追加できます。Unityなどのゲームエンジンには持っていけないので、ゲーム用のモデルには不要です。基本的なボーンだけでアニメーションしていると、ポリゴンが破綻しやすいので、局所的なポリゴン調整に使用します。

先に説明したInverse Kinematicと同様に、表示を切り替えるには、リグを選択した状態でプロパティパネルからレイヤーを変更します。

Use Cycles engine / Use EEVEE engine
モデルを生成したときに、レンダリングモードを切り替えます。どちらも選択していなければ強制的にworkbenchにセットされます…….それだけです。いるかなぁ、この機能
Use portrait studio lights
三点照明に基づいたライトをセットアップしてくれます。

体型の設定
Create Characterから人体モデルを生成すると、体型をパラメータから調整できます。この時点ではまだ表情やポーズをつけることができません。人体モデルを生成したことでツールシェルフの内容が以下のように変化しているはずです。

character_age, mass, tone
モデルの年齢、筋肉量、風格を設定できます。toneは値が低いほどメリハリのない体型になります。デブを作るなら最低値にしましょう!!

Reset character
キャラクターを初期状態に戻します。いろいろいじりすぎて、どうにも収集が付かなくなったときに押しましょう。
Character Library
体型にテンプレートを使用できます。typesのポップダウンの下にあるMix with currentをオンにしてテンプレートを選択すると、現在の体型とブレンドできます。

Random Generator
パラメータをちまちまいじるのが億劫なひとは、ランダム生成してしまいましょう。Engineの設定欄から傾向を付けたランダムにすることもできます。例えば、Extremeに設定すると、ゴブリンのような顔が出来上がりやすくなります。
「顔は気に入ったけど、体がイマイチだなぁ」というときは、Preserveで部分的に固定して、再度ランダム生成しましょう。

Body Measures
各パーツを部分的に調節できます。ランダム生成やテンプレートはここのパラメータを変更しているにすぎません。
注意点として、パラメータをリセットする場合はReset categoryを押してください。あやまってReset characterを押下してしまうと、モデルを初期生成した時点にもどってしまいます。

Rest Pose
初期ポーズを設定します。基本的にはAポーズかTポーズにしておきましょう。

Skin Editor
瞳、爪、皮膚のマテリアルを調整できます。パラメータをいじってみたほうがわかりやすいので、特に説明する部分はないです。
ファイナライズ
体型に関する以上のことを設定し終えたら、モデルをファイナライズします。オプションとして、パラメータのバックアップとモディファイアの除去を選択できます。キャラクタのバックアップを選択してファイナライズすると、マテリアルのテクスチャすべてとパラメータをまとめたjsonファイルが出力されます。また、prefixにモデルの名前を入れておくと、ファイナライズ後のオブジェクト名を書き換えてくれます。

バックアップを取ったキャラクターはFile ToolsのImport characterから読み込むことができます。逆に、Export characterを選択して、ファイナライズ前にjsonファイルのバックアップだけを取ることもできます。

表情の設定
ファイナライズに成功すると、またまたツールシェルフが変化します。ここからはいよいよ表情を付けることができます。またポージングやアニメーション、衣服のフィッティングもこの段階から行えます。

Face Rig
ボーンを使った表情制御をセットアップできます。次に説明するFace Expressionsと同時に使用することはできません。Import FACS Rigとは、FACSという理論に基づく表情リグを追加できるオプションです。FACSとは、Facial Action Coding Systemの略称で、表情を数値化したもので、より詳しいことはwiki(FACSについて)でも読んでください。

リグの生成に成功すると、下のようなオブジェクトがシーンに追加されます。Face Rigをコントロールするにはポーズモードから、FACS Rigをコントロールするにはオブジェクトモードから操作します。なんで統一しなかった

Face Expressions
先述したFace Rigと併用できません。各表情のプリセットが一覧になっており、表情度合いを0から1の間で設定します。このFace ExpressionsはShape Keysに設定されているのですが、いくつかのkeyを複合しているので、プロパティから値を変更するのは避けたほうがいいです。たいていの表情を網羅しているので、それほど困ることはないと思いますが、凝った表情を作るのには向いていないので、そこらへんは適宜Face rigと比較しながら使用してください。

Assets and Hair
髪の毛は初期生成されないので、Asset and Hairから追加する必要があります。Particle Hairを押下すると下のようなボンバーヘッドがセットアップされます。


エディットモードでポリゴンを選択してから、Hair from Selectedを押下すると部分的に毛を生やすことができます。これで腋毛や胸毛もダイジョブですね、ははは。

Proxy Fitting
長くなったので別記事に分けます。
MB-LabのProxy Fittingの使い方まとめ(準備中)
Pose and Animation
Load poseとSave poseは、MB-Labのモデルで作成したポーズをjsonファイルで読み書きします。ほかで作成したリグとは全く互換性がないので注意してください。

後述の注意点でも触れますが、MB-Labのリグはあまりアニメーションが得意ではありません。これはMB-Labがモーションキャプチャを利用することを前提としているためです(たぶん)。モーションキャプチャで作成したモーションファイル(bvhファイル)はLoad animation(bvh)からロードできます。
Humanoid Rotationsは、ベースボーンに人間らしい関節を再現したコンストレイント加える機能です。ボタンを押しただけだと変化がないのでわかりにくいです。

MB-Labを使うにあたっての注意点
ジオメトリーを直接編集するのはタブー
目元を大きくしたいとか、鼻を高くしたいとか、そういうちょっとした調整であっても、ジオメトリーを直接編集するのはやめたほうがいいです。というのも、MB-Labはスクリプトからメッシュを操作する部分が多いため、メッシュの頂点数が増減したりポリゴンの並びが大幅に入れ替わったりすると、壊滅的なバグになる恐れがあります。
ポージング中はSubdivisionSurfaceをオフにする
モディファイアのメッシュ細分化(SubdivisionSurface)が初期状態で設定されていますが、ポージングをしていると非常に重たいので、オフにすることをおすすめします。
付属のリグはアニメーションに向かない
MB-Labでは、モデルに付随してリグも生成できます。ウェイトもセットアップ済みのため、ポーズモードに入ると、誰でもすぐにポージングすることができ、非常に親切なシステムといえます。
ところが、MB-Labのリグはかなり簡素なため、このリグを使い続けることはあまりおすすめできません。とくにおすすめできない理由の一つに、FKへの切り替えがない点が挙げられます。MB-Labのリグはポージングには向いていますが、モーション作成には全く向いていないので、キャラクターに手打ちのモーションを付けたい方は、別のリグを仕込みましょう。
なかでも、Rigifyという公式アドオンが非常におすすめです。モーションを作成してみたいという方は、ぜひRigifyについての記事をご覧ください。
まとめ
首より下のメッシュをMB-Labで代用することが結構あるので、おすすめです。
体は服飾で隠れてしまうことが多いので、自分はあまり作り込むことがありません。首だけ挿げ替えるだけで、大幅な時間短縮につながるので試してみてはいかがでしょう。
MB-Labで生成した3Dモデルは、ライセンスが緩くない。
AGPL 3(GNU Affero General Public License 3)。
個人ソフトや商用ソフトへの組み込みはおすすめしない。
レンダリングした画像や動画ならライセンスに問題無いが、使用用途が限定される。
モデル販売などを考えるなら、MB-Labは使わない方が良い。