シンプルなアクションゲームを作ってみようの第21回です。
今回はライトをベイクしていきます。
前回はポーズ機能を作成しました。

シンプルなアクションゲームを作ってみようの他の記事は

シンプルなアクションゲームを作るのを通してUnityの使い方を学ぶカテゴリです。
から参照出来ます。
ライトのベイクをする
今回はライトのベイクをして間接光をライトマップにベイクしていきます。
シーンビューを確認するとDirectional Light(太陽光にあたる)の直接の光がゲームオブジェクトに当たった光だけが反映されています。
しかしリアルな世界では直接光がなにか物に当たって反射した光がまた別の物に当たるといった間接光もあります。
そんな直接光と間接光を計算するアルゴリズムのことをグローバルイルミネーションと言います。
グローバルイルミネーションにはベイクドグローバルイルミネーションとリアルタイムグローバルイルミネーションがありますがURPやHDRPではリアルタイムグローバルイルミネーションをサポートしていません。
リアルタイムグローバルイルミネーションの代替機能はまた別途出来るのかもしれませんが(出来ている?)、無視していきます。
今回のプロジェクトは組み込みのレンダラーを使用して作成したものなのでまだリアルタイムグローバルイルミネーションが使えますが、使いません。
ライトマップをベイクする
ベイクしたグローバルイルミネーションを使用する為に、ゲームに配置した舞台に当たった直接光と間接光をテクスチャにベイクし、利用出来るようにします。
ベイクしたテクスチャをライトマップと言います。
ライトの設定ファイルを作成する
ライトマップをベイクする前にライトの設定ファイルを作成します。
AssetsフォルダにSettingsというフォルダを作成します。
Assets/Settingsフォルダ内で右クリックからCreate→Lighting Settingsを選択します。
次にUnityメニューのWindowからRendering→Lightを選択しLightingウインドウを開きます。
LightingウインドウのSceneタブでLighting Settingsに今作成したLighting Settingsファイルをドラッグ&ドロップします。
Sceneタブで各項目の設定が出来ます。
Realtime Global Illuminationのチェックが外れているのを確認したらGenerate Lightingボタンを押してライトマップのベイクをします。
ライトマップがベイクされるまで少し時間がかかります。
ライトマップがベイクされるとBaked Lightmapsタブでライトマップが反映されているのを確認出来ます。
ライトマップはそのシーンのファイルがあるフォルダにそのシーン名のフォルダが作られ、その中にファイルが出来ます。
今回の場合はStage1シーンのライトマップを作成したので、Assets/Scenes/Stage1フォルダにファイルが作られます。
ライトマップがベイクされるとStage1シーンのゲームの舞台が間接光でより明るく見えます。
終わりに
今回はライトのベイクを行いました。
次回はInputManagerを使った入力システムから新しい入力システムであるInputSystemに切り替えます。