物理ベースシェーダー的なパーティクルエフェクトが作られたみたいです。
Standard Particle Shader
Standard Particle Shaderは、PBRベースなパーティクルシェーダーみたいです。
通常のStandard Shaderよりライティング周りを簡略化した代わりにパフォーマンスを得る感じなんじゃないかなと。
- Unity 2017.3以降
- [Release] Standard Particle Shader
ソレ以外にも、幾つかパーティクルシステムに便利なオプションがあるみたいです。
- アニメーションのテクスチャブレンディング
- 照明のON/OFF
- Depth Bufferによるフェード
- Cameraによるフェード(カメラ距離によりフェード)
- 屈折効果*1
- 使用パラメータに基づいてVertex Streamsを自動設定
例えば下のテクスチャアニメーションのフレーム補間はアニメーションのテクスチャブレンディングの効果です。
特に時間をゆっくりにした時や、パーティクルに使用するテクスチャの枚数を制限したい場合に有効に見えます。
スローモーションとパーティクルのTextureアニメーション(Simple) pic.twitter.com/wNRg4cKwQb
— 椿 (@tsubaki_t1) 2017年4月9日
スローモーションとParticleのテクスチャアニメーション(Blendモード) pic.twitter.com/M8SvcIm9Rv
— 椿 (@tsubaki_t1) 2017年4月9日
Depth Bufferのフェードはこんな感じです。
Camera Fadeはこんな感じです。
要するに近づくと消えます。
また他のシェーダーから見ると
- StandardShaderにあるMetaricやSmoothness のパラメータが使える
- パーティクルモジュールで指定した色が使える(頂点カラーが使える)
- 不透明(Opaque)の他にも、FadeやTransparent、Aditive、Overlay等色々と使えるみたいです。
- 動作するのは Unity 5.6 f2 からです
Standard Shaderと同じようにUber Shaderみたいです。
フィードバックはこちら。
使用してみる
インポート
Unity2017.3以降は標準搭載っぽいです
公開サイト( [Release] Standard Particle Shader )よりダウンロードします。
現在はフォーラムより入手する感じですが、今後は変わるかもしれません。例えばStandard Shaderに入って手軽に使えるようになったり、AssetStoreに入って面倒くさく余計な手間が増える等。
解凍後はプロジェクトにインポートします。
なお4/9現在のバージョンでは、インポート時に10分ほどUnityエディターが停止します。その内復帰しますが、インポート中は反応が無くなるので、その辺り注意です。
マテリアルに適応
インポートしたらマテリアルに適応します。
適応した物はParticleのRendererに設定です。
設定する
使用は、使うシェーダーのパラメータを設定するだけです
設定後、設定画面下にある「 Apply to Streamsボタン」を押すと、パーティクルに流し込むShader Stream設定項目が更新されます。
例えばLightingを使わないならNormalが削除される等。
例えばアニメーションのテクスチャブレンディングを行おうと思ったら、Flip Book ModeをSimpleからBlendへ変更して、Apply To Streamに変更すれば、ブレンドしてくれます。
割りと簡単に適応出来る pic.twitter.com/kFi2iAyIvm
— 椿 (@tsubaki_t1) 2017年3月31日
NormalMapやEmissionが使用出来る他、ModelにVertexの色を指定出来るのは中々に良いです。
感想
インポートで10分エディタが固まったのにはビビリましたが、好きかも
関連
もう使わなくても良くなるハズ
*1:効いてないように見える