【Blender】ライトクッキー用のCubeマップを作る

投稿者: | 2023-12-06

Unityで使うライトクッキーをBlenderで作成してみました。

メッシュとライトを用意

まずBlenderでランタンのモデルを開きました。

中心にポイントライトを置きます。

ランタンの光源の部分にライトが来るように、ランタンを移動しました。

ライトと同じ位置にCubeを追加しました。

Cubeを選択して編集モードですべての面を選択し、Alt + N でメニューを開いて「Flip」をクリックします。

これですべての面が内側を向きます。このCubeにライトをベイクします。

CubeをUV展開

ランタンの正面を決めて、その方向のCubeの面を+Zとしました。

Unityマニュアルのキューブマップのページにキューブマップのレイアウトが書かれています。

この通りにCubeにシームを付けてUnwrapしました。

正面
後ろ

UVを編集

UVを回転させてまっすぐの向きにしました。

Cubeにマテリアルを付けて、Image Textureノードを作り、新しい画像を設定します。

一つの面が256*256だとして、縦を4倍の1024、横は3倍の768にしました。

UVエディタでこの画像を開くと、UVが上に細長く表示されました。

そこで、UVを全選択して、X方向に1.333333…倍しました。

UV > Pack IslandsでUVを画像いっぱいに表示します。

Rotateのチェックを外して、マージンを0にしました。

1024*1024など正方形にベイクして、GIMPなどで画像のサイズを変えることもできます。GIMPで開いて、画像 > キャンバスサイズの変更… をクリックします。

画像に合わせて片方を3/4倍して「リサイズ」をクリックするとサイズが変更できます。オフセットで位置を調節できます。

Cubeを球状にする

Cubeに「Subdivision Surface」モディファイアを付けて、球状にしました。

右クリックから「Shade Smooth」も適用しています。

Unityマニュアルのエキスパートガイドでも、Cubeを球にしてベイクしていました。立方体にベイクすると、ライトクッキーに四角い筋ができます。

ライトが通過する部分を調整

レンダープレビューにすると画面が真っ暗になります。ランタンのガラス部分でライトが遮られています。

この部分を削除しても良いですが、ラフネスマップなどからColor Rampを通してアルファに接続すると汚れを活かせます。

マテリアルのプロパティでBlend Modeを「Alpha Hashed」にしました。

ライトの設定

適当にライトを明るくしました。また、影が明るくなるのでMax Bouncesを0にしました。

Radiusが0だと影の輪郭がくっきりします。光源に合わせて少し上げました。

くっきりした影をベイクして、画像編集ソフトなどで後からぼかしをかけるとシームができるようです。

ベイクする

オブジェクトモードでCubeを選択して、ShaderエディタでImage Textureノードを選択します。

Bake Typeを「Diffuse」にして「Color」のチェックを外しベイクします。

ライトクッキーを設定

ベイクした画像を保存し、Unityでインポートします。インポート設定で、Texture Shapeを「Cube」にしてApplyを押します。

汚れを際立たせたバージョン

ランタンに置いたライトの「Cookie」にこれをアタッチします。

これでライトクッキーが設定されました。

汚れ ; 弱
汚れ ; 弱
汚れ ; 強
汚れ ; 強
ライトクッキー無し
ライトクッキー無し

ライトクッキーがあると、ランタンのガラス以外の部分にライトがあたらなくなるので、次はこの部分を発光させてみます。

この方法だとライトクッキーに線ができてしまいます。これは画像と画像の間ではなく中央にあります。

真っ白い画像でCubeマップを作っても、線が入ります。

Blenderのカメラで「Latitude-Longitude Layout」「Mirrored Ball」用にレンダリングしてみましたが、同じように線ができました。

Equirectangular
Mirror Ball

プロジェクト設定の、HDRP > Lighting > Cookies > 2D Atlas Size を上げると少し目立たなくなります。

ライトの向き

ライトクッキーの正面(+Z)と思っていた部分が、ライトの左側に来ていました。

ライトのZ方向には、ライトクッキーの右(+X)があります。なので、ライトを-90度回転させました。

画像を横一列に並ばせた場合はライトを180度回転させる必要があるようです。

コメントを残す

メールアドレスが公開されることはありません。