blenderのアドオンManuelBastioniLABを使って3Dモデルを作成

今回はblenderのAdd OnであるManuelBastioniLABを使ってみようと思います。

ManuelBastioniLABは

Download Open Source software for characters creation

↑のサイトからダウンロード出来ます。

ManuelBastioniLABはMakeHumanの機能をblenderで利用できるようにした感じですかね?

スポンサーリンク

ManuelBastioniLABを使う為にBlenderの設定をする

ManuelBastioniLABのバージョンは1.3.0でblenderのバージョンは2.77aになります。

blenderのバージョンが2.76bだとエラーになったのでこの記事用に2.77aに一時的にアップデートしました。

ダウンロードが終了したら、blenderを起動します。

blenderのUser PreferenceでAdd On項目を選択します。

manuelbastioniアドオンの追加

↑のようにAdd-onsを選択します。

install from fileでファイルを選択

↑でInstall from File…を押し、先ほどダウンロードしたManuelBastioniの圧縮ファイルを選択します。

manuelbastioniアドオンにチェックを入れる

↑でCharacters:ManuelbastioniLABの左側のチェックを入れます。

ManuelBastioniLAB項目が表示される

ManuelBastioniLab項目が表示される

↑Tキーを押した時に表示されるメニューの項目にManuelBastioniLAB項目が追加されました。

Use Cycles materialsにチェックを入れると肌などのマテリアルが設定されます。
Use poirtrait studio lightsにチェックを入れて置くとライトが自動生成されます。

Selectで人型を選択してinit characterを押すと3Dモデルが生成されます。

下の方に出てくるDelete Globallyをチェックすると作成した3Dモデルが削除されます。

SelectでAsian maleを選択してInit characterを押してみます。
(ここでAnimeなんちゃらを選ぶとアニメ風のキャラクターを作成する事が出来ます)

キャラクターを生成すると新しい設定が現れる

Init characterボタンを押すと↑のように新しい設定項目が現れました。

生成された3Dモデル

↑が生成された3Dモデルです。

ライトも生成されていますね。
3Dモデルとともにすでにボーンの設定がされているようです!

ManuelBastioniLABの項目を見ていく

ではそれぞれの項目を見てみましょう。

Meta parameters

MetaParameters項目

まずはMeta parametersですね

character_ageは年齢を設定
character_massは体重?を設定
character_toneは筋肉量ですかね?

それぞれ-1から1の間で変化させる事が出来ます。

Characters library

次はCharacters libraryを見ていきます。

character libraryの設定

Typesでは人の種類を選択出来るようです。
ここでの設定で大きい人だったりモンスター系にしたり出来ます。
Phenotypeは単純に人種で変更する項目みたいです。

TypesとPhenotypeは同時に変更出来ないみたいですが、下のMix with currentにチェックを入れると前の設定とミックスした状態の3Dモデルに出来るみたいです。

Reset Allボタンを押すと設定がすべてクリアされます。

Characters libraryの設定を変更するとMeta parametersの設定がリセットされるみたいですね。

Expression Tools

次はExpression Toolsにチェックを入れて設定項目を見ていきましょう。

Expression Toolsの設定

Expressionでは表情を変更する事が出来るようです。
試しにExpressionsをSadにしてみました。

ExpressionsをSadに設定

悲しげな表情ですね・・・。
わたくしの心を表しているようではありませんか(謎)

Fit expressionsという項目はちょっとわかりません・・・・。

Reset Expressionで表情をリセット出来ます。

Randam generator tools

次はRandam generator toolsを見ていきます。

Randam generator toolsの設定

Randam generatro toolsではランダムな3Dモデルを作成します。
Engineで項目を選択し、Generateを押すと3Dモデルがランダムに作成されます。

Preserveの項目にチェックを入れておくとランダムに作成した3Dモデルのそれぞれの項目を保持したまま他の項目をランダムに生成する事が出来ます。

massは体重
toneは筋肉
phenotypeは形状
heightは身長
faceは顔
tone and massは筋肉と体重

例えば好みの顔が出来たと思ったらfaceにチェックを入れてGenerateボタンを押すと顔はそのままで他の要素が変わります。

Body parameters

次はBody parametersを見ていきましょう。

Bodyparametersの設定

Morphing categorysで体のパーツを選択しそれぞれの設定項目を変更すると3Dモデルの形状が変化します。

