ホーム VMT TECH BLOG グローバルイルミネーション(GI)とは?UnityやUnreal Engineを使っている人必見!

VMT TECH BLOG

VMTエンジニアが配信するテックブログ

グローバルイルミネーション(GI)とは?UnityやUnreal Engineを使っている人必見!

グローバルイルミネーション(GI)って何?調整方法が分からない…大域照明って何?
初めてUnityやUnreal Engineを使う人は、グローバルイルミネーションに関する情報が多くて混乱してしまうこともあるかもしれません。
そして、グローバルイルミネーションを扱うとなると操作や調整に苦戦する人が多いのも事実。
そこで、ここからはグローバルイルミネーションの使い方や効果について、わかりやすく解説していきます。

皆さんこんにちは、xRシステムを20年以上やりながら世界中で30万人が利用するアプリ開発クラウド「Monaca」でソムリエの称号を2年連続で頂きました。山下です。

グローバルイルミネーション(GI)とは何でしょうか?

グローバルイルミネーションとは、光源から発せられた光が物体に当たった後に反射、屈折、拡散する様子を計算し、物体から放たれる複数の光の影響を考慮した照明効果のことです。
グローバルイルミネーションを使うことで、自然な影や光が現れ、シーン全体がよりリアルに見えるようになる効果があります。

つまり、普段目にしている自然の光の反射や拡散を表現しているというものです。
なので、その自然さ=リアルになる為、難しいところでもあります。

今回は2種類のGI技術について紹介したいと思います。
SSGI(Screen Space Global Illumination)とRay Trace GI(Ray Trace Global Illumination)です。



VMTの開発するメタバースプラットフォーム「VMVerse」はこちら


SSGI(Screen Space Global Illumination)とは?

SSGIはカメラが見ている範囲内の光の影響を計算する方法で、リアルタイム性に優れています。
つまり、カメラから見える画面上のすべての絵(ピクセル)に対して、照明効果を計算します。
メリットは文字通りスクリーンスペース(見えている範囲)でGIを掛けますので、リアルさを表現できパフォーマンスも比較的期待できます。

唯一のデメリットは、見えている範囲しかGIがかけれないので、見えていない周囲のオブジェクトに対して効果がありません。
つまり、厳密には物理的な表現(光の表現)を再現することが出来ないという制約があります。

・SSGIのデモ

Ray Trace GI(Ray Trace Global Illumination)とは?

Ray Trace GIは、光線追跡を用いてより精密な計算を行い、より高品質なグラフィックスを実現します。
つまり、シーン内のすべてのオブジェクトから発せられる光線を計算し、オブジェクト間の反射、屈折、影などの効果を考慮して照明効果をシミュレートします。
要するにSSGIと違って、物理的に現実に忠実な表現をするため、非常にリアルな結果が期待できるという方法になります。

デメリットは処理に高負荷がかかる為、やはりパフォーマンスに影響が出てしまうという事です。
最近ではハードウェアが発展してきたので徐々に実用化が進んでいますが、一部のゲーミングPCでしか動作しない為誰もが体験できるようなものでもありません。

・Ray Trace GIデモ

UnityやUnreal Engineではグローバルイルミネーションはどうやる?

Unityでフォトリアルなグローバルイルミネーション(GI)をするにはHDRP(High Definition Render Pipeline)を使ってください。
何と言っても、物理計算の現実世界に忠実に再現できるというのが最大の特徴です。
カメラ、光源のパラメータを現実に即した設定に出来る為、細かい設定をしたい人にはおすすめです。

それとHDRPはSSGI、Ray Trace GIどちらも対応しています。
個人的は見解ですが、まだリアルタイムでRay Trace GIを使うのは待った方がよさそうです。
もう少し改善出来ればトライしてみたいなと言うところです。

フォトリアルな表現を行う場合は、光源の事前計算(ライトマップ)を使えば、かなりの表現が出来ますのでSSGIとうまく組合せて使うと良いかもしれません。
どうしても動的なリアルタイムレンダリングを求めるなら、SSGIを活用したほうが良い絵が作れます。

弊社Unity-HDRP事例

Unreal Engineでは何と言ってもLumen(ルーメン)です。
Lumenは動的なグローバルイルミネーションをリアルタイムで表現できる優れものです。
こちらはRay Trace GIを使っているのですが、パフォーマンスも出せているので、事前計算をしたくない人には絶対に使いたい機能です。

Lumenには2つのモードがあり、使い分けることが出来ます。
ソフトウェアレイトレーシングとハードウェアレイトレーシングです。

ソフトウェアレイトレーシングは多少制限はありますが、幅広いハードウェアとプラットフォームで動作するので高性能はGPUを搭載せずともグローバルイルミネーションを機能させることが出来ます。
※弊社でGTX1080あたりでも遜色なく表示できることを確認しています。

ハードウェアレイトレーシングはより細かく、ハードウェア性能を引き出せるようにしますのでよりリアルな表現が出来ますがその分高性能なGPUが必要です。
それでもRTX20シリーズでも充分動くと思いますよ。

弊社Unreal Engine-Lumen事例

グローバルイルミネーション(GI)を理解するこのメリットとは?

グローバルイルミネーションを理解することで、作品のクオリティが向上し、ユーザーの満足度が高まります。
また、SSGIやRay Trace GIの知識を持つことで、より効率的にグローバルイルミネーションを操作でき、開発時間の短縮や開発案件の提案にもにつながります。
そして、より自由自在にアートディレクションができるようになり、自分の表現したいイメージを実現できるようになります。
このような効果を得るためには、まずはグローバルイルミネーションについて基本から学ぶことが大切ですので、是非この機会にトライしてみてください。

3D開発をやってみたい人は?

という事で、今回はグローバルイルミネーション(GI)とは?でした。
グローバルイルミネーションは画質を大きく左右する重要な要素であり、3Dプログラマやゲームエンジンのユーザーであれば、必ず理解しておくべきものです。
ぜひ、今後の開発に役立ててください。

「アプリや要件に合ったグローバルイルミネーションを選ぶには、どのようなポイントを押さえればいいの?」
「3Dアプリケーション開発に必要な具体的なスキルは?」
など、まだまだ疑問がある方はお気軽にお問い合わせください。今こそ、弊社であなたの可能性を広げるチャンスです!
お問合せはこちら

メタバース総合展に出展します

6/28~6/30、東京ビッグサイトで開催されるメタバース総合展にVMTが出展します。
今回は、とある体験コーナーを準備しております!
体験の内容はまだお伝えできませんが、随時会社ホームページ等で公開されますのでチェックしてください。
ノベルティもたくさんご用意しておりますので、是非お越しください。
ブース番号:24-52でお待ちしております。

【3D開発エンジニアを募集中】

当社で開発している3D・VR・ARアプリケーションの開発エンジニアを募集中です。
詳しい求人内容はバルテスグループ採用サイトをご覧ください。


画像をクリックいただきますと詳しい求人内容をご覧いただけます。

VMTのInstagramでは社内xR, 3D技術勉強会のコンテンツを配信中です!

是非フォローや「いいね!」をお願いいたします!
公式アカウントはこちら

新着ブログ

Back to Top Copyright © VALTES MOBILE TECHNOLOGY CO.,LTD All Rights Reserved.