既製の3Dモデルデータを使用するには

https://free3d.com などで、提供されている既製の3DモデルをBlenderで使用する。
ここでは、テーブルをダウンロードして、Blender内でテクスチャや細かい傷などの設定をして、使えるように設定する。

ここでは、.obj 形式でダウンロードしたファイルを使う。
中身には、objファイルとテクスチャが含まれている。

image

テクスチャのフォルダには、ベースカラーとノーマルマップ、Roughnessの情報が含まれている。

image

Blenderを立ち上げ、デフォルトの立方体を削除したら、
ファイル / インポート / Wavefront(.obj) で、ダウンロードした.obj ファイルをインポートする。
だが、何も起こらないように見える。これは、オブジェクトが大きすぎるために、画面に入り切っていないため起きる。

image

右上の「シーンコレクション」を見ると、確かにオブジェクトが存在する。

image

スクロールボタンをころころして、ビューを引いて行くと、確かにオブジェクトが存在する。

image

オブジェクトを選択した状態で、N キーを押す。
右上にトランスフォーム編集画面が出てくる。
なんと、テーブルのサイズが、幅182m、奥行き82.2m、高さ100mとなっている。どんだけでっかいテーブルなのか。

image

これをまずは、現実にに即したサイズに修正する。

image

サイズを調整したら、テクスチャを設定しよう。
オブジェクトを選択し、

image

右側の「マテリアルプロパティ」のベースカラーの横の黄色ポッチをクリックし、「画像テクスチャ」を選択する。
image

同梱されていた画像テクスチャ(ここでは、Table_BaseColor.tga)を開く。
image

ちなみに、ここで使用した Table_BaseColor は、下記のような UVマップのテクスチャファイル。
image

プレビューを見るとこんな感じで
image

テーブルに適用される。
image

Shadingタブでノードを確認すると、下記のようになってるはず。
image

次に、テーブル表面の木目や細かい傷などを適用する。

まずは表面のツヤのムラを「粗さ(Roughness)」のプロパティを使って表現する。
ノードの画面上で、Shift-A / テクスチャ / 画像テクスチャ  で、「画像テクスチャ」ノードを追加
image

「開く」で、テーブル表面の傷のデータ画像(ここではTable_OcclusionRoughnessMetallic.tga)を開き、
色空間に「Non-Color」を設定する。これを、プリンシパルBSDFの「粗さ(Roughness)」に設定する。
image

ちなみに、ここで使用した、Table_OcclusionRoughnessMetallic はこんな画像ファイル。
image

下記のように、表面の照り返しが均一ではなくなり、木目のムラ、細かい傷などができた。

適用前                  適用後
imageimage

粗さ(Roughness)として設定する、表面の傷のデータ画像は、黒いほどツヤ、白いほどマットに表現される。
必要に応じて、反転したほうが良い場合は、Shift-A / カラー / 反転 を追加し、反転する。

image

適用前                     適用後
imageimage

この場合は反転する必要なさそうですね。

次に表面の傷の凸凹を、「ノーマル」のプロパティを使って表現する。
Shift-A / テクスチャ / 画像テクスチャ で、「画像テクスチャ」を追加する。
「開く」で、凸凹のデータ画像ファイル(ここでは、Table_Normal)を開く。
そして、色空間に「Non-Color」を設定する。

ちなみに、ここで使用した Table_Normal は下記のような画像ファイル。
image

縮小してるとよくわからないが表面に結構細かい傷とか、木目が入っている。
image

さらに、Shift-A / ベクトル / ノーマルマップ で「ノーマルマップ」ノードを追加する。

凸凹のデータ画像を指定した、画像テクスチャノードのカラー情報を、ノーマルマップノードに接続して凸凹データに変換し、
プリンシパルBSDFの「ノーマル」に接続する。
(黄色から黄色へ、紫から紫へつなぐ。黄色から紫には直接つなぐことはできない)

image

すると、凸凹データが適用される。「ノーマルマップ」の「強さ」を調整して、適用具合を調整する。

適用前(ツヤの違いだけ)
image

適用後(ツヤに加え、凸凹している)
image

出来上がり。

image

あとは、部屋などを定義した、別のblender ファイルから、ファイル/アペンド で読み込んで使用する。

コメントを残す