LogoMark.png

Blender/Textures

Textures

Blender Tutorial

オブジェクトの表面に使用される画像やパターンのことをテクスチュアと言い、3次元データの頂点と画像の位置を調整して表面に貼り付ける操作をテクスチャマッピングと言います。Blenderではこの設定を、シェーダーエディタ、テクスチュアノードエディタ、UVエディタ等を使って行います。




準備

Shading ワークスペースの利用

マテリアルの設定と同様、テクスチュアの設定でも Shadingワークスペースを使うのが効率的です。TopBar の ワークスペース選択から Shading を選択すると Shader Editor を含むワークスペースが表示されます。

ShaderEditor の利用

新規のオブジェクトは、マテリアル、テクスチュアの情報を持っていません。オブジェクトにテクスチュアを貼るには、オブジェクトがマテリアルを持っていることを前提として、その階層下にテクスチュアデータをリンクする必要があります。まずは、以下のようにして新規のマテリアルを用意してください。

ShaderEditor > Header > マテリアルの [New] をクリック

Principled BSDF ノードが表示されていれば準備OKです。



テクスチュアマッピング

TextureMap0.jpg

物体の表面にレンガやコンクリートの表面の画像を単純に投影する方法を紹介します。頭部のモデルに顔画像を貼るような詳細な作業ではなく、2次元の画像を3次元の物体にざっくり投影するものす。
解説動画


テクスチュア画像の準備

concrete.jpg

右図のようなテクスチュアを貼ってみます。事前に準備した画像を利用して下さい。このような画像は、以下のように検索するとフリー素材が多数見つかります。
Google:テクスチャ コンクリート フリー素材

ShaderEditor の利用

TextureMap1.jpg

作業は、ShaderEditor(NodeEditor)上に必要なノードを追加するとともに、これらを正しくソケット接続することが必要です(右図)。以下、その手順です。

以上で、3D View に表示されているオブジェクトの色がテクスチュア画像によって変わることが確認できると思います(3D Viewの表示モードが、Material Preview あるいは Render Preview モードになっていることが必要です)。

TextureMap2.jpg

テクスチュアの貼り方について、テクスチュア座標の切り替えや、移動・回転・拡大縮小など、より汎用性の高い設定を実現するには、Input > TextureCoordinateNode パネルと Vector > Mapping パネルを追加して、右図のように接続すると良いでしょう。

参考:投影方法について

ImageTextureNodeには、以下のような投影方法が用意されています。

ProjectionType.jpg

画像出典:Projections demonstrated using “Object” texture coordinates




バンプマッピング

バンプマッピングとは、テクスチャマッピングを行なう際に、高低情報をもったモノクロの画像によって、面の法線にバンプ(揺らぎ)を与えて、擬似的に凹凸感のある陰影を作り出す手法です。
解説動画

テクスチュア画像の準備

bump.png

右図のような画像を使ってバンプマッピングを試します。輝度の高い部分が凸、低い部分が凹となります(Bumpノードの設定で逆にすることもできます)。JPEGで圧縮された画像の場合、エッジが荒れることがあるので、可逆圧縮で保存されるPNG画像を用意するとよいでしょう。

ShaderEditor の利用

BumpMap1.jpg

作業は、ShaderEditor(NodeEditor)上に必要なノードを追加するとともに、これらを正しくソケット接続することが必要です(右図)。以下、その手順です。

以上で、バンプマッピングが確認できると思います(3D Viewの表示モードが、Material Preview あるいは Render Preview モードになっていることが必要です)。凹凸の強さは、BumpNode の Strength で調整できます。



バンプマッピング|参考

色情報と高さの情報を組み合わせて地球儀をつくる事例を紹介します。
解説動画

テクスチュア画像の準備

earth_color.jpg
earth_mono.jpg

ここでは、凹凸感のある地球儀を再現するために、上のようなカラー画像と高低差を輝度として表現したモノクロ画像を用意します。

BumpMap2.jpg

ShaderEditor の利用

以下、ノードの接続手順です。

UVマッピング

UV_Map.jpg

