MakeHuman1.1.0を使って3Dモデルを作成しUnityに取り込む

わたくしの知らぬ間にMakeHumanの最新バージョンが1.1.0になっていたので、改めて使ってみました。

Unityを使ったゲームの機能を追っている間、blenderやMakeHumanはほとんど使ってなかったんですがバージョンアップされていたんですね。

さっそく両方アップデートしてみました。

blenderは2.77aでMakeHumanは1.1.0です。

わたくしの使っているUnityのバージョンは5.3.4f1です(新しいパソコンを買えない限りずっとこのバージョンです・・・(:_;))

以前使っていたのはMakeHumanの1.0.2でそれに関しては

MakeHuman1.0.2を使って3Dキャラクターを作り、Unityで取り込んで使う。
3Dキャラクター作成ツールMakeHumanを使ってキャラクターを作り、Unityに取り込んで使用します

の記事に書いています。

1.0.2からどの程度変わったのか興味深いですね!

スポンサーリンク

MakeHumanが1.0.2から1.1.0へとバージョンアップして変わった事を確認してみる

makehumanジオメトリーの衣服

↑がジオメトリーの衣服の設定です。
少し服や靴のバージョンが増えているような気がします。

この服や靴の種類がものすごく増えればめちゃくちゃUnityで使えますね!

3DCGに疎いわたくしにとっては有料でもたぶん買うでしょう。お金があればね・・・(-.-)

MakeHumanで使う服や靴を作ってMakeHumanで使う方法がどこかの動画にあったような気がするけれど・・・、そもそも3DCGが出来ないと辛い所・・・。

makehumanのポーズアニメーション

↑がポーズ/アニメーションの項目です。
以前はいっぱいあった設定項目ですが、シンプルな感じになりましたね。

Unityで取り込んで使える設定はGame engineみたいです。
他のリグの設定だとUnityに取り込むと指の部分がうまく動きません。

毎回のように指の動きに悩まされます・・・・(;_;)

makehumanでポーズを付ける

Poseの項目ではモデルにポーズを取らせる事が出来ますね。
T-Poseも取らせる事が出来るから便利かも。

Unityにそのまま取り込む場合は特にポーズはいらないですけどね・・・・(^_^;)

makehumanで表情を付ける

Expressions項目でモデルに表情を付ける事が出来ます。
これもUnityで使う場合はNoneでいいかもしれません。

MakeHumanで3Dモデルを出力しUnityで取り込む

とりあえず設定をしてUnityで取り込んでみましょう。

まずは人の形を設定します。

makehumanの人物設定

まずは人の年齢や体型、人種などの設定を行います。
わたくしは↑のように設定し、少し年老いた人物を作成しました。

人に服を着せる

次に人に着せる服の設定を行います。
↑のように服と靴を設定しました。

人のトポロジーの設定

次はトポロジーの設定です。
Male Genericに設定します。

モデルを出力する

これで設定が完了したので、fbx形式でモデルを出力します。
ファイル名はa.fbxとして保存します(名前は自由に付けてください)。

MakeHuman形式のファイル出力は出来なくなったのかな?

次にUnityのメニューから→Assets→Import New Asset…→a.fbx

でUnityにモデルを取り込みます。

取り込んだモデルをHumanoid型にする

取り込んだモデルを選択しAnimation TypeをHumanoidに変更します。
その後Configureをクリック→Applyを押す。

指の動きを確認

色々指の動きで悩まされてきたので問題がないか確認します・・・(:_;)

インスペクタの項目でMuscles & Settingsを選択し、Finger Open Closeを左右にドラッグし指の開きを確認します。

↑のように指の動きがおかしくなければインスペクタの下にあるDoneを押し確定します。

ここまでで3Dモデルの取り込みが出来ました。

が、モデルのテクスチャが取り込まれていないのでモデルにテクスチャを設定していきます。

Unityに取り込んだ3Dモデルにテクスチャを貼る

以前のバージョンであればモデルを選択し、インスペクタのModelの項目でMaterial Namingを設定すれば自動で設定されましたが、今回はされないので自分で設定していきます。

