フリーで使用出来る3DCGのモデリングツールの決定版とも言えるBlenderで作成したモデルは、簡単にUnityに読み込んで使用できます。
今回は、Blenderを介して、配布されている3DモデルをUnityに読み込ませましょう。
この話の肝は、配布されているちょっとだけ破綻しているモデルをBlenderでささっと直してUnityで使えるってことです。Unityだけだと破綻の修正は辛いですからね。
というわけでBlenderの話が9割です。
今回使う素材は、こちらの女の子モデルです。
このモデルは複数のファイル形式で配布されています。
コレをBlenderに読み込み、破綻箇所などを修正した上でBlender形式ファイルを作成してUnity上に読み込みます。
何はともあれファイルをゲット
上記の素材モデルファイルをダウンロードします。
ダウンロードは上の画像の下にあるダウンロードボタンからダウンロードします。
ダウンロードした7zファイルを解凍すると、同じモデルが色々な形式で保存されています。
デフォルトのBlenderでimport出来る形式では、objファイルの他に3dsファイルも同梱されています。
今回はObjファイルをBlenderで読み込みます。
BlenderにImportする
Blenderで新規に開いたフィールドにCubeなどデフォルトで配置されているObjectがある場合は、オブジェクトを削除しておきましょう。
フィールドがキレイになったら、
File>import>Wavefront(.obj)
とメニューを選択してファイルセレクタを開きます。
解凍したBeautifulGirl.objを選択しましょう。
無事Importすることができましたね。(何故か倒れていますが。気になる場合は、3DView上でR,Xとタイプし、マウスドラッグで引き起こしてください)
Outlinerを見てください。
通常右側に表示されていますが、もし表示されていなければ、各タブの左にあるドロップダウンリストからOutlinerを選んで表示させてください。(3DViewはこの先で使うので閉じないように)
Meshとか、Mesh.001と言うのがImportした部品です。Meshのツリーを開くと、頭(head)、手1(hand01)、手(hand)、髪(hair)、足(foot)、脚(legs)、胴体(torso)というパーツで構成されていることが分かります。
テクスチャの貼り付け
3DViewの下メニューで、表示の方法をテクスチャ付きにしておきましょう。
Outlinerから、白い逆三角形アイコン付きでリストされている項目(head等)を選ぶと、EditModeでオブジェクトを選択した状態になります。
EditModeではパーツごとに頂点や面や頂点を結ぶ線などを詳細に編集できます。
テクスチャは、パーツごとに貼り付けて行きます。
EditModeの状態で、3DView上でAを押すと、全選択↔選択解除の切り替えができます。
テクスチャの指定は、全選択の状態で行います。
テクスチャの指定のためには、UV/ImageEditorを開く必要があります。
まず以下の画像のように、各パネルウィンドウの右上のシマシマ三角をドラッグして、ウィンドウの分割を行います。
するとこのようにパネルウィンドウが複製され、画面が分割されます。
分割して増えたウィンドウの下にあるアイコンからドロップダウンリストを開き、UV/ImageEditorを選択します。
EditModeで正しく前選択されている場合、図のように展開図のような線がUV/ImageEditorに表示されます。
線が表示されていれば、テクスチャ画像を選択します。
UV/ImageEditorの下部メニューから、
Image>Open Image
でファイルセレクタを起動します。
テクスチャはパーツごとに分かれていますので、適切なテクスチャを各パーツに貼り付けてください。(手のテクスチャは両手とも共有です)
破綻の解決
女性の右の額で一部髪の毛のテクスチャが表示されていないはずです。
この部分は、他の面と比べると、表と裏が逆になっています。
なので、それを裏返せばちゃんと表示されるはずです。
Editモードにした状態で、下のメニューから下のアイコンをクリックして面選択モードにします。
3DView上でAキーを何度か押して、全選択解除しておきましょう。
破綻した部分の面を選択(右クリック)します。
3DView上に表示されてるMeshToolsを使用します。表示されていない場合はTキーで表示できます。
MeshToolsをスクロールすると、Normalsのメニューがありますので、Flip Directionをクリックします。
UnityにBlenderのファイルを読み込む
Unityへの読み込みは簡単なのでテキストで説明していきます。
Unityは、Blenderの表示ファイル形式である.blend形式のファイルをインポートできますので、普通に保存してしまいます。
保存した.blendファイルをUnityのAssetにドラッグ&ドロップでコピーします。
テクスチャファイルもフォルダごと移動しましょう。
このとおり読み込む事ができました。
(手のテクスチャだけ何故かDDS形式のファイルがUnityで読み込めないのでPNGに出力して使いました)
余談
Blenderでウィンドウの分割で増えたウィンドウを消すには統合を行います。統合の方法は、元のパネルウィンドの方(境界線に近い方)のシマシマ三角をドラッグして増えた方のパネルウィンドウに重ねることで統合方向を選択できます。
統合方向の選択状態では、消える方のパネルウィンドウが暗くなって、矢印が表示されます。
この状態で、ドラッグしたままパネルウィンドウにポイントを移して統合の方向を選択します。
分かりづれーよね。
たくさん増えちゃった分割ウィンドウを統合させるには順序があったりしてややこしいです。