※本記事にはアフィリエイトリンクが含まれています。
グローバルイルミネーション(GI)とは、光源から直接届く光だけでなく、壁や床で反射した「間接光」までシミュレートして、より自然な陰影を再現する技術です。従来はライトマップとして事前計算(ベイク)しておく手法が主流でしたが、この方式は一度焼き込んだ光を動かせないという弱点があります。Unreal Engineの「Lumen」やGodotの「SDFGI」など、変化するシーンに対応するリアルタイムGIも利用されています。
そんな中、UnityのURP向けに新たなリアルタイムGI方式が登場することがわかりました。開発系メディアgamefromscratch.comの報道によると、Unityの次期バージョン「Unity 6.7」のアルファ版に、新しいリアルタイムGIシステム「Surface Cache Global Illumination(SCGI)」が搭載されたとのことです。Unityには以前からEnlightenによる事前計算型リアルタイムGIやHDRP向けの方式がありました。SCGIはURP向けの新たな選択肢です。詳細はgamefromscratch.comの記事で確認できます。
SCGIは、Universal Render Pipeline(URP)向けの新機能で、事前計算なしにリアルタイムで間接拡散光を計算できるのが特徴です。不透明面ではライトマップやAdaptive Probe Volumesの間接光を加算せず置き換え、透明面には適用されません。Static Batchingの無効化やMesh Buffer TargetのRaw設定、compute shader対応も必要です。主なポイントは次の通りです。
- SCGIを使う不透明面の間接光では事前ベイクを減らせる。その他の用途は個別に要件を確認する
- プロシージャル生成や建物の破壊表現など、シーンが動的に変化する場面への活用が期待できる
- 時間帯による太陽光の変化(タイムオブデイ)にもリアルタイムで対応できる
- 対応するDirectX 12環境ではハードウェアレイトレーシングを利用し、それ以外ではコンピュートシェーダーを使う。コンピュートシェーダーへの対応が必要
- 紹介当初はアルファ版で、その後Unity 6.7ベータ版でも提供。制限や仕様変更に注意が必要
💡 Surface Cache(サーフェスキャッシュ)
シーン内の位置と法線の組み合わせを「パッチ」という単位に分割し、各パッチに入射する光を計算・保存する仕組み。複数カスケードを使う場合は、通常カメラ付近を高密度にし、中心となる対象も変更できます。これにより、負荷を抑えながらリアルタイム計算を実現しています。長時間のベイク待ちから解放される点は、特に個人開発者にとって大きなメリットになりそうです。
このニュースから考えられること:
✅ ライティング作業の手間が減ることで、個人・小規模チームの開発スピードが上がることが期待できる
✅ 破壊表現やプロシージャル生成など、これまでベイクが苦手だった表現もやりやすくなる
⚠️ Unity 6.7ベータ版の機能。透明オブジェクトには適用されず、対応デバイスや処理負荷の確認が必要
学ぶならこの講座
※本リンクはアフィリエイトリンクです。
まとめ:
- Unity 6.7アルファ版に新GI機能「SCGI」が搭載された
- ベイク不要のリアルタイム間接光で、動的なシーンにも対応できる
- Unity 6.7ベータ版での制限や今後の変更に注目
