【Blender2.81】リトポロジーモデルにテクスチャをベイクする

この記事では、リトポロジー後のモデル用に、元のモデルからテクスチャを作成する「ベイク」の過程をご紹介します。

なぜベイクが必要なのか

以前の記事で、頂点数を減らすリトポロジーの方法についてご説明しました。

リトポロジー後のモデルは、テクスチャがない状態です。
元のモデルと違うUV配置を持つことになるので、元のモデルのテクスチャをそのまま適用してもうまくいきません。

ハイポリモデル(左)のテクスチャをそのまま貼ったローポリモデル(右)

ハイポリモデル(左)のテクスチャをそのまま貼ったローポリモデル(右)

そこで使うのが、Blenderの「ベイク」という機能です。

ベイクはライトなど重い演算処理がある場合に、あらかじめ陰影をモデルのテクスチャとして焼き付けておくことで演算の負担をなくす、といった用途でよく使われます。

今回はこの機能を使って、元のモデルのテクスチャをリトポロジー後のモデルのテクスチャに焼き付けていきます。

作業手順

※元のモデル=ハイポリモデル、リトポロジー後のモデル=ローポリモデル、と表記します。

ローポリを読み込みUV展開

「File」の「Import」からローポリモデルをインポートします。今回はInstant Meshesで約3,000頂点に抑えたモデルを利用します。

ローポリモデルをインポート

ローポリモデルをインポート

続いてUV展開を実行します。「UV Editing」のタブに移動し、編集モードに切り替え頂点を全選択します。「UV」から「Smart UV Project」を選択します。

Smart UV Project

Smart UV Project

ローポリモデル用に新しくテクスチャを作成します。画面左側の「New」をクリックします。

UVの下にテクスチャを新しく作成

UVの下にテクスチャを新しく作成

画像サイズは、ハイポリモデルのテクスチャサイズと同サイズにします。

テクスチャの設定

テクスチャの設定

マテリアルにテクスチャノードを追加

「Shading」タブに移動します。ここではマテリアルノードの編集ができます。

Shadingタブ

Shadingタブ

下画面(ノードエディタ)上で、Shift+Aキーを押し「Texture」から「Image Texture」を選択します。

Image Textureノードが追加されました。「New」の左にある画像アイコンをクリックし、先ほど追加したテクスチャの名前を選択します。

テクスチャを指定

テクスチャを指定


テクスチャが選択されている状態

テクスチャが選択されている状態

テクスチャノードとマテリアルノード(プリンシプルBSDF)を接続する必要はありません。

ハイポリを読み込む

「File」の「Import」からハイポリモデルをインポートします。

ハイポリモデルがローポリモデルに重なって読み込まれました。位置は必ず2つのモデルが重なるようにしてください。

ローポリモデルにハイポリモデルが重なっている

ローポリモデルにハイポリモデルが重なっている

ハイポリモデル、ローポリモデル両方とも右クリックで表示されるメニューから「Shade Smooth」を選択しておきましょう。

スムーズシェードを適用

スムーズシェードを適用

これにてベイクの準備は完了です。

ベイク

オブジェクトモードでハイポリモデル→ローポリモデルの順に選択し、画面右側からカメラのアイコンをクリックします。

2つのモデルを選択

2つのモデルを選択

「Bake」の項目から「Selected to Active」を選択します。「Ray Distance」は高低をどこまで再現するかという項目です。綺麗にベイクできなかった際に値を上げて試してみてください。今回は「0.1m」に設定します。

ベイクの設定

ベイクの設定

「Bake」をクリックすると、ベイクが開始されます。画面最下部に進捗バーが出ることを確認してください。

画面下の進捗バー

画面下の進捗バー

進捗バーが100%になったらベイク完了です。「UV Editing」タブから作成されたテクスチャを確認できます。

ベイクされたテクスチャ

ベイクされたテクスチャ

テクスチャノードを接続する

左画面の「Image」から「Save As…」を選択し、テクスチャを外部ファイルとして保存します。外部ファイルとして保存することで、テクスチャがファイル内部で失われないようにします。

テクスチャを外部保存する

テクスチャを外部保存する

テクスチャノードとマテリアルノードを接続します。テクスチャノードのファイルアイコンから、先ほど外部に保存したテクスチャファイルを読み込みます。

※Blender2.80の場合、「Linear」の上の項目が「Color」になっていることを確認してください。

テクスチャノードとマテリアルノードを接続する

テクスチャノードとマテリアルノードを接続する

テクスチャが反映されました!

ベイク成功

ベイク成功

ハイポリモデル(左)と比較しても、違和感なくテクスチャが貼り付けられていることが確認できました。

ハイポリモデル(左)とローポリモデル(右)

ハイポリモデル(左)とローポリモデル(右)

おつかれさまでした。これでベイクは完了です。

Blender上の3DモデルをSTYLYにアップロードできます。その方法は以下の記事をご参照ください。