今回はblenderのAdd OnであるManuelBastioniLABを使ってみようと思います。
ManuelBastioniLABは
↑のサイトからダウンロード出来ます。
ManuelBastioniLABはMakeHumanの機能をblenderで利用できるようにした感じですかね?
ManuelBastioniLABの開発はストップしているみたいです。( ノД`)シクシク…
ManuelBastioniLABを使う為にBlenderの設定をする
ManuelBastioniLABのバージョンは1.3.0でblenderのバージョンは2.77aになります。
blenderのバージョンが2.76bだとエラーになったのでこの記事用に2.77aに一時的にアップデートしました。
ダウンロードが終了したら、blenderを起動します。
blenderのUser PreferenceでAdd On項目を選択します。
↑のようにAdd-onsを選択します。
↑でInstall from File…を押し、先ほどダウンロードしたManuelBastioniの圧縮ファイルを選択します。
↑でCharacters: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モデルとともにすでにボーンの設定がされているようです!
ManuelBastioniLABの項目を見ていく
ではそれぞれの項目を見てみましょう。
Meta parameters
まずはMeta parametersですね
character_ageは年齢を設定
character_massは体重?を設定
character_toneは筋肉量ですかね?
それぞれ-1から1の間で変化させる事が出来ます。
Characters library
次はCharacters libraryを見ていきます。
Typesでは人の種類を選択出来るようです。
ここでの設定で大きい人だったりモンスター系にしたり出来ます。
Phenotypeは単純に人種で変更する項目みたいです。
TypesとPhenotypeは同時に変更出来ないみたいですが、下のMix with currentにチェックを入れると前の設定とミックスした状態の3Dモデルに出来るみたいです。
Reset Allボタンを押すと設定がすべてクリアされます。
Characters libraryの設定を変更するとMeta parametersの設定がリセットされるみたいですね。
Expression Tools
次はExpression Toolsにチェックを入れて設定項目を見ていきましょう。
Expressionでは表情を変更する事が出来るようです。
試しにExpressionsをSadにしてみました。
悲しげな表情ですね・・・。
わたくしの心を表しているようではありませんか(謎)
Fit expressionsという項目はちょっとわかりません・・・・。
Reset Expressionで表情をリセット出来ます。
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を見ていきましょう。
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を見ていきます。
この項目はよくわかりません・・・・(^_^;)
今まで設定したパラメータからモデルを微調整するんでしょうか・・・謎
Smoothボタンを押しても3Dモデルが段々小さくなっているようにしか見えません・・・(__)
Poseの項目を選択すると3Dモデルのポーズを変更出来ます。
Reset poseボタンで元のポーズに戻ります。
3Dモデルの足をあげて↑のようにポーズを変更した後、Save Poseボタンを押してポーズを保存出来ます。
ポーズファイルはjson形式でデータとして保存されます。
一旦Reset poseボタンを押しポーズをリセットしてからLoad poseボタンを押して先ほど保存したポーズファイルを選択すると先ほどの足を上げたポーズが読み込まれるようになります。
Skin editor tools
次はSkin editor toolsを見ていきましょう。
皮膚の状態の変更を確認しやすくする為に3Dモデルをレンダリングしてみましょう。
↑のようにRenderedに変更します。
すると
↑のようにテクスチャが貼られました。
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を見ていきましょう。
この項目は服等を体にフィット(サイズや向きなどを合わせる)させる為の項目みたいです。
わたくしが作った自前のボロボロTシャツをモデルに着せてみましょう。
本当にボロボロですね・・・、サンプルなので気にしないでください。
これを3Dモデルの辺りに移動させます。
↑のようにTシャツをキャラクターが来ているようにサイズ調整しました。
Tシャツオブジェクトを選択している状態でCalibrate Proxyボタンを押してTシャツがキャラクターのポーズに合わせて動くようにします。
しかし、ここでエラーが出ます。
↑のような英語が表示されました。
どうやら人の基点と服の基点が同じでないとダメなようですね。
↑のように服の基点は上の方にあり、人の基点は下のほうにあります。
そこで服を選択した状態でCorrect proxy originボタンを押します。
またCorrect proxy scaleボタンも押しておきます。
二つのボタンを押したら再度Calibrate Proxyボタンを押します。
今度はエラーが出ないはずです。
これで服がキャラクターにフィットするようになったので、キャラクターのポーズを変更してみましょう。
Pose ToolsでPoseをflying02に設定します。
↑のようにキャラクターがポーズを変えた為に服が取り残されています。
ここでFit Proxiesボタンを押してみましょう。
↑のように服がキャラクターにフィットしました。
Files import-export
次にFiles import-exportを見ていきましょう。
Character dataとCharacter measuresのデータをJSON形式で出力と入力が出来ます。
キャラクターの情報を保存しておきたい場合は両方データを出力しておくといいかもしれません。
Character dataは顔などの形状でCharacter measuresは体の体形等のデータでしょうか・・・。
先にmeasuresをすると顔がリセットされるので、
Character data→Character measuresの順番でやった方がいいのかもしれません。
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で使うアニメーションを作りたいだけなのであんまり時間をかけるのもなぁ・・・・(-.-)