Code Monkey home page Code Monkey logo

unity5effects's Introduction

Unity5 Effects

Unity5 用エフェクト置き場。
こちらのパッケージをインポートすれば大体そのまま使えます:IstEffects.unitypackage
多くはレンダリングパスが deferred であることを前提としています。また、カメラが HDR モードである方がより望ましい結果になります。

Temporal Screen Space Reflections

alt text
スクリーンスペース反射です。
kode80 氏が似たようなものを公開していますが、そちらとはアルゴリズムが違い、 若干残像が残ってしまう欠点があるものの、圧倒的に高速でクオリティも引けを取りません。
実装の詳細に興味があればこちらの記事もどうぞ。 また、上記スクリーンショットの背景はこちらの Raymarcher によるものです。

Screen Space Shadows

alt text
G-Buffer をレイマーチすることで影を出せるライトです。点光源の他に線光源も扱えるようになっています。
ライティング処理の大部分は公式の CommandBuffer のサンプルプロジェクトから借用しています。

Screen Space Boolean

alt text
G-Buffer 加工によるスクリーンスペースブーリアン演算です。
重い、影を正しく処理できない、複雑な立体交差で破綻する、などいくつか問題はありますが、見た目に結構インパクトがある効果は得られます。
実装の詳細に興味があればこちらの記事 (の下の方)もどうぞ。

Rim Light

alt text
法線と カメラ -> ピクセル位置 の角度が浅い部分を明るくするアレです。

Water Surface & Caustics Field

alt text
水面とコースティクスです。
水面は G-Buffer をレイマーチすることで屈折をエミュレートしています。コースティクスは 3 次元ノイズで明るくしてそれっぽく見せかけています。

Light Particle

alt text
一粒一粒を Point Light として扱うパーティクルレンダラ。MassParticle の拡張。

Procedural Modeling

alt text
Mesh の表面を開始点としてレイマーチ (sphere tracing) することで、オブジェクトスペースで distance function をレンダリングする代物。 上の画像は Unity ちゃん以外の背景オブジェクトは全て Cube をピクセルシェーダで加工したものです。

Metaball

alt text
レイマーチによる Metaball。完全に GPU で完結するので、MC 法などでメッシュを生成するよりはずっと高速なはずです。
実装には Media Molecule の方が発表した soft_min() 関数を拝借しています。(詳細。この資料プロシージャルモデリングの類に関する情報の宝庫なのでおすすめです) また、D3D11 世代の機能 (StructuredBuffer) を使っているのでやや環境を選びます。

Temporal SSAO

alt text
dangerous samples を考慮することで残像対策を入れた temporal な SSAO です。
動いてる箇所のノイズが目立ち、ちょっと実用に耐えるとは言い難いクオリティですが、動きが少ないシーンに限れば標準 SSAO の倍くらいの速度で近いクオリティの絵が出せます。 状況によっては役立つこともあるかもしれません。
こちら をヒントに実装しました、が、元記事の方がずっと高度な実装になっています。いずれ元記事で言及されている SSAO の発展形にも手を出してみたいところです。

Mosaic Field

alt text
指定オブジェクトをモザイク領域化するシェーダ。

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

unity5effects's People

Contributors

i-saint avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.