MakeHumanでモデルを出力した時に同じフォルダ内にTextureというフォルダが出力されているはずです。

Unityのメニュー→Assets→Import New AssetでTextureを一つ一つインポートします。

モデルのテクスチャを取り込む

↑のようにTexutureフォルダ内にテクスチャがあるので、すべて取り込みます。

あれ・・・皮膚のテクスチャがないので、MakeHumanでマテリアルの皮膚をDefault以外に設定して再度出力してみてください・・・・(^_^;)

モデルを取り込んだ時に一緒にMaterialsというフォルダ内にマテリアルファイルが作成されているはずです。

マテリアルにテクスチャを設定

そのマテリアルのAlbedoにインポートしたテクスチャをそれぞれ設定していきます。

shoes01はNormal Mapもあるのでshoes01マテリアルのNormal Mapにshoes01のNormal Mapを設定してください。

Nomal Mapはデコボコを表現する為に設定するみたいです(詳しくないのでわかりません・・・)

モデルにテクスチャが貼られた

すると取り込んだモデルにテクスチャが反映されます。

目のマテリアルの設定はShaderを

Legacy Shaders/Transparent/Bumped Diffuseに設定しました。
Standardのままだと白目になってしまうので・・・。

3Dモデルを動かして確認する

これでモデルの取り込みとテクスチャの貼り付けが終わったので、シーンに配置して動きに問題がないか確かめてみましょう。

モデルをシーンに配置し、アニメーターの設定やキャラクターを動かすスクリプトを取りつけ確認してみてください。

今回の場合はStandard AssetのThirdPersonControllerを横にならべ、取り込んだモデルにも同じスクリプトとアニメーターを設定して動かしてみました。

取り込んだモデルがおかしくないか確認する

↑のように取り込んだモデルがStandard Assetのモデルと同じように動いて問題がない事が確認出来ました。

blenderを2.77aにアップデートした事と期待する事

さて、MakeHumanを1.1.0にアップデートしたのと同時にblenderも2.77aにアップデートしたわけですが・・・、
以前作成していたアニメーションが取り込めなくなったので2.76bに戻しました。

MakeHumanでリグ(ボーンの設定)をしてblenderに取り込みボーンでアニメーションをつけて出力しUnityに取り込む場合は問題なく出来ました。


しかし、さきほど述べたような以前のblenderバージョンでRigifyを使ってアニメーションを付けたファイルの取り込みは出来ませんでした。

またRigifyのAdd On自体がうまく働いてくれないので新しくrigifyを作成しても出来ませんでした。

アニメーションを作成する場合は前のバージョンで作るかボーンを動かしてアニメーションを作るしかないようです。

↑のように前のバージョンのRigifyの取り込みが出来ないと書いていましたが、わたくしの単純なミスだったようです。

すみません。

blenderのUser Preferencesを開いて

Auto Run Python Scriptsにチェックを入れる

↑のようにFileタブのAuto Run Python Scriptsにチェックを入れるのを忘れていました・・・(^_^;)

これにチェックを入れると普通にバージョン2.77aでも取り込めました。

もし設定を変えてしまった方がいる場合はInverse KinematicのIK SolverをStandardに戻し、Rigify Typeをなにも設定しないようにしてください。

自前の3Dモデルを作成してゲームに使いたい願望はあるけれど、そういったセンスが全然ないので・・・・blenderでのキャラクター作りには手を出していません。

いずれはせめて主人公だけでもという気持ちがありますがね、どうなるやら。

そういえば、MakeHumanの以前のバージョンだとファイルの名前を決めて出力してもデフォルトのファイル名で出力されてしまう不具合があったけれどそれは解消されたようですね。

無料でこれだけの3Dキャラクターが作れてしまうのはすごいんですが、ど素人のわたくしに取ってはもっと期待してしまいますね!

服や靴の素材がほしい!
どこかの誰かが素材作りしてるのかもしれんけど・・・調べてみないといかんですね。

というわけでMakeHuman1.1.0を使ってみる記事は終わりです。

(^.^)/~~~