上の方にあるBody measuresにチェックを入れると3Dモデル全体のパーツの長さが表示され、そちらを直接変更する事も出来ます。

そちらで変更した場合はUpdate characterボタンを押すと3Dモデルに反映されます。

Morphing categorysの値の変更はすぐに反映されるみたいです。

DIMENSIONSでinchにチェックを入れるとcmからインチに単位が変更されますが、日本人であればcmの方がわかりやすいでしょう。

下の方にある

Reset categoryでMorphing categoriesで選択中のパーツの設定をリセットし、
Reset Allですべてのパーツをリセットします。

Automodelling tools

次はAutomodelling toolsを見ていきます。

Automodelling toolsの設定

この項目はよくわかりません・・・・(^_^;)

今まで設定したパラメータからモデルを微調整するんでしょうか・・・謎
Smoothボタンを押しても3Dモデルが段々小さくなっているようにしか見えません・・・(__)

Pose toolsの設定

Poseの項目を選択すると3Dモデルのポーズを変更出来ます。
Reset poseボタンで元のポーズに戻ります。

モデルのポーズを変更した画像

3Dモデルの足をあげて↑のようにポーズを変更した後、Save Poseボタンを押してポーズを保存出来ます。
ポーズファイルはjson形式でデータとして保存されます。

一旦Reset poseボタンを押しポーズをリセットしてからLoad poseボタンを押して先ほど保存したポーズファイルを選択すると先ほどの足を上げたポーズが読み込まれるようになります。

Skin editor tools

次はSkin editor toolsを見ていきましょう。

Skineditortoolsの設定

皮膚の状態の変更を確認しやすくする為に3Dモデルをレンダリングしてみましょう。

3Dモデルをレンダリングする

↑のようにRenderedに変更します。
すると

レンダリングした3Dモデル

↑のようにテクスチャが貼られました。
3Dモデル自体が服を着ていないので上半身のみの表示にしました・・・・(^_^;)

ではSkin editor toolsの項目を見ていきましょう。
Update displacementは変更をアップデートするのかと思ったらパラメータを変更と同時に変わってるので違うのかも・・。
Enable displacement preview(訳すと置き換えのプレビューを可能にする?)
Enable subdivision preview(訳すと位置部分のプレビューを可能にする?)
もよくわかりません・・・ボタンを押してDisableなんちゃらにすると他の設定をオフにするんでしょうか?

Disableの表示の状態で設定を変更すると処理がめちゃくちゃ重くなります。
Disable表示がされている時はEnableになっているみたいです。

つまりボタンは『可能にするか』『不可能にするか』ボタン表示なので、
『可能にする』ボタンが表示されていて、押すと可能になり『表示しない』ボタンが表示されるという事なんでしょう。

subdivision previewはONにすると細かい部分が作り込まれて表示されるようです(スムース表示?)

ちょっとわからないので次に行きましょう・・・。

eyes_hueは目の色合い
eyes_saturationは目の彩度
eyes_valueは目の色の明度
skin_bumpは肌の隆起、変更してもよくわかりません・・・
skin_complexionは肌の色ですかね
skin_oilは肌のテカリ度合いです
skin_saturationは肌の彩度
skin_sssはよくわかりません・・・。
skin_subdermは皮膚の色見が変更出来ます。

skin_complexionは全体の色を決定し、skin_subdermはその中で色の濃さを変更している感じのようです。

Export texturesで肌のテクスチャを出力する事が出来ます。

Save dermal imageは皮膚のテクスチャ
Save subdermal imageは皮膚下のテクスチャ
Save displacement imageは置換のテクスチャ

になります。
正直なんなのかわかりません・・・・(-.-)

Proxy utilities

次にProxy utilitiesを見ていきましょう。

Proxies toolsの設定

この項目は服等を体にフィット(サイズや向きなどを合わせる)させる為の項目みたいです。

わたくしが作った自前のボロボロTシャツをモデルに着せてみましょう。

ボロボロTシャツ

本当にボロボロですね・・・、サンプルなので気にしないでください。

これを3Dモデルの辺りに移動させます。

キャラクターに服を合わせる

↑のようにTシャツをキャラクターが来ているようにサイズ調整しました。

Tシャツオブジェクトを選択している状態でCalibrate Proxyボタンを押してTシャツがキャラクターのポーズに合わせて動くようにします。
しかし、ここでエラーが出ます。

