Unity HDRPでグラフィック設定するときに考えてること
Unityでグラフィックをいろいろ設定する際にどんな考えでやっているのかをメモも兼ねて記載。設定の仕方とかではなく考えてる内容のメモなので、設定がしたい人はほかの記事を見に行ってくださいね!
個人的に目指す部分としては説得力のあるグラフィック。そこに持っていくときに考える要素は「ライティング」「マテリアル」「ポストプロセス」がメインになると思っている。これのどれが抜けても違和感が出たり、いわゆる安っぽいグラフィックになってしまう。なので各要素を主体に作りながら考えてることを書いていく。
・ライティング
上がライト9個、下がDirectional Light1個
名前の通り光の当たり具合などを設定する要素。光源はここでこのくらいの明るさだからこういう感じになるみたいなのを考えながら設定する。ライトの3Dモデルはいっぱいあるのに、ライトはDirectional Light一個だけみたいな感じだとすぐに違和感が出る。ただライトを増やせば増やすほど処理負荷は増えていくのでライトの数を維持しつつ違和感ないライティングを実現するのは結構テクニックが必要になる。あらかじめBakeしておくことはできるんだが、メインのモデルのそばに置くのは影の付き方に違和感が出るのでリアルタイムであった方が良いかなぁと思う。逆に背景とか動きの少ない部分はライトをBakeした方がいいんじゃないかなと。
光があれば影があるように、ライティングをちゃんと設定する上では影の設定も欠かせない。いい感じにライトがたくさん当たっているのに、影は一個だけじゃん!みたいになると違和感にもつながるところ。このあたりも処理負荷との相談で、いかに違和感なくできるかは腕の見せ所かなと。ちなみに足元の影がないとモデルが浮いている感じが出るので、影のクオリティ下げても必須かなと思っている。
ちなみに画づくりのための光の授業という本を読んだら普段生活してる現実世界のライティングについて何も知らないじゃん...となったのでオススメ。光と友達になれる気がした。とりあえず現実を知らないことには説得力のあるライティングはできないんじゃないかなとは思っている。
・マテリアル
マテリアルは素材の見た目を設定する要素。じゃあ3Dモデルのその部分の素材は何で出来てるの?みたいなのを考えながら設定する感じ。デフォルトでも色とかで素材感は想像できるけど、パッとテクスチャだけ見てこれは何とわかる感じにできるとベストじゃないかなとは思う。ただ下手に調整するとすぐに違和感が出る場所でもあるので、むしろデフォルトのままという選択肢もある気がする。
今回のシェーダーはHDRP標準のLitシェーダーを使っている。パッとテクスチャとノーマルマップ設定するだけでもそれなりにいい感じにはなる。あとはMetaricなどパラメーターを調整していって違和感ない感じにしていく。結構いろいろパラメーターがあるので本来はちゃんと設定した方がいいのでマニュアルとか見ながら設定するのがベストだとは思う。個人的にはテカテカさせときゃリアルっぽくなる気がしてる。
テクスチャに関しては一旦SubstanceAlchemistに持って行ってノーマルマップなどの各種テクスチャを作成、そのあと細かい調整(特に多いのはエミッシブの部分)が必要ならSubstancePainterで塗ったりなんだりする。Blenderとかのモデリングツールが使えなくても非破壊で3Dモデルを表示しながら塗れるのは結構やりやすい。Substance製品は極めるとマテリアル作成が最強になれそうなので学んでいきたいところではある...
これは半分愚痴ですが、HDRPのシェーダーに切り替えた際にテクスチャ情報がすべてはがれることがあるので、マテリアルが50個とかあると心が折れる...。設定からアップグレードできるんだけど、うまくいく時とうまくいかないときがありこの辺もなぜなのかはよくわかっていない....。
・ポストプロセス
上がON、下がOFF
画面効果というのが正しいのかはわからんが、色味だったり光の広がりなどの部分を設定する項目。メインはライティングとマテリアルで、最終的にそれを引き締めるみたいな感じで使うイメージ。仕上げに使うものだからあんまり振り回されないのが大切。
もはやコレ!みたいな設定もないと思ってるので、場所とどんな画にしたいか次第で設定する必要がある。BloomとTonemappingとColorAdjustmentsとAmbient Occlusion辺りは必ず入れてるけど。個人的にはColorAdjustmentsのSaturationを80~100くらいにして、TonemappingをACESに設定するのが好き。全体的に色味が結構違うのはこれのせい。
Fogの設定もポストプロセスに来ているのだけど、従来に比べてこれが結構強力になってる気がする。ライブ会場みたいな場所だとスモークみたいな演出が結構簡単にできる。Density Volumeと組み合わせて使うのがメインになってそう。
あとSKYの設定がポストプロセスの項目扱いになってるので、初見で結構戸惑った覚えが...。公式のデモだとオブジェクトで分けていたりするのでごちゃごちゃにならないように整理した方がよさそう。全体的にかなり設定項目が増えてるので油断するとすぐに混ざってどこに設定項目あるか行方不明になる...。ついでにアンチエイリアスの設定もカメラに移ったし、結構設定項目を探すのに苦労したりする...
自論ではあるけど、ポストプロセスはカメラで撮影しているという感じが強いので、自分の目で見てるという考えになると少し設定と関わってくるので注意。特にVRで設定すると相性が悪いものなどもあるので(SSRとかAOとかFog系とか)、モノによっては取扱注意。
・その他もろもろ
あとはその他の要素ではあるけど、もう一つ重要な要素として個人的にあげたいのは「モデルの質」。そもそも高解像度のグラフィックにする想定でない3Dモデルを無理やり入れるのは結構無理がある。その場合は全体をモデルに合わせたグラフィックにするみたいなのも選択肢としてはあると思う。背景がフォトグラフィックなのに、モデルがモバイルで動かす低解像度のモデルみたいな感じだととても違和感が出る気がする。
もちろんこれ以外にもHDRP自体の設定などもあるので、Settingからいろいろ設定する必要はある。最適化をしていくならライティングの品質どうするかとかポストプロセスのクオリティはどうするかとか考えつつ設定して動く形にしていく。たぶんこのあたりのテクニカルなHDRPの設定をいろいろカスタムできるようになるとすごいんだろうなぁと思いながら全く手を出せていない。あとアップデートのたびに設定項目がどんどん増えていくので半年も放置すると浦島太郎になってる可能性すらある...。
・終わりに
グラフィックを理解したからめちゃくちゃすごいモンができる!というのは早計かなとは思う。これは完成物を構成する要素であって間違ってもこれができるからと言ってそれですべてが済むわけではない。例えばこれで3Dアバターの生配信をしようとなった際には、カメラ動かすのはどうする?ライトをリアルタイムで動かすには?配信の音響周りは?盛り上げに使うエフェクトは?モーキャプどうするの?それらを全部取り込んで最終的に配信に乗せた際に意図した画質とフレームレートが出るか?最終的に予算内に落ち着くか?など結構考えることは多い。それらを考えてちゃんと事故なく配信ができているところは裏側考えたらかなりの労力がかかっているはずなので尊敬のまなざしで見ている。裏側が見えるとあぁ~そういう感じにするんだ上手いことやるなぁ!!とか思ったりするので楽しみ方が変わるというのはあるしめちゃくちゃ参考にはなる。逆にこういう技術があるのに何で使わないんだよ!という意見は完全に間違いなので、それを言うなら投資家にでもなろうな!
ついでにToon系の方がアニメ寄りのキャラには合うという話はあるんだけど、この辺は好みの問題かなぁというのが自論。アニメの中に入ってキャラクターを見るのと、現実で等身大フィギュアとして動いているキャラクターを見るのどっちがいい?みたいな感じ。個人的には最終的にVRにしたときに後者の方が没入感は高いかなと思っているのでそちらでいろいろ試している感じ。どちらも一個の表現方法でしかないのでどちらが正解とかではないと思っている。ただ、Toon系をやるならHDRP使わないでURPでいいんじゃないかなぁとは思ってる。
ちなみにUnityがグラフィックしょぼいとかいうのはUnity2017までだよね~キャハハwwと思っていたりはする。よほど映像系に技術があるとかでなければHDRPでいい感じのグラフィックにはなるし、それ以上を求めるとなると予算とか結構莫大になるので....。URPでも現状のUnity 3D Standard以上にはいいグラフィックが出せるので用途と使う人次第かなぁとは思ってる。HDRPやるとURPの設定が簡単になるのでオススメ。それといずれはグラフィックでどちらかの選択肢を迫られそうな予想をしているので早めに手を付けておくのはアリかなと思ったりしている。
あともしかしてという話ではあるんだけど、このあたりのUnityのリアルタイムレンダリングでグラフィックの質を上げていける人材ってそもそもそんなにいないのではと思ったりなんだり。グラフィックの質を担保しつつ最適化の部分を考えられる技術を持っている人って相当珍しいイメージ。ただ業界変えると結構いたりするかもなので見てる幅が狭いんのかもしれない...。就活とか転職にお悩みの人とかいたらそういう足りない人材とかを目指してやっていくのはアリなのではと思ったりなんだり。VRとかARの方でも珍しい気がする。僕はやらないのはアーティスト的な考え方ができないから。何かを参考に再現するのはどうにかなることもあるけど、ちゃんと独自の世界観を持ってそれを再現できる人はすごいなと思ってます。
最後に僕がこの手の製作で救われた言葉は「正解なんてない」なので書いておきますね。この手のグラフィックはこだわればこだわるほど無限に工数が発生するので、どこで区切りをつけるかも大切になる。正解になるまでこだわり続けるのではなく、これいいじゃん!となった時に終わらせてしまうのは重要だと思います。翌日見ると気分変わっていたりするので。ただしクライアントワークでは明確にクライアントという正解がいるので注意!
いかがだったでしょうか。まとめたといえどもどうやったらいいかは僕にはわかりませんでした...。
ただずっと技術的にはアップデートしていく分野ではあるので、情報などは追っていきたい次第です。。最後に書くのもアレですが、デザイナーでもアーティストでもない独学で5年くらい細々いじっているだけのただの企画職なので、内容は斜め読みするくらいがちょうどいいかなと。諸々間違ってるところとかありそうな気配もするので、違うところ見つけたら教えてほしいです...。その考え方違うでしょ!とかこういうのもあるぜ!みたいなの大歓迎なので教えてほしいです...
最後の最後に参考というかよく見てるページリンクは貼っておきます。HDRPと和解する日がくればいいなぁ...
お借りしたモデル
Tda式初音ミクV4X