今回はMakeHumanで使える服をblenderのアドオンであるMakeClothesを使って作成してみようと思います。
MakeHumanは1.1.0、blenderは2.77aになります。
MakeHumanで3Dモデルを作成しUnityで使えるということは非常に便利でありがたい事です。
しかし3Dモデルに着せる事が出来る服や靴等は最初からあるものだけではすこし少ない感じがします。
そこで今回はMakeHumanで使える服を自分で作成し増やすという事をしてみようと思います。
MakeHumanで使える服はblenderのアドオンであるMakeClothesを使って作成する事が出来、作った服をMakeHumanで使えるようになります。
同じ服の形状を作りテクスチャを貼り替えれば色々な服のバリエーションを増やす事も出来ます。
今回の記事を作成するにあたり以下のサイトを参考にさせて頂きました。
MakeClothes
- YouTubeYouTube でお気に入りの動画や音楽を楽しみ、オリジナルのコンテンツをアップロードして友だちや家族、世界中の人たちと共有しましょう。
↑の動画の女性の声はやたら睡眠を誘導します・・・・(^_^;)
眠れない夜には学習しながら動画を見るというのもありかも!?(謎)
blenderでMakeClothesを使う為の準備
MakeHumanで使う服を作成するにはMakeHumanフォルダにあるmakeclothesをblenderフォルダのaddonフォルダにコピーする必要があります。
↑のようにMakeHumanのフォルダにあるmakeclothesをコピーします。
blenderでMakeClothesを有効にするにはmaketargetも一緒にコピーする必要があるようです。
Windows7なら↑のような階層にaddonsフォルダがあるので、そこにmakeclothes(必要であればmaketargetも)をコピーします。
次にblenderを起動します。
FileメニューからUser Preferencesを選択します。
blenderが落ちてしまう人は3D Viewが表示されている項目でUser Preferencesを表示してください。
↑の赤枠の3D ViewをUser Preferencesに変更すれば落ちません。
Add-onsを選択し、検索窓に『make』と入力します。
MakeHuman: Make Clothesにチェックを入れアドオンを有効にし、
Save User Settingsボタンを押し、設定を保存しておきます。
有効にしたらUser Preferencesから3D Viewに戻します。
MakeClothesを使う
blender上でNキーを押すと何やら項目が表示されたり非表示されたりすると思います。
その中にMake Clothes version 1.1.0という項目が現れていると思います。
これが先ほど追加したMakeClothesアドオンの項目になります。
MakeClothesのTypeで『○○○Helper』と名前の付くものを選択するとあらかじめベースの服や髪の毛等が設定されている3Dキャラクターが生成されます。
2通りの服の作り方をやってみましょう。
最初は人体から服を作るやり方で、次に服付きモデルを出力し服を作成するやり方です。
後者の方が簡単なので、後者でMakeHuman用の服を作りたい方はそこまで読み飛ばしてください。
人体のMeshから服を作成する場合
ここではAverage Maleを選びLoad Human Meshボタンを押して人体から服を生成していきます。
Load Human Meshボタンを押すと3Dモデルが表示されます。
人体モデルの体のMeshを服にする
↑のようにObject ModeをEdit Modeに変更するか、Tabキーを押してEdit Modeにします。
↑のように服にする部分の体のメッシュを選択していきます。
↑のように面を選択出来るようにします。
blenderの選択方法がいまいちわかっていないのであれですが・・・・、マウスの右クリックで選択出来ます。
複数選択する場合はShiftキーを押しながら選択していきます。
Altキーを押しながらだとリング上で選択出来ます。
選択を点にした状態でAltキーを押しながら1点を選択するとリング状で選択が出来、さらにCtrlキーを押しながらテンキーの+キーを押すとリング状の選択範囲を広げる事が出来ます。
Ctrlキーを押しながらテンキーの-キーを押すと選択範囲を狭めることが出来ます。
また、Bキーで範囲選択が出来るのでまんべんなく選択していくといいかもしれません。
またCキーだと円状の範囲選択が出来るので、こちらも使うといいかもしれません。
ここら辺は文章を読んだだけでは解り辛いと思いますので、blenderで実際に試してみてください。
服にする部分を選択したら選択した状態でShift+Dキーを押して選択した部分をコピーし右クリックか左クリックで確定します。
さらに、Pキーを押しSelectionを選択します。
するとこの服の部分は人のモデルと別オブジェクトになります。
服を別レイヤーに移動する
さらにわかりやすくする為に服を別レイヤーに移動させます。
Object Modeに切り替えたら服を選択しMキーを押します。
この時、先ほどコピーした服用オブジェクトと人のオブジェクトが重なっている為に選択し辛いですが、重なっている部分を連続で右クリックすると重なるオブジェクトが順番に選択出来ます。
また、Blenderのデフォルトのレイアウトを使用している場合は右上にOutline(階層)が表示されているのでそこで選択する事も出来ます。
レイヤー選択画面が出るので人のレイヤーとは違うレイヤーを選択します。
↑のように人が上のレイヤー、服が下のレイヤーに移動されました。
マウスの左クリックでレイヤーを選択するとそのレイヤーのみ表示されるようになります。
複数のレイヤーを選択したい時はShiftキーを押しながらレイヤーを選択します。
Shfitキーを押しながら人、服の両方のレイヤーを選択してください。
服は肌をコピーした状態のままなので肌とピッタリの状態です。
服を少し大きくしてみましょう。
サイズを変更するにはSキーを押してマウスのドラッグで変更されます。
Sキーを押した後にX、Y、Zのキーを押すとその方向にしかサイズの変更をしないので便利です。
Alt+Sキーだと法線上にサイズを変更出来るので服を作成する時はこちらを使うといいかもしれません。
法線はメッシュ(面)の向いている方向です。
サイズの確定はマウスの左クリックです。
元に戻したい時はCtrl+Zキーで元に戻ります。
サイズ調整が終了したらObject Modeにして服を選択しMakeClothes項目のMesh TypeをClothingに変更します。
服にマテリアルを設定する
次は服にマテリアルを設定します。
Object Modeで服を選択し、↑のようなプロパティの○が表示されている部分を押してMaterial項目を表示させ+を押します。
すると新しいMaterialが作成されるのでShirtという名前にします。
このMaterialが服に設定されMaterialにテクスチャを貼ると服の模様も変わります。
次はとなりのチェス盤?みたいな部分を押してテクスチャを設定します。
Newボタンを押すとTexutureという新しいテクスチャが出来るので名前をShirtに変更します。
その後ImageのOpenを押し服に設定したいテクスチャを指定します。
これでShirtマテリアルにShirtテクスチャが設定されました。
次に服を選択した状態でEdit Modeに変更しAキーを押して服を全部選択します。
Uキーを押してUnwrapを選択します。
これで3Dの服のメッシュを2Dで表示したものが作成されます。
blenderの右上の小さいウインドウ内でUV/Image Editorを選択します。
↑のように服の展開図が表示されます。
Openを押しさきほど服に設定したものと同じテクスチャを開きます。
↑のように展開図とともにテクスチャも表示されました。
Nキーで表示される項目の中のShadingのTextured Solidにチェックを入れると、
↑のように服のテクスチャが表示されました。
Nキーで表示される項目の中のItemの名前をShirtにしておきます。
出来た服を出力する
それでは服が出来たので出力してみましょう。
服を選択した状態でShiftキーを押しながら人を選択した後でMake Clothボタンを押します。
するとそのまますんなり実行される可能性もありますが、さきほど服を修正したのでエラーが出てるはずです。
Vertexなんちゃらというエラー内容です。
頂点グループを再設定する必要があるみたいです。
Object Modeにし、服を選択した状態でMake ClothesのCreate Vertex Groupボタンを押します。
その後再度Make Clothesボタンを押してMake Human用の服を出力します。
↑のように指定したテクスチャがないというエラーになっています。
↑のようにテクスチャのSourceの部分を絶対パス指定(c:\Users\ユーザー名\Desktop\gazou.jpg等Cドライブからフォルダ等を全部指定する)したらエラーは出なくなりました。
が・・・普通にテクスチャファイルが出力されるだけなのでいらないかもしれません・・・・。
テクスチャを出力先フォルダにコピーしても大丈夫です。
元々やりたかった事は↑のようにUVMapにテクスチャの模様が表示されたファイルを出力したかったんですが、今の所やり方がよくわからないので放置です。
blenderにテクスチャを取りこんで模様を設定して出力ではなく、
UVMapに取りこんだテクスチャでUVMapに模様を塗っていきそのUVMapを出力すれば出来るようです。
MakeClothesで服ありモデルをロードし服を作る場合
この項目では服付きモデルを出力して服を作成する方法をやっていきたいと思います。
いつの間にやらMake Clothesのバージョンが変わってますが・・・・(^_^;)
↑のようにMakeClothesのTypeをAverage Male With HelpersにしてLoad Human Meshボタンを押します。
今回はMale(成人男性)を選択していますが、FemaleやChild等も選択する事が出来ます。
しかし、MakeHumanのデフォルトモデルが成人男性になってるっぽいので、今回はMaleで出力しました。
(試しにBabyの服付きモデルで服を出力してやってみましたが、MakeHumanのモデルと形状が合わず、モデルの形を変更しても服の形状が変わりませんでした。
まだ深く使っていないので他の設定だとどうやるかはわかりません)
すると、
↑のように服付きのモデルが出力されます。
服の部分以外をそぎ落としてTシャツにする
MakeClothesの項目のShow Selectionを選択し、Select Tightsを選択します。
ここでは作りたい部分に近いMeshを選択し、いらない部分をそぎ落として服の形状を作ります。
今回はTシャツを作ろうと思いますので、Tightsを選択しいらない部分を削除してTシャツの形を作っていきます。
Select Tightsを選択すると↑のように自動でEditモードになりTightsのMesh部分が選択されます。
その状態でShift+Dキーを押してMeshをコピーし、Pキーを押してSelectionを選択します。
Selectionを選択した事で今コピーしたMeshはさきほどからあるMesh達から分離されます。
次にEditモードからObjectモードに切り替えます。
Editとなっているところを押し、↑のようにObjectモードに切り替えます。
Objectモードにしたらマウスの右クリックでモデルを選択します。
モデルの辺りで右クリックすると服付きモデルとさきほど作成したTightsをコピーしたMeshとが交互に選択出来るので、コピーしたMeshを選択します。
現状では名前がHuman.001となっていると思います。
そこで、名前をわかりやすく変更しましょう。
MakeClothesの項目と同じタブ(Nキーを押すと出てくるタブ)にItemという項目があります。
↑のItem項目の名前をTShirtと変更します。
服を別レイヤーに移動する
ObjectモードでTShirtのMeshを選択した状態でMキーを押してTShirtのモデルを別のレイヤーに移動してわかりやすくします。
Mキーを押すとレイヤー選択ウインドウが出るので服付きモデルとは別のレイヤーを選択し移動させます。
レイヤーは上の赤い部分で選択(左クリックで)する事が出来、TShirtは下のレイヤーに移動したので下のレイヤーを選択するとTShirtだけが表示されます。
レイヤー選択時にShiftキーを押しながら選択すると複数のレイヤーを選択する事が出来ます。
とりあえずTShirtを編集するのでTShirtがあるレイヤーだけを選択しEditモードに切り替えます。
EditモードにしてTshirtがあるレイヤーだけを選択すると↑のような表示がされているはずです。
Tシャツ以外の部分を消していく
次にTShirt以外の部分を削除していきます。
まずは↑のように選択モードを面選択に変更します。
(点選択のままでも大丈夫かもしれません)
Bキーを押すと選択範囲が出来るので左右対称に選択します。
その後Ctrlキーを押しながらテンキーのプラスキーを押すと選択範囲が広がっていくのでTシャツになる部分の下まで選択肢します。
選択範囲を狭める場合はCtrlキーを押しながらテンキーのマイナスキーを押すと出来ます。
↑のように選択範囲を広げたらDeleteキーを押して出てくるメニューでVertices(頂点)を選択し削除します。
次は腕の部分のMeshを削除していきます。
↑のように選択モードを点選択に戻します。
Altキーを押しながら袖口の1点を選択するとリング状に選択出来ますので、Ctrlキーを押しながらテンキーの+キーを押して選択範囲を広げます。
TShirtの形になるように削除します。
左右とも削除するとTシャツの形になりました。
ここまで出来たらObjectモードにしてTShirtを選択し、MakeClothesの項目のCreate Vertex Groups From Selectionボタンを押します。
TShirtのMeshがMakeClothes用の頂点グループとして作成されます。
↑のように3つのVertex Groupが作成された事が確認出来ます。
TShirtの左右と真ん中でグループ分けがされています。
これで編集が出来ました。
本来であれば服付きモデルから人体モデルだけをコピーして別のレイヤーに移し、人体モデルとTシャツのサイズ調整をしてから服を出力するところですが、
とりあえず服として出力するのが目的なので今回は割愛します。
Tシャツにマテリアル、テクスチャを設定する
次にTシャツにテクスチャを張り付けてみましょう。
まずはTシャツのUVMapを出力します。
EditモードにしてAキーでTシャツのMeshをすべて選択したらUキーを押してUnwrapを選択します。
blenderの右上のウインドウでUVMapモードにします。
↑のように右上のウインドウをUVMapにします。
↑のように先ほどTシャツのMeshから作成したUVMapが表示されました。
次にUVMapにテクスチャを貼り付けた状態を確認してみます。
Openを押し用意したテクスチャを選択します。
↑のようにUVMapにテクスチャを張り付けた時のサンプルが表示されます。
UVMapをAキーで全選択しSキーでサイズ調整すると貼り付け方を変更出来るので試してみてください。
Nキーで表示されるタブで↑のようにShading項目があるのでTexture Solidにチェックを入れると、
↑のようにモデルにテクスチャが反映されているのを確認する事が出来ます。
次に服としてTシャツを出力した時にテクスチャを設定した状態で出力したいので、その設定をしていきます。
その為にマテリアルとテクスチャを作成します。
マテリアルはMeshに設定するもので、テクスチャはマテリアルに設定します。
Unityと同じで実際にオブジェクトに設定するのはマテリアルでマテリアルの設定としてテクスチャを指定する感じですかね。
まぁ・・・ここら辺はこうやるんだと言う事で・・・・(^_^;)
blenderのプロパティウインドウで↑のようにMaterial項目を表示し、+ボタンを押します。
Newボタンを押して新しいMaterialを作成します。
新しく出来たMaterialの名前をTShirtとわかりやすくしておきます。
次にTexture項目を表示してNewボタンを押します。
テクスチャの名前もわかりやすくTShirtとしておきます。
服に設定するテクスチャを用意しておきそのファイルを読み込みます。
これでMaterialにTextureが設定されました。
服の出力でエラーになる
これで服の作成が終わったのでMakeHumanで使えるように服を出力してみましょう。
ObjectモードでShiftキーを押しながらHuman(Mesh TypeがHumanのもの)とTShirt(Mesh TypeがClothingのもの)を両方選択し、Make ClothesのMake Clothesボタンを押して服を出力します。
しかし↑のようにエラーが表示され服が出力されません。
英語のエラーを見てみると(詳しく翻訳してませんが・・・)TShirtに設定しているMaterialが13あって、ほとんど一つでなければいけないと言われているみたいです。
つまり先ほど作ったTShirtのマテリアル以外は消さなければいけませんね。
ということでTShirtを選択し、プロパティのMaterialの項目でTShirtマテリアル以外をすべて削除します。
↑のようにTShirt以外のMaterialを選択し右の-ボタンを押して消していきます。
↑のようにTShirtマテリアルだけを残します。
再度HumanとTShirtを選択し、Make Clothesボタンを押して服を出力します。
Make Clothesボタンを押して出力されたMake Human用のファイルは↑のOutput Directoryで指定したフォルダに出力されます。
指定のフォルダにファイルが出力されているはずです。
MakeHumanでMakeClothesで作成した服が使用出来るか確認する
Make Humanを起動し、作成した服が選択出来るかどうか確認しましょう。
↑のようにShirtが表示され選択するとキャラクターに作った服が着せられました。
わたくしのパソコンの影響?かわかりませんが、元々MakeHumanで服のテクスチャがうまく表示されないので↑のような黒色になっています。
↑のようにキャラクターの体型を変化させると服も変化するので非常に便利ですね!
終わりに
とりあえずこれでMakeHumanで使える服をblenderのアドオンMakeClothesで作成する事が出来るようになりました。
最初は人型モデルのMeshから服を作る方法だけ載せていたんですが、最初からある服を修正する方が楽だと思ったので追記しました。
追記したと言っても公開時には追記されたものを公開しているので個人的な追記という形になりますが・・・。
今回はMakeHumanで使える服の作り方を最小限でやっただけなので、実際にこのまま使うと人型モデルが服からはみ出してしまったりします。
服のサイズを全体的に大きくしたり、一部の形状を変えたりする必要が出てくると思います。
やぶれて見えててもいい!って言うなら別ですけどね(^_^;)
今回はTシャツを作りましたが、髪や靴の作成も出来ると思います(作ってないのでわかりませんが・・・)。
となるとキャラクターの素材作りが出来、色々なキャラクターのバリエーションが増えるのでいいですね!
ジャケットと帽子の作り方は下の記事を参照してみてください。

またMakeHumanで使わなくても服だけをfbxファイルで出力してUnityに取り込めばキャラクターの服として使用する事も出来ますね!
ゲームキャラクターの服を着せかえが出来るゲームを作成する場合これは便利です。
結果として、今回の記事はMakeHumanで使う服を作成するというだけでなくMakeClothesで作った服をそのままUnityで使う時にも使えるので良かったです。
やりましたね(^_^)v