Unity3D
Blender

3D素材をBlenderで編集しつつUnityに取り込む話

More than 5 years have passed since last update.

フリーで使用出来る3DCGのモデリングツールの決定版とも言えるBlenderで作成したモデルは、簡単にUnityに読み込んで使用できます。

今回は、Blenderを介して、配布されている3DモデルをUnityに読み込ませましょう。

この話の肝は、配布されているちょっとだけ破綻しているモデルをBlenderでささっと直してUnityで使えるってことです。Unityだけだと破綻の修正は辛いですからね。

というわけでBlenderの話が9割です。

今回使う素材は、こちらの女の子モデルです。

モデル

このモデルは複数のファイル形式で配布されています。

コレをBlenderに読み込み、破綻箇所などを修正した上でBlender形式ファイルを作成してUnity上に読み込みます。

何はともあれファイルをゲット

上記の素材モデルファイルをダウンロードします。
ダウンロードは上の画像の下にあるダウンロードボタンからダウンロードします。
DL

ダウンロードした7zファイルを解凍すると、同じモデルが色々な形式で保存されています。
解凍

デフォルトのBlenderでimport出来る形式では、objファイルの他に3dsファイルも同梱されています。

今回はObjファイルをBlenderで読み込みます。

BlenderにImportする

Blenderで新規に開いたフィールドにCubeなどデフォルトで配置されているObjectがある場合は、オブジェクトを削除しておきましょう。

フィールドがキレイになったら、
File>import>Wavefront(.obj)
import
とメニューを選択してファイルセレクタを開きます。

解凍したBeautifulGirl.objを選択しましょう。

無事Importすることができましたね。(何故か倒れていますが。気になる場合は、3DView上でR,Xとタイプし、マウスドラッグで引き起こしてください)
loaded

Outlinerを見てください。

通常右側に表示されていますが、もし表示されていなければ、各タブの左にあるドロップダウンリストからOutlinerを選んで表示させてください。(3DViewはこの先で使うので閉じないように)
Outliner

Meshとか、Mesh.001と言うのがImportした部品です。Meshのツリーを開くと、頭(head)、手1(hand01)、手(hand)、髪(hair)、足(foot)、脚(legs)、胴体(torso)というパーツで構成されていることが分かります。
Outliner Meshes

テクスチャの貼り付け

3DViewの下メニューで、表示の方法をテクスチャ付きにしておきましょう。
テクスチャ表示

Outlinerから、白い逆三角形アイコン付きでリストされている項目(head等)を選ぶと、EditModeでオブジェクトを選択した状態になります。

EditModeではパーツごとに頂点や面や頂点を結ぶ線などを詳細に編集できます。

テクスチャは、パーツごとに貼り付けて行きます。

EditModeの状態で、3DView上でAを押すと、全選択↔選択解除の切り替えができます。

全選択all選択解除nothing

テクスチャの指定は、全選択の状態で行います。

テクスチャの指定のためには、UV/ImageEditorを開く必要があります。

まず以下の画像のように、各パネルウィンドウの右上のシマシマ三角をドラッグして、ウィンドウの分割を行います。
ドラッグする部分

するとこのようにパネルウィンドウが複製され、画面が分割されます。
増えるパネル

分割して増えたウィンドウの下にあるアイコンからドロップダウンリストを開き、UV/ImageEditorを選択します。
Panel

EditModeで正しく前選択されている場合、図のように展開図のような線がUV/ImageEditorに表示されます。
テクスチャ台紙

線が表示されていれば、テクスチャ画像を選択します。
UV/ImageEditorの下部メニューから、
Image>Open Image
でファイルセレクタを起動します。
テクスチャ選択

テクスチャはパーツごとに分かれていますので、適切なテクスチャを各パーツに貼り付けてください。(手のテクスチャは両手とも共有です)

破綻の解決

貼り付け終わったら、破綻がないかチェックしてみましょう。
貼り付け終わり

女性の右の額で一部髪の毛のテクスチャが表示されていないはずです。
破綻部分

この部分は、他の面と比べると、表と裏が逆になっています。
なので、それを裏返せばちゃんと表示されるはずです。

Editモードにした状態で、下のメニューから下のアイコンをクリックして面選択モードにします。
面選択

3DView上でAキーを何度か押して、全選択解除しておきましょう。
破綻した部分の面を選択(右クリック)します。
破綻した面を選択

3DView上に表示されてるMeshToolsを使用します。表示されていない場合はTキーで表示できます。
MeshTool

MeshToolsをスクロールすると、Normalsのメニューがありますので、Flip Directionをクリックします。
Normals

破綻が直りました。
直った

UnityにBlenderのファイルを読み込む

Unityへの読み込みは簡単なのでテキストで説明していきます。

Unityは、Blenderの表示ファイル形式である.blend形式のファイルをインポートできますので、普通に保存してしまいます。

保存した.blendファイルをUnityのAssetにドラッグ&ドロップでコピーします。

テクスチャファイルもフォルダごと移動しましょう。

このとおり読み込む事ができました。
Unity
(手のテクスチャだけ何故かDDS形式のファイルがUnityで読み込めないのでPNGに出力して使いました)

3方向から
3方向

余談

Blenderでウィンドウの分割で増えたウィンドウを消すには統合を行います。統合の方法は、元のパネルウィンドの方(境界線に近い方)のシマシマ三角をドラッグして増えた方のパネルウィンドウに重ねることで統合方向を選択できます。

統合方向の選択状態では、消える方のパネルウィンドウが暗くなって、矢印が表示されます。
統合選択
この状態で、ドラッグしたままパネルウィンドウにポイントを移して統合の方向を選択します。

分かりづれーよね。

たくさん増えちゃった分割ウィンドウを統合させるには順序があったりしてややこしいです。