前回までシーンの基礎やプレイヤー(ランタン)を作ってきました。しかし見ればわかる通り、今のところシーンは暗くないので、このままホラーゲームを作ったとしても全然怖くありません。
そこでここでは
- シーンの環境光を消す
- 2Dのスプライトにライトを適用できるようにする
という2つの設定を行い、シーンを真っ暗にしてみます。
シーンの環境光を消す方法
まず、デフォルトだとシーンには「環境光」というものが設定されていて、そのままだとライトがなくてもうっすらと光がさしているのと同じ状態になっています。そこでシーンを真っ暗にするために環境光を消しておきましょう。
環境光の設定はライティングウィンドウ(メニューバーのウィンドウ→「レンダリング」→「ライティング設定」)の「環境」グループにあります。ここに「環境光の色」というのがあるので、それを真っ黒に設定しましょう(下図)。
スプライトにライトを適用する方法
さて、次に鋭い方はお気づきかもしれませんが、実はデフォルトのスプライトはライトの影響を受けません。なのでスプライトのマテリアルを変更してライトの影響を受けるようにします。
プロジェクトの「Assets」フォルダ内に「Materials」というフォルダを作り、その中に「DiffuseSprite」という名前の新しいマテリアルを作りましょう(右クリック→「作成」→「マテリアル」)。そうしたら、マテリアルのシェーダーを「Sprites/Diffuse」というやつに変更してください(下図)。
そうしたら、ライトの影響を受けさせたいスプライトにこのマテリアルを設定します。今のところは背景画像にライトを適用したいので、前作ったBackgroundプレハブのスプライトレンダラーのマテリアルを今作ったものに変更しましょう。
これでシーンが真っ暗になれば成功です(下図)。ゲームを実行して、ランタンのライトが適用されるかどうかを確かめてみましょう。
おまけ:デバッグ用のライトの作成
ただしシーンが真っ暗な状態だと、このあと敵やゴールを配置するときに非常に不便なので、デバッグ用のライトを作って必要な時にシーン全体を照らせるようにします。
新しくディレクショナルライトを作り(ヒエラルキーで右クリック→「ライト」→「ディレクショナルライト」)、強度を2くらいにしてからプレハブ化してください。
あとは必要な時にこのプレハブを開いてライトをON/OFFすればOKです。
次のページ→敵とゴールの作り方