Calibrate Proxyボタンを押すとエラーが表示される

↑のような英語が表示されました。
どうやら人の基点と服の基点が同じでないとダメなようですね。

人と服の基点が違う

↑のように服の基点は上の方にあり、人の基点は下のほうにあります。

そこで服を選択した状態でCorrect proxy originボタンを押します。
またCorrect proxy scaleボタンも押しておきます。

二つのボタンを押したら再度Calibrate Proxyボタンを押します。
今度はエラーが出ないはずです。

これで服がキャラクターにフィットするようになったので、キャラクターのポーズを変更してみましょう。
Pose ToolsでPoseをflying02に設定します。

キャラクターのポーズを変えると服が置き去りになる

↑のようにキャラクターがポーズを変えた為に服が取り残されています。
ここでFit Proxiesボタンを押してみましょう。

キャラクターに服がフィットした

↑のように服がキャラクターにフィットしました。

Files import-export

次にFiles import-exportを見ていきましょう。

files import-exportの設定

Character dataとCharacter measuresのデータをJSON形式で出力と入力が出来ます。

キャラクターの情報を保存しておきたい場合は両方データを出力しておくといいかもしれません。

Character dataは顔などの形状でCharacter measuresは体の体形等のデータでしょうか・・・。
先にmeasuresをすると顔がリセットされるので、

Character data→Character measuresの順番でやった方がいいのかもしれません。

Finalize

そして最後にFinalize項目です。

Finalize設定

↑のようにチェックを入れるとFinalizeボタンが表示されるので、押すとキャラクターを確定し設定項目がすべて消えます。
あとで編集したい場合は先ほどのCharacter data、Characer measuresを出力しておくといいでしょう。

Finalizeボタンを押すとキャラクターの設定が完了します。

これでblenderのアドオンであるManuelBastioniLABを使って3Dモデルを作成する事が出来るようになりました。

作成した3DモデルをUnityで使えるのか!?

さて、この作成した3Dモデルを出力してUnityで使いたいという方もいると思います・・・・。
わたくし的にはMakeHumanで作った方がサクッとUnityに取り込めていいんですが、

ManuelBastioniLabで作成した3Dモデルを編集したりした後にUnityに取り込みたい場合もあると思います。

そのままfbxファイルで出力し、Unityで取り込むとボーンの設定がうまくいかなかったのでボーンを修正してUnity仕様に変更する必要があるみたいです。

Unity側でエラーが出ますがいちおう使えた方法としては、

ManuelBastioniLABの設定項目のPose toolsのPoseをt-poseにしてfbx形式で3Dモデルを出力します。

Unityで3Dモデルを取り込んだらキャラクターを選択しRigをHumanoidにしてConfigureボタンを押します。

指が変になっている

一見大丈夫なように見えてわたくしをいつも悩ます指の問題が発生しています。
ボーンの設定を見てみると指が変な方向に曲がっているのか薬指と小指が表示されていません。

ポーズをリセットする

そこでPoseのResetを選択し、ポーズをリセットします。

手が元に戻るがエラーが出る

するとデフォルトのポーズ(blenderでt-poseで出力したのでt-poseになっている)になります。

指がちゃんと表示されますが、キャラクターがT-Poseじゃないというエラーが出ます。

しかしScene上ではエラーになっていますが、細かいボーンの設定を見てみるとエラーになっていないので、このままDoneを押して決定します。

キャラクターを配置して確認

キャラクターをシーンに配置しThird Person Character等Standard Assetのキャラクター操作の機能を取りつけ確認してみます。

するとblenderから取り込んだキャラクターが問題なく動いています。

細かい所は確認してないので本当に大丈夫なのかどうかはわかりません。
あとはキャラクターのボーン設定でエラーが出たままになるのがなんか嫌ですね・・・(-.-)

blenderが使えればこういうエラーの対処も出来るんだろうなぁいいなぁ( 一一)

とりあえずこれでManuelBastioniLABで作成した3DモデルをUnityに取り込んで使う事が出来ます。

いまいちどblenderでボーンの設定とRigifyの取りつけを学習したいものです。

しかし、本来の目的はUnityで使うアニメーションを作りたいだけなのであんまり時間をかけるのもなぁ・・・・(-.-)