UnityのHDRPを色々と試してみた (Pixiv Fanbox)
Content
はじめに
皆さん、こんにちは。
普段はToon系(アニメ系)のテイストの作品を良く作っているのですが、たまにはリアル系の作り方も試しておかないと思い、前から気になっていたUnityのHDRPを勉強がてらに色々と試してみました。
今回は解説と言うより、試したことを紹介するような記事になります。English is here.→ https://www.patreon.com/posts/70032467
HDRPとは
簡単にいうと高品質なグラフィックスを実現する。
詳しくは公式をみてね。
背景の練習
HDRPを使った背景の練習してみました。
UnityのAsset Storeで販売されている Japanese Street モデルを使って試してみました。
支援者の皆様のサポート金で購入させて頂きました。ありがとうございます!
1枚目:標準の状態。
2枚目:HDRPで調整を行った状態。
パッと見た感じだと差はなさそうだが、HDRPのほうが色の正確さがある。(空の青さを反映しているところとか)
環境光(ここで言うと空の背景)によって簡単に雰囲気を変えられるのも良いところです。
画面効果を入れて調整を行うと、画面がグッと良くなります。
次に、Built-in(Unity標準)とURPとHDRPでどのくらい差があるのかを検証もしてみました。
パッと見た感じは同じように見えるのですが、HDRPの方が全体的にどのアングルからでも良い雰囲気になる気がしました。
Built-inやURPは、アングルごとで良かったり、悪かったり見えることが多々あり、アングルごとで調整を入れる必要がある気がしますね。車が映っているアングルでは顕著に差がでました。
キャラクターについて
キャラクターを設定するにあたって、前からUnityにあったPBR設定に違いがあるのかを調べてみました。共通のHDRI画像を使って検証してます。キャラクターモデルはQuQuさんの Peke ちゃんを使用。
上から順番に、Built-in, URP, HDRP の画像です。
マテリアルの設定によって多少の見え方の違いはありますが、あんまり差はなさそうな気がしました。
だけど、背景画像によっては光の計算が変わるみたいです。
同じ背景を使っても、Buit-inとURPに比べるとHDRPは少し紫色が入っている。なんとなく計算としてはHDRPの方が正確な気がします。
このように、同じ設定だから同じような結果ではないと言うことが分かったので、Built-inからHDRPに変更する時には改めてよく見た方が良さそうですね。
HDRPのメリットはRuntime(ゲーム再生中)に背景画像(HDRI画像)を切り替えても光が変わってくれるのが良いですね。Built-inなどはRuntime中に変更しても切り替わらない。専用のスクリプトとか書けば変わるのかもしれないけど。
ライティングについて
ライティングについて調べてみようと思って、Live Stageのような雰囲気を試してみました。Fogを入れつつライトのVolumetric Lightingを使いながらステージを作っていきました。ついでに照明のタイプを切り替えることで雰囲気が出るのかも試してみました。 Model by UnityChan : © Unity Technologies Japan/UCL
まずは色々な照明の当て方を試してみます。
1枚目:トップサススポット
2枚目:ピンスポット
3枚目:サイドスポット
4枚目:フロントサイドスポット
5枚目:バックフット
6枚目:組み合わせ
正しくライトを配置して光を当てるだけで、それっぽい雰囲気が作れました。
液晶モニターを加えて適当にカメラを動かして撮影しても雰囲気が出てる。
他にもライトの色を変えてみたり、適当に動かしてみたりもしました。
なんとなく舞台上で打ち合わせしてるみたいの雰囲気で好きです。
ライトの位置さえ決まってしまえば、割と簡単に雰囲気のある絵が作れたので楽しかったです。
HDRPとBuilt-inで同じ雰囲気が作れるのか
HDRPで良い雰囲気が作れるのは分かった。じゃあBuilt-inでは同じような雰囲気がつくれないのか?と思ってHDRPを参考にBuilt-inで絵作りをしてみた。
意外と同じような雰囲気が作れた。
ただ、よく見るとHDRPの方が細かいところでバランスが取れている気がしました。特にアングルが変わった時にBuilt-inだと暗すぎたり、明るすぎたりして微調整が必要な場合がありました。
なんとなくHDRPの方が雰囲気がまとまっていて、どのアングルからでも奇麗に見える気がします。(ちなみに、Built-inの標準機能だけではVolumetric Light感がないのでAssetで購入したエフェクトを色々と追加しています。)
とは言え、FPSは圧倒的にBuilt-inが軽かったです。
Editor上の数字なので正しくはありませんが、このような差がありました。(負荷軽減をすれば軽くなると思いますが。)
じゃあ最初からBuilt-inで作ればよいのかと言うとそういうわけじゃなく、今回はHDRPのお手本があったので簡単に作れましたが、最初からだとなかなかライトの設定が難しい気がしました。
ライトの設定方法はHDRPとBuilt-inで微妙に違います。
特に差があったのがIntensityの設定です。HDRPは現実の光源値を参考に設定すると良いのに対して、Built-inは感覚で設定が必要なので、そのあたりは意外と大変です。また、Built-inではRangeを変えると光の当たる強さも変わるので、Intensityを決めた後に、Rangeを変えてしまうと光の当たり具合も変わり調整が意外とめんどくさいです。
まとめ
まだ細かいところまで試したわけではないけど、フォトリアル系などリアル表現するのにHDRPは良さそうだと思います。設定方法も従来より使いやすい気がしました。
ただ、負荷は大きいのでリアルタイム向けに作るには工夫が必要。レンダリング前提なら問題ないかな。
グラフィック優先でリアルタイム向けを作るなら、手間はあるけどHDRPでシーンを作ってからBuilt-inで同じような雰囲気を作ってみるのもアリな気がします。
まあ、それぞれ良いところと悪いところがあるので作りたい作品に合わせて使い分けるのが良さそうです!(それはそう)