実際的なテクスチュアマッピングでは、構造物の特定部分に当該素材の画像を貼る、顔面形状に顔の画像を貼るなど、画像と頂点との対応を正確に決めなくてはなりません。そのような場合は オブジェクトの展開図をUV画像に重ねて、UV座標上で、各頂点の位置を対応付けします。
解説動画


UV座標について

3次元物体の頂点を( x, y, z )という変数によって表すのに対し、2次元のテクスチュア画像の位置情報は( u, v )という変数によって表します。

なお、原点を左上とするか左下とするかは、ソフトウエアによって異なりますが、Blenderでは左下を原点( 0, 0 )とし、右上を(1.0 , 1.0) とする形で画像内の座標を表現します。

UVマップ画像の準備

dice.jpg

立方体の6つの面にサイコロの1から6の面を対応させることを前提に、右のような画像を用意します。状態が見やすくなるよう右図には境界線が入っていますが、実際には邪魔になるので、練習の際は以下の PNG画像を利用して下さい。

オブジェクトの展開図

Blender のメッシュオブジェクトは、デフォルトで展開図情報を持っています。
以下のようにして確認してみて下さい。

右側の3D Viewport Editor が Edit モードになると同時に、左側の UV Editor に展開図が表示されるはずです。

展開方法を自身で定義する場合

MarkSeam.jpg

展開図が扱いにくい場合は、以下のようにして自分で定義することができます。

手動で展開図を作成するためには、オブジェクトに Seam(縫い目)を定義する必要があります。UV画像に対応した展開になるよう、EditModeで Seam となる部分をすべて Edge 選択していきます。

Seam となる Edge をすべて選択したら、これを以下のようにして記録します。

Header > UV > Mark Seam

次に、この Seam で展開することを指示します。

EditModeで、全ての Edge を選択(Seam 部分のみ太く強調表示されます)
Header > UV > Unwrap

展開図は、UV Editor に表示される前提で、この時点で3D Viewport 上に展開図が表示されるわけではありません。とりあえず、準備完了です。

UV Editor で編集

UV Editing ワークスペースの左側、UV Editor で画像と展開図を重ねて表示して位置調整します。UV Editing ワークスペースに展開図が表示されていない場合は、オブジェクトを再度選択して、EditMode に入り直して下さい。EditModeで頂点がすべて選択されていれば、展開図が表示されるはずです。

以下のようにすると、画像がUV Editor 上に表示されます。

Header > 画像選択(または Open) > 対象となる UV画像を選択します。


頂点と画像の対応付け

UV_Editor1.jpg

UV Editor の中で、画像と頂点の対応付けを行います。モデリングの操作が2Dになるだけで、頂点の移動・回転・拡縮は、[ G ] , [ R ], [ S ] で行うことができます。

UV_Editor2.jpg

対応付けを行なった結果は右図のようになります。


ShaderEditor で UVのリンク設定

UV_Setting.jpg

作業は、ShaderEditor(NodeEditor)上で行います。これを適正に行うには、NodeEditor 上に いくつかのノードを追加するとともに、これらを正しい順序でソケット接続することが必要です(右図)。以下、その手順です。


UV_Result.jpg

以上で、UVマッピングの結果が確認できると思います。




UV マップ(補足事例)

ビル群のように直方体が立ち並ぶ景観をつくるのに、ビルの壁面テクスチュアをまとめて貼ってしまいたい場合があります。このような場合は、UV データの作成時に Project From View を選択します。


ビル群のデータ準備

マテリアルとテクスチュアを設定

UV_Buildings01.jpg

UV設定

UV_ProjectFromView.jpg
UV_Buildings02.jpg
UV_Buildings03.jpg
UV_Buildings04.jpg

参考情報

テクスチュアマッピングに関連する Node

Input Nodes

Texture Nodes

Vector Nodes

PAGES

GUIDE

DATA


*1 アクティブなUVマップのみを提供する Texture Coordinate Node とは異なり、マテリアルを使用するオブジェクトに属する任意のUVマップを取得可能です。
Last-modified: 2023-07-13 (木) 16:16:04