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

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

なぜベイクが必要なのか

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

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

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

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

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

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

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

作業手順

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

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

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

FileからImport

FileからImport


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

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

使用するローポリに関しての注意事項

ポリゴン数が極端に少ないモデルを使用すると、ベイクが上手くいきません。
モデルの大きさや形状によって適切なポリゴン数は異なりますが、元のハイポリモデルから形があまり変わらない程度に削減されたローポリモデルを使用してください。

続いて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

Image Texture

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

テクスチャを指定

テクスチャを指定


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

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

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

ハイポリを読み込む

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

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

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

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

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

スムーズシェードを適用

スムーズシェードを適用

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

ベイク

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

2つのモデルを選択

2つのモデルを選択

Bakeの項目から以下の設定を行ってください。

  • Bake TypeをDiffuseに変更
  • InfluenceのContributionsをColorのみチェック
  • Selected to Activeを選択
  • Extrusionを0.1に設定
  • 綺麗にベイクできなかった場合、Ray Distance(高低をどこまで再現するか)の値を上げる
Bake設定

Bake設定

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

画面下の進捗バー

画面下の進捗バー

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

ベイクされたテクスチャ

ベイクされたテクスチャ

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

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

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

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

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

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

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

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

ベイク成功

ベイク成功

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

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

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

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

注意点

ベイクを行うにあたり、いくつか注意点があります。
上手くいかない時は以下の項目をチェックしてください。

  • ローポリモデルの形が元のハイポリモデルから崩れていない
    (リトポロジーの工程で程よく頂点数が残っている)
  • ベイク時、2つのモデルがしっかり重なっている
  • ベイクをするテクスチャサイズが元モデルのテクスチャサイズと一致している

STYLYにアップロードする

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

 

STYLYに関する質問、バグ報告、改善してほしい要望はSTYLY FORUMまで
https://jp.forum.styly.cc/support/discussions

Certified (QA) by Shota Shawn Yoshizawa
Edited by SASAnishiki