VMT TECH BLOG

CEDEC 2020参加レポート Vol.2

こんにちはMonacaソムリエです。

先日のCEDEC 2020オンラインの参加レポート第二弾です。
今回も専門用語が多いため、予めご了承ください。

CEDEC 2020とは?

CEDEC(Computer Entertainment Developers Conference)は
ゲームを中心とするコンピュータエンターテインメントの開発、
ビジネス、関連する技術、機器の研究開発などに携わる人々の
技術力向上と知識や情報の交流を促進するためのカンファレンスです。

今年はこの情勢下もあり、オンライン開催となりました。

3日間と非常に長く、コンテンツも非常に多いので、
私の業務でもかかわりが深い二つのテーマに絞らせていただきます。
今回はその二つ目です。

クオリティを引き上げる!Unity HDRPのライティング、カメラ、ポストプロセス設定

セッション概要

Unity2019から正式版となったHigh Definition Render Pipeline(HDRP)は、徹底した物理ベースレンダリングによってより
確実に高品質なグラフィックを作り出すことができます。
しかしその一方で、各種の設定にはこれまでのUnityとは違う、
現実世界の照明やカメラなどについての知識も求められるようになりました。
またより詳細な調整のための機能もいろいろと増えており、
これによって逆に扱いづらくなったと感じている方もいるかもしれません。
そこで本講演では、以下についての設定箇所や具体的な数値などを紹介し、
より多くの方にHDRPを楽しんで頂けるお手伝いが出来ればと考えています。

HDRPとは?

High Definition Render Pipelineの略でPC、Xbox、PlayStation などの
ハイエンドなハードウェアをターゲットにしています。
もちろん、今はやりのVRヘッドセット(PlayStation VR、Oculus Rift、OpenVR、Windows Mixed Reality)にも対応しています。
主に、高忠実度のゲーム、自動車のデモ、建築用アプリケーションなど、
グラフィックスの質が優先される制作物に使用されます。
HDRPは物理ベースのライティングとマテリアルを使用します
(物理ベースレンダリング)。
残念ながらモバイル用途では使えませんし、前回の記事で紹介した
Universal Render Pipeline(URP)との互換性も基本ありませんので、
用途によってHDRPを使うか?URPを使うか?選定する必要があります。

物理ベースレンダリングとは?

Physically-based rendering(以下PBR)と言って、
物体表面における光の反射や媒質内における散乱などの物理現象、
光源からシーンを経てカメラに入射する光の伝搬などを計測して
数式でモデル化したものを用いてレンダリングすることです。
簡単に言うとPBRとは物理法則をベースとした
レンダリング手法ということです。
なので、計算にはそれなりのコストがかかるので、
モバイル用途ではないといったのはそのためです。

HDRPの特徴は?

・徹底的に物理ベースにこだわっている
・現実世界に忠実なパラメータで設計されている
・光源(ライティング)やカメラが現実世界のパラメータで設定できる

光源について

Physical Light units(以下PLU)と言って現実に存在する光の単位を採用しています。

・Candelas(cd) ・・・カンデラ
・Lumens(lm) ・・・ルーメン
・Luminance(nit) ・・・ルミナンス
・Lux(lx) ・・・ルクス
・EV100 ・・・イーブイ100
それぞれの単位の詳細は省きます。
太陽光源はLux、その場所の明るさはEV100(カメラ露出度)、
照明器具はLumensを使用していることが多いですね。

PLUを使うメリットとは?

先ほども説明したように現実世界の値を利用しているため、
シーンや場所といったあらゆるところで現実世界の明るさを
どのような値を設定したらよいか?の基準値が世界中で共有されているということです。
  
朝、昼、晩といった時間や部屋の中、屋外、建物の中など
どのシーンでどういうあたりを設定したらよいか?がわかるということです。


  
要するに、アーティストの感覚に頼ることなく
現実世界の値をそのまま使えばリアルな環境を再現できるということです。
  
