CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

Blender 3.1.2でUV展開を使って3Dモデルにテクスチャを貼る方法

Blenderでモデリングをしたとき、任意の場所にテクスチャを貼りたいことがあります。

これが思ったよりも手間取ったので、簡単な例をもとに手順を記載しようと思います。

使用した環境
Blender 3.1.2

1. ドアの3Dモデルと画像を準備する

雰囲気作りのため、前回の記事で紹介したArchimeshで単純な部屋を作りました。ドアはArchimeshからも生成できますが、テクスチャの貼り方がよくわからなかったのでCubeを薄く伸ばしました。

A simple room by Archimesh and Blender 3.1.2

画像は「ぱくたそ」から取得させていただきました。

www.pakutaso.com

2. Blenderでドア3Dモデルに切れ目を入れてUV展開する

ドアの3Dモデルにシーム (切れ目) を入れます。今回は単純な直方体なので、Edit Modeにして「線」を選択してから全ての辺をShiftキーを押しながら選択していきます。
シームの入れ方はこちらの記事を参考にさせていただきました。

crft.jetsets.jp jp.renderpool.net

選択したら、BlenderのUV Editing画面を表示して、左側の画面で右クリック、UV > Unwrapを実行します。

Unwrapped UV on Blender

このように、直方体の面を広げて並べた状態になります。

もし以下のように綺麗に並ばない場合、対象3DモデルのScaleを1にしてから試してください。

A failed unwrap UV on Blender

こちらの記事の後半の記載のおかげで助かりました。ありがとうございます。
3dcg.smiles55.jp

3. BlenderでUV展開画像をエクスポートして、画像編集ソフトで画像を割り当てる

次は、Blender画面の"UV"ボタンを押してから"Export UV Layout"を実行して、今の枠の状態をpng画像として出力します。

Export UV Layout on Blender

このpngをPhotoshopやGIMPで開いて、ドア画像を合わせます。今回はGIMPを使いました。

まずGIMPを開いてからExport UV Layoutで出力したpng画像を開きます。この画像には、黒い枠が描かれています。

Open png on GIMP

次に、この状態でドア画像をドラッグします。あるいは、「ファイル」 >「レイヤーとして開く」でドア画像を指定します。

あとはドア画像の大きさがExport UV Layoutで出力した画像の黒い枠に合うように調整します。今回だとドア画像をこのように反転させないとBlenderで正しい向きで表示されなかったので、こういう向きにしています。また、ドアの側面は近い色で塗ってみました。

Adjusted door png on GIMP

GIMPでの鏡像反転は、この記事を参考にさせていただいています。
4.8. 画像を裏返したり反転させる

4. BlenderのShadingで画像を割り当てる

調整したら全体をexportしたらBlenderに戻ります。BlenderのShading画面にしてから、先ほどのexportされた画像をImage Textureノードで開いてつなげます。

Shading view on Blender

このように、ちょうど良い大きさでテクスチャが貼られていることが確認できます。

Layout view on Blender

普通の表示 (Layout View) にして裏側をみても、正しい向きでテクスチャが貼られていることが確認できます。

5. おわりに

複雑な形状の3Dモデルの場合シームの工夫が必要そうですが、ひとまずこの方法で基本的なUV展開はできると思います。