UnityでLight Shaftを表現する

ここ最近Unityの話題ばかりだけど、今回もまたUnity関連の話。

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


スポンサーリンク


で、そんな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

ADAM: Episode 1

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


スポンサーリンク

Aura – Volumetric Lighting

Aura – Reveal Teaser

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

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

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

Aura – On/Off Comparison

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

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

Aura - Volumetric Lighting for Unity

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

Aura 2 – Volumetric Lighting & Fog

Aura 2 – Release Trailer

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などの最新のハイエンドゲームで使用されているものと同じです。

VOLUMETRIC LIGHTING in Unity | Aura 2 and Bolt


スポンサーリンク

関連記事

ブログをGoogle App EngineからAmazon EC2へ移行
UnityのGlobal Illumination
「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作ったのか
オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート
WordPressプラグインの作り方
PythonのHTML・XMLパーサー『BeautifulSoup』
リアルタイム レイトレーシングAPI『DirectX Raytracing (DXR)』
Zbrushでメカ物を作るチュートリアル動画
Unityで使える数値計算ライブラリ『Math.NET Numerics』
CreativeCOW.net
PythonでMayaのShapeノードプラグインを作る
グローバルイルミネーションに手を出す前に、やり残したことがあるんじゃない?
Unite 2017 Tokyoに行ってきた
オープンソースハードウェア Arduino (アルドゥイーノ)
リアルタイムシェーディング技術とその周辺技術をあつかうサイト
書籍『開田裕治 怪獣イラストテクニック』
OpenCVの超解像(SuperResolution)モジュールを試す
映画から想像するVR・AR時代のGUIデザイン
ZBrushで仮面ライダー3号を造る 仮面編 リファレンス画像の表示
ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエットをリファレンスに合わせる
Webスクレイピングの勉強会に行ってきた
フルCGのウルトラマン!?
PyDataTokyo主催のDeep Learning勉強会
Webサイトのワイヤーフレームが作成できるオンラインツール
2012のメイキングまとめ(途中)
Unityで学ぶC#
日本でMakersは普及するだろうか?
Javaで作られたオープンソースの3DCGレンダラ『Sunflow』
Verilog HDL
Photoshopで作る怪獣特撮チュートリアル
バージョン管理の履歴を可視化するツール『Gource』
書籍『3次元コンピュータビジョン計算ハンドブック』を購入
Subsurface scatteringの動画
OpenCVの超解像処理モジュール『Super Resolution』
ラクガキの立体化 胴体の追加
トランスフォーマーロストエイジのメイキング
Unityで360度ステレオVR動画を作る
ZBrush 2018へのアップグレード
ドットインストールのWordPress入門レッスン
世界一下品なクマと世界一紳士なクマ
Open3D:3Dデータ処理ライブラリ
フォトンの放射から格納までを可視化した動画

コメント