MRが楽しい

MRやVRについて学習したことを書き残す

Blenderで頂点カラーをテクスチャにベイクする

本日は Blender の技術調査枠です。
Blenderで頂点カラーをテクスチャにベイクする手順についてまとめます。

頂点カラーを利用する3Dモデルの問題

以下のような頂点カラーで色付けされた3Dモデルのポリゴン数を削減したいとします。
f:id:bluebirdofoz:20181003093354j:plain

そのまま[ポリゴン数削減モディファイア]を利用すると、頂点が減ってしまうため、同時に色情報が失われてしまいます。
以下は三角面数を 512 から凡そ半分の 253 まで削減したケースの結果です。見た目が大きく変わるのが分かります。
f:id:bluebirdofoz:20181003093441j:plain

こういった場合に頂点カラーをテクスチャとしてベイクすると、見た目の情報を保ったままポリゴン削減することができます。

頂点カラーをテクスチャにベイクする

下準備として、まずはベイク先のテクスチャを用意します。
3DモデルのUV展開を行い、[新規]ボタンからテクスチャを作成します。
f:id:bluebirdofoz:20181003093454j:plain

ここで出力するテクスチャのサイズを指定します。好みのサイズを指定してください。
f:id:bluebirdofoz:20181003093502j:plain

ベイク先のテクスチャが準備できたらオブジェクトモードに戻り、[レンダー]タブを開きます。
[ベイク]パネルを開き、[ベイクモード]を[頂点カラー]に変更して[ベイク]ボタンをクリックします。
f:id:bluebirdofoz:20181003093510j:plain

頂点カラーがテクスチャにベイクされます。
画像 -> 画像を別名保存 から作成したベイク画像を画像ファイルとして出力します。
f:id:bluebirdofoz:20181003093521j:plain

これで頂点カラーをテクスチャにベイクすることができました。

ベイク画像をテクスチャとして利用する

ベイク画像をテクスチャとして利用するにはマテリアルで設定を行います。
3Dモデルに新規マテリアルを作成し、テクスチャとして出力した画像を指定します。
[マッピング]パネルの[座標]は[UV]とします。
f:id:bluebirdofoz:20181003093528j:plain

この状態で[ポリゴン数削減モディファイア]を適用してみます。
同じく三角面数を 512 から 253 まで削減してみました。
色情報はテクスチャで保持されているため、見た目の情報をほぼ維持したままポリゴンの削減を行えました。
f:id:bluebirdofoz:20181003093537j:plain

より綺麗に色情報を反映するにはUVの切れ目を上手く調整する必要があります。
f:id:bluebirdofoz:20181003093550j:plain

なお、逆に頂点カラーへのベイクを実施する手順については以下記事でまとめています。
bluebirdofoz.hatenablog.com