また、色温度についても公開されており、
各シーンによって使い分けることが出来ます。

カメラについて

通常3Dにおいてカメラといえば、位置、回転、視野角といった
値を利用するのが当たり前ですが、HDRPでは現実のカメラの設定が採用できます。
私はカメラにはあまり詳しくない(デジカメの設定はいつもオートですw。)
ので、うまく説明できないので、簡潔に言うと下記を設定できるということです。
カメラに詳しい人なら、「あ、なるほどね」って思ってくれるはずですw。
  
ピント  ・・・注視点までの距離
焦点距離 ・・・画角
シャッター祖速度 ・・・モーションブラー
絞り     ・・・DoF


 
あとは露出(EV)です。これが明るいところ、暗いところでも
撮影したときに綺麗に見れる明るさを適正露出といいます。
これをUnity上で設定できるというものです。


  
実際に昼と夜の設定をした絵がこちらになります。
モデルの質感がいいとは思うのですが、明るさやカメラの設定を
設定すると、ここまでリアルに表現できるということです。

HDRPの将来性は?

今、私が一番注目している技術はDOTSとリアルタイムレイトレーシングです。
どちらも詳しい話をすると長くなりますが、簡潔に説明します。

DOTSとは?

Data-Oriented Technology Stack(以下DOTS)と言って、
マルチコアプロセッサーを活用して高速化するといったものです。
要するに、大量データを効率よく処理して高速化すると考えていいでしょう。
現時点はまだプレビュー版なので、正式リリースまで待ち遠しい限りです。
ですが、データ構造を入れ替えるのですぐに適応とまでにはいかないところが悩みの種です。
ですが、【この動画】を見てください。
この大量データがきれいに早く動くので、あれば取り入れない策はないと思います。

リアルタイムレイトレーシングとは?

百聞は一見に如かずなのですが、【この動画】を見てください。
もう何が現実で何がCGかわからなくなっていますw。
  
以前のブログでも言いましたが、基本的に光や影の計算に関しては
非常にハードウェアのコスト(GPU/CPU)を使います。
それを補うためにLightMap(事前計算)いわゆるBake(ベイク)をして
画質を上げているのですが、それだと光や影がリアルタイムにシーンに反映されません。
それを、すべて事前計算せずに行うことが出来る技術がリアルタイムレイトレーシングです。
  
DirectX12から使える技術で現時点で下記がハードウェア条件になっています。
OS:Windows10(October 2018 Update導入済み)
GPU:GeForce RTX 20シリーズ以上
  
さすがに、ハードウェア要件はある程度高くなってしまうのは仕方ないですが
それに値する画質が実現できるところ魅力です。
Unityではまだプレビュー版の段階で正式版はまだ先とのことです。
  
何がリアルタイムにやってくれるか?というと。
・グローバルイルミネーション(大域照明)
・アンビエントオクルージョン(環境光の明暗)
・スクリーンスペースリフレクション(反射)
・シャドウ(影)
  
今のHDRPでもできないことはないのですが、その精度がもっと
上がると思っていただいて結構です。

最後に

URP同様HDRPに関しては今まで情報が少なく、
ずっと手探りでやっていたところがありました。
昨年のUnite Tokyo2019で、弊社の取り組みを
Unityの関係者に熱く語ったのですが、すごく感心されました。
※そりゃあ、情報が少ないから頑張るしかないだろうって、思ったのですが。。。
  
今回は私の知りたかった情報がわかりやすく解説してもらったので、
今後の計画といいますかどのようにシステムの将来性を考えたらいいか?
に関しては非常に参考になりましたし、進化していっていることは間違いないので、
その技術をいち早く取り入れシステムに反映できるように切磋琢磨していきます。
  
CEDEC2020のレポートはこれまでです。
ありがとうございました。

Unityを使った3Dシステムの開発実績はこちら

3D/VR/ARのシステム開発のお問合せはこちら

新着記事一覧

バルテス株式会社
VALTES Advanced Technology, Inc.