UnityでLight Shaftを表現する

空気中の細かいチリや、煙を焚いた時に、光源から光の筋が見える現象を”Light Shaft“と呼んだりしますね。Mayaとかのプリレンダ環境なら、Depth Map Shadowとか使えば割と簡単に表現できる現象なんだけど、リアルタイムだとそれなりの計算コストになる。リアルタイムで実現するには、光源の数やバッファサイズにかなり気を付けないと処理落ちしてしまう。

追記:以下はUnity 5の時代の古い情報です。最新のUnityでは標準機能で表現可能です。


スポンサーリンク


で、そんなLight Shaft表現をUnityで実現するScriptをGitHubで公開している方がいる↓

robertcupisz/LightShafts

I made a more decent light shafts effect for #unity: Anyone interested? 🙂 #unity3d

Robert Cupiszさん(@robertcupisz)が投稿した動画 –



このコード、ありがたいことにパブリックドメインだそうです。
使い方は簡単で、Unity標準のライトにアタッチして使用する。対応しているのはDirectional lightSpot light。後は様子を見ながらバッファサイズやサンプリングサイズを調整してやるだけ。

LightShafts

実装の元となった論文はこちら↓
https://www.semanticscholar.org/paper/Epipolar-sampling-for-shadows-and-crepuscular-rays-Engelhardt-Dachsbacher/2b9640253af2bf397232f2436eddce2cf1d5f1eb

こういう表現が加わると一気に奥行きが増して素敵ね。

その後、Unity Adam demoにも使われたようです↓
https://github.com/Unity-Technologies/VolumetricLighting



2018年9月 追記:今ならAuraという無料のAssetがある↓


スポンサーリンク

Aura – Volumetric Lighting


AuraはUnityのためのオープンソースのvolumetric lightingソリューションです。
開発はGitHubにホストされ、最新のパッケージはAsset Storeに公開されています。

Auraは、環境の空気などの媒体中の光の散乱や、この環境に存在する眼球/カメラには見えない微粒子の照明をシミュレートします。
この効果はvolumetric fogとも呼ばれます。

GitHubのリポジトリはこちら↓
https://github.com/raphael-ernaelsten/Aura



ドキュメントはこちら↓
http://www.raphick.be/aura/documentation/

Auraの内部で行われる処理の概要図↓

Aura - Volumetric Lighting for Unity

2019年追記:有料版のAura 2がリリースされています↓

Aura 2 – Volumetric Lighting & Fog


Aura 2はUnity用のvolumetric lighting/fogソリューションです。
Aura 2は、環境中に存在する肉眼・カメラでは捉えられないほど小さな微粒子の照明効果をシミュレートします。

Aura 2はUnityに最先端のvolumetric lightingシステムを提供します。
このレンダリング手法は、Tomb Raider, God Of War, Red Dead Redemption 2, Assassin’s Creed Odysseyなどの最新のハイエンドゲームで使用されているものと同じです。



スポンサーリンク

関連記事

Blenderでよく使うaddon
UnityでOpenCVを使うには?
Unite 2014の動画
ZBrushからBlenderへモデルをインポート
Maya LTのQuick Rigを試す
ZBrushで仮面ライダー3号を造る 仮面編 Clay Polish
素敵なパーティクル
フィクションに登場するUIデザインのまとめサイト
ZBrushCore
ZBrushでアヴァン・ガメラを作ってみる
Kornia:微分可能なコンピュータービジョンライブラリ
OpenMayaRender
書籍『The Art of Mystical Beasts』を購入
OpenCV 3.1のsfmモジュールのビルド再び
Iterator
映画『ジュラシック・ワールド』のVFXメイキング
Unity Scriptコーディング→Unreal Engine Scriptコーディング
WordPressのテーマを自作する
Deep Learningとその他の機械学習手法の性能比較
Pix2Pix:CGANによる画像変換
単純に遊びに行くのはだめなのか?
SIGGRAPH 2020はオンライン開催
ZBrushでアヴァン・ガメラを作ってみる 脚のトゲの作り直し
GAN (Generative Adversarial Networks):敵対的生成ネットワーク
Autodesk Mementoでゴジラを3次元復元する
Unreal Engine 5の情報が公開された!
ラクガキの立体化 反省
シン・ゴジラのファンアート
ZBrush 4R7
ZBrushで仮面ライダー3号を造る 仮面編 PolyGroup作成に再挑戦
Blender 2.81でIntel Open Image Denoiseを使う
Cartographer:オープンソースのSLAMライブラリ
Raspberry Pi 2を買いました
clearcoat Shader
オープンソースのプリント基板設計ツール『KiCad』
Houdiniのライセンスの種類
TeleSculptor:空撮動画からPhotogrammetryするツール
テスト
Unite 2017 Tokyoに行ってきた
Super Resolution:OpenCVの超解像処理モジュール
スターウォーズ エピソードVIIの予告編
映画『ゴジラ-1.0』 メイキング情報まとめ

コメント