本日はBlender調査枠です。
Blenderではベイクを行うことでそのオブジェクトのマテリアル情報をテクスチャに焼きこむことができます。
ベイクを行うことであらかじめライト情報を含んだテクスチャを使用したUnlitな表現が行えるなど、軽量化、最適化においてアプリケーションのパフォーマンスを上げることができます。
今回はベイクを使用して複数のマテリアルを一つのマテリアルに統合します。
〇複数のマテリアルを一つのマテリアルにまとめる。
今回は以前作成した筆者のオリジナルガンダムの3Dモデルの頭部で行っていきます。
〇ベイクの準備
①ベイク用にターゲットの頭部を包むように球を作成します。
②球のメッシュを反転させます。
③球のマテリアルのシェーダーを[放射]に切り替えます。
以上でベイクするための光源が完成しました。
〇UV展開
ベイクを行ってテクスチャに焼きこむためにはUV展開を行う必要があります。
しかしすでにUV展開を行っておりテクスチャを使用している場合UV展開をやり直すことで見た目が大きく変わってしまうことがあります。そのため新たな[UVMap]を作成します。
①メッシュタブから[UVMap]を展開し、[+]アイコンを選択し新たに[UVMap]を追加します。
これで新たなUVレイヤーが作成されます。
②[UVEditer]を開きUVを作成した[UVマップ]に切り替えることで新たなUVとして使用できます。
③新たなUVマップでUV展開を行います。
既に展開しているUVとは違うレイヤーのためすでにある見た目を変えることはないです。
〇ベイク
①オブジェクトにアタッチされているマテリアルを選択し[Shading]を開き[追加]で[画像テクスチャ]を作成します。
②新規テクスチャを作成します。
③すべてのオブジェクトにアタッチされているマテリアルに[画像テクスチャ]を作成し②で作成したテクスチャを設定します。
④レンダータブから[ベイク]を選択することでベイクが始まります。
処理が終わると結果が出力されます。
⑤最後にメッシュタブから[UVMap]を開き、新たに作成したものではないUVマップを削除します。
以上で複数のマテリアルを一つにまとめることができました。
Unityで見てみると一つのマテリアルと一枚のテクスチャだけで再現できていることが確認できます。