本日はUnity×Blender調査枠です。
Untiyでは様々なShaderを使用することができます。
この中で最も軽いShaderと呼ばれているShaderがUnlitなシェーダーです。
これはライトの処理を計算しないため非常に軽量と呼ばれています。
今回はこのUnlitで影を表示する表現を行っていきます。
〇影のテクスチャ
Unlitで影を映りこませるためにはあらかじめ影をテクスチャに焼きこみそのテクスチャを使用する方法があります。
Blenderではこの作業をベイクと呼びます。
①Blenderでキューブを作成し今回はこのキューブを使用します。
②UV展開を行います。
③Shardingタブへ切り替え[画面テクスチャ]ノードを作成します。
④新規テクスチャを作成します。解像度は大きい方が良いですが、それだけ処理の時間もかかるため今回は1024×1024で行います。
⑤レンダーエンジンを[Cycles]へ切り替えます。これはBlenderでテクスチャへの焼きこみを行うためには2.8以降の[EEVEE]では現在できないためです。
⑥ ③で作成したノードを選択した状態でベイクタブからベイクタイプを[影]に設定し、[ベイク]ボタンを選択します。
⑦ベイクが完了すると画像エディタに結果が表示されます。
外部のフォルダに保存します。
⑧CubeをエクスポートしUnityへ配置します。ここではUnlit/TextureのShaderを使用しています。
⑨最後にマテリアルのテクスチャとして⑦で作成した画像をアタッチすることでUnlitで光の影響を受けないながらも影を表示することができました。
今回は一番簡単な形状の一つであるキューブでしたが、複雑な形状のモデルで行うことで負荷軽減を行うだけではなく、Blenderのレンダリング結果をそのまま使用することができグラフィックが向上します。