UnityでLight Shaftを表現する

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

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



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


関連記事

OpenMayaRender

Model View Controller

自前のShaderがおかしい件

ブログの復旧が難航してた話

Russian3DScannerのトポロジー転送ツール『WrapX』

CreativeCOW.net

CGWORLD CHANNEL 第21回ニコ生配信は『シン・ゴジラ』メイキングスペシャル!

ラクガキの立体化 背中の作り込み・手首の移植

GoB:ZBrushとBlenderを連携させるアドオン

オープンソースのプリント基板設計ツール『KiCad』

SIGGRAPH 2020はオンライン開催

Geogram:C++の3D幾何アルゴリズムライブラリ

clearcoat Shader

映画『ゴジラ-1.0』 メイキング情報まとめ

Managing Software Requirements: A Unified Approach

Structure from Motion (多視点画像からの3次元形状復元)

書籍『The Art of Mystical Beasts』を購入

ZBrushで仮面ライダー3号を造る ベース編

ガメラ生誕50周年

Live CV:インタラクティブにComputer Visionコーディングができるツール

ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを作り込む

『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイクダウン

Faster R-CNN:ディープラーニングによる一般物体検出手法

仮想関数

PolyPaint

iOSデバイスと接続して連携するガジェットの開発方法

Pylearn2:ディープラーニングに対応したPythonの機械学習ライブラリ

プログラミングスキルとは何か?

HD画質の無駄遣い

ラクガキの立体化 進捗

Mixamo:人型3Dキャラクターアニメーション制作サービス

ZBrushのTranspose Masterでポーズを付ける

3DCGのモデルを立体化するサービス

PyDataTokyo主催のDeep Learning勉強会

ドットインストールのWordPress入門レッスン

フィクションに登場するUIデザインのまとめサイト

映画『ブレードランナー 2049』のVFX

ZBrushでアヴァン・ガメラを作ってみる モールドの彫り込み・身体の形出し

Raytracing Wiki

TVML (TV program Making language)

MeshroomでPhotogrammetry

ZBrush用トポロジー転送プラグイン『ZWrap Plugin for ZBrush』

コメント