【Irisy Aqua】全力で照らせ!
どうも一週間ぶりです。
Otorakoboです。
今週はキャラクタライトを再考していました。
従来のライトは
こんな感じでした
ですが、アーティストさんからもう少しこんな感じで
と、ハイデフレンダの画像が送られてきました。
確かに、これを見ると従来のは少しビビッドというかメタリックな印象を与えてるなと思ったので、もう少しマットな感じの表現にライティングできないか色々調整しました。
ハイデフ画像ではおそらくグローバルイルミネーションやアンビエントオクルージョンをふんだんに使って処理されていると思うので、そっちのイメージを参考にします。
ただ、この辺の処理は複雑かつ重たいので、できれば簡略化できないかどうかを試しながらやれればと挑戦。
まず、ヒントにしたのは物理ベースレンダリング。いわゆるPBRってやつです。
https://tech.cygames.co.jp/archives/2129/
サイゲさんとこを参考にしました。
結果、良くわかりませんでした笑
Unity標準シェーダも参考にしてみたのですが、内部実装の構造を理解するのがもう少し時間がかかりそうだったので、ランバートライトの近似モデルでどうにかできないか考えました。
おおよそ必要な要素としては、ライトの陰影が濃すぎるので、その対応が欲しい。アンビエントオクルージョンよりもどちらかとうとグローバルイルミネーションの方が用途に合っている気がする。現在のライトは暗すぎる。
というところからヒントを得て、カメラ側から正面ライトを照らすようにしました。
これだけだと、やはり暗い部分は暗かったので、一律でアンビエントライトも設定してみました。
マテリアルとしては
こんな感じ
これをキャラクタに適用します
頂点数が少ないので、正確にふんわり表現にはできなかったのですが、従来に比べて幾分か柔らかくなりました。
こいつをとりあえず今のゲーム画面にはめ込んでみます。
ひとまず、効果はあったように思います。
ただ、マップ関連のシェーダも手を入れるので、マップシェーダが出来てからあらためてバランスを見ようと思います。
来週はまた水面を調整しようかと。
それでは!