PLATEAUの建物データにBlenderでテクスチャを貼り、Unityへ持っていく手順
LOD1には地面や建物にテクスチャがないので、自分で貼ってみました。
PLATEAUのデータをFBXに変換し、Unityに配置している状態から始めます。
1. Unityで対象の建物ファイル名を確認する
まず、テクスチャを付けたい建物をUnity上でクリックします。
Hierarchyで対象オブジェクトのファイル名が確認できるので、メモしておきます。

2. BlenderでFBXファイルを開く
先ほど確認したFBXファイルをBlenderで開きます。
水平でない場合は必要に応じて、回転させてください。
(僕の場合はX軸方向に90度回転させました)

3. テクスチャを付けたい建物を選択する
テクスチャを付けたい建物にカーソルを合わせ、対象のメッシュを選択します。

右側のプロパティから、以下を確認します。
①「マテリアルプロパティ」を開く
② 既存のマテリアルを選択する

4. シェーダーエディターで画像テクスチャを接続する
画面上部のタブから「シェーディング」を開きます。
下部にノード画面が表示されます。

画像テクスチャを追加し、Color を プリンシプルBSDF の Base Color に接続します。
5. UV編集に移動する
画面上部のタブから「UV編集」をクリックします。

対象メッシュを選択したまま、編集モードに切り替えます。
左上が「オブジェクトモード」になっている場合は、「編集モード」に変更します。
ショートカットは Tab です。
6. メッシュ全体を選択する
編集モードに入ったら、A キーを押してメッシュの面をすべて選択します。

7. UV展開する
全面を選択した状態で U キーを押します。
メニューが表示されるので、「スマートUV投影」を選択します。
設定画面が表示されたら、「展開」をクリックします。

8. UVマップを確認する
UV展開すると、左側にUVマップが表示されます。

9. UVマップを作り直す
現在のUVマップが扱いにくい場合は、UVマップを作り直します。
場合によっては、オブジェクトの頂点や辺を調整してください。
その後、まず、オブジェクトモードに戻ります。
右側のプロパティで、緑の三角アイコン「オブジェクトデータプロパティ」を開きます。
その中にある「UVマップ」を展開します。
既存のUVマップを削除する
UVMap のような項目が表示されているので、それを選択し、右側の「-」ボタンで削除します。
これで現在のUV情報が削除されます。

新しいUVマップを作成する
次に「+」ボタンを押して、新しいUVマップを作成します。
名前はそのまま UVMap で問題ありません。
10. 再度UV展開する
もう一度 Tab キーで編集モードに入ります。
A キーで面をすべて選択し、U キーを押してUV展開方法を選びます。
今回のような建物の場合、まずは「スマートUV投影」で問題ありません。

11. UV配置を出力する
UV配置を画像として出力します。
手順は以下のとおりです。
A キーでUVを全選択する
ヘッダーから「UV」→「UV配置をエクスポート」を選択する
わかりやすい名前を付けて保存する
12. 画像編集ソフトでテクスチャを作成する
画像編集ソフトで、先ほど保存したUV配置画像を読み込みます。

UVの線に合わせて、壁面や窓などのテクスチャを描き込みます。

画像ファイルとして保存します。
UVの線は非表示にしてください。
13. 作成したテクスチャをBlenderで設定する
Blenderに戻り、建物のマテリアルに作成したテクスチャを設定します。
手順は以下のとおりです。
マテリアルプロパティを選択する
ベースカラーの横にある黄色の丸をクリックする

表示された項目の中から「画像テクスチャ」を選択します。
その後、「開く」から作成したテクスチャ画像を選び、「画像を開く」をクリックします。
14. UVエディター側にも新しいテクスチャを表示する
編集モードに切り替えます。
左側のUVエディターで、新しく作成したテクスチャ画像を選択します。
その状態で A キーを押して、UVを全選択します。

右側のマテリアルプロパティで「割り当て」をクリックします。

テクスチャが反映されました。
※この建物非公認です

15. FBXとしてエクスポートする
完成したモデルをFBXとしてエクスポートします。
テクスチャ付きでエクスポートする場合は、パスモードを「コピー」に設定します。
さらに、右隣のアイコンをONにします。
これにより、テクスチャをFBXに埋め込むことができます。

16. Unityにインポートする
作成したFBXをUnityにインポートします。
Unity側では、FBXのImport SettingsからMaterialsタブを開きます。

Textures の項目にある「Extract Textures…」をクリックします。
保存先は、FBXと同じフォルダか、新しくフォルダを作成して指定するとよいです。
次に「Extract Materials…」をクリックします。
保存先は、FBXと同じフォルダか、新しくフォルダを作成して指定するとよいです。
これでUnity内に .mat ファイルが作成されます。
Remapped Materialsを確認する
Remapped Materials に、対象のマテリアルが割り当てられているか確認します。
None (Material) のままになっている場合は、作成されたマテリアルを手動で割り当てます。
17. Unityで確認する
Unityに配置して確認します。
無事にテクスチャが反映されました。

18. Unityで裏側がスカスカになる場合
一見うまくいったように見えても、Unityに持っていくと一部が透明になったり、裏側がスカスカになったりすることがあります。

この場合、Blender側で面の向き、つまり法線が反転している可能性があります。
Blender右上の「ビューポートオーバーレイ」から「面の向き」をONにします。

色の見方は以下のとおりです。
青:表面
赤:裏面
建物の外側が青であれば問題ありません。
外側から見て赤い面がある場合、その面はUnityで非表示になる原因になります。
以下のケースは外側が赤く表示されているおり、これがUnityで消える原因だとわかります。

19. 面を反転して修正する
外側から見て赤い面を選択し、面の向きを反転します。
手順は以下のとおりです。
Blenderで対象メッシュを選択する
Tab キーで編集モードに入る
A キーで全面を選択する
Alt + N を押す
「反転」を選択する
これで面の向きが修正されます。
修正後、外側が青く表示されればOKです。

20. 再度FBXを書き出してUnityに取り込む
面の向きを修正したら、再度FBXとしてエクスポートし、Unityにインポートします。
Unity上で空洞がなくなっていれば完了です。

以上です。
この建物が存在するメタバースclusterのワールドはこちらです。
ぜひ、遊びに来てください。
https://cluster.mu/w/3b1ab6dd-da02-42af-8ef3-a106e4ac6861
ad
- Tweet
-
-
この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
ブログを書くモチベーションになります。よろしくお願いします。
ビットコイン投げ銭ウィジェット
関連記事
-
-
【Blender】インポートした3Dモデルのファイルにテクスチャをつける方法
毎回、ド忘れするので、備忘録 バージョン: Blender 2.82 ファイル形式: fbx
-
-
バーチャル広島市の作り方(Blender + Unity + cluster)
cluster にこんなワールドをアップしてます。 バーチャル広島市です。 https://cl
-
-
Unity の背景色を変えたい
何度も忘れるので、備忘録に。 Unityのウィンドウの背景色は、黒(画像左)と灰色(画像右)があ
-
-
【iPhoneアプリ開発備忘録】 UnityからiPhoneに転送後、BGMや効果音が出なくなった時の解決策
Unityで作ったゲームをiPhone実機に転送した時、BGMや効果音が出なくてハマりま
-
-
ある日突然Unity Hub の画面が真っ黒でうんともすんとも言わなくなった
環境: ・Macbook PRO(2021)・macOS Monterey・UnityHub バ
_edited-11.png)
