now#の日記

とある新人エンジニアのメモ

【Unite2018】Unity2018の新機能Shader Graphの使い方

Unity2018の新機能「Shader Graph」についてです。

Day3の9:40〜に行われた下記の講演のメモです。

「新機能Shader Graphを使えばプログラミング無しにシェーダーが作れるようになります!

こちらの講演のスライドはなく、ライブデモのみの公開です。

www.youtube.com

まずShaderGraphの導入については下記のサイトが参考になるかと思います。

nn-hokuson.hatenablog.com

ゼロから説明している方がいたので追記(5/31)

effect-lab.hatenablog.com

 

講演にて使用していたもの

講演で使用していたプロジェクトはこちらです

github.com

サンプルからどのようにノードを繋いでいるかが参考になるかと思います。

1.Assets/Example/Texturing

内容:2つのテクスチャーを掛け合わせる

2.Assets/Example/Dissolve

内容:溶けるようなシェーダー

f:id:takarotta:20180514124128p:plain

3.Assets/Example/Golf

内容:ゴルフゲームにおけるゲージの実装

f:id:takarotta:20180514124023p:plain

4.Assets/Examples/TV

内容:ブラウン管に表示されたモナリザにノイズの入ったようなエフェクト

f:id:takarotta:20180514124101p:plain

※3と4は記憶に強く残っているのですぐわかったのですが、

  1と2は記憶があやふやなので合っているか確信が持てません。

 

ノードの説明

講演にて説明されたノード。

急いでメモしたのと、シェーダーにはそもそも詳しくないため、認識が間違っている可能性があります。

  • Simple Noice・・・砂嵐のようなノイズ
  • Step・・・ある値を取り出す
  • InvertColors・・・色を反転させる
  • Time・・・時間でアニメーションをさせたい場合に使用する
  • Fraction・・・小数点以下を取り出す
  • Remap・・・値を一時的に変換してくれる。入力は0~1、出力は1~0
  • Smoothstep・・・滑らかにする
  • Multiply・・・色を掛け合わせる
  • Leap・・・二つの値を補完
  • Sin・・・これでテレビにおけるノイズを表現する
  • Split・・・ベクトルを色や成分に分解
  • Combine・・・色や成分をベクトルに分解
  • Saturate・・・0~1で切り取ってしまう。

 

メモ

たぶんこれ。ノードの機能を複数締めた機能を作成できたりする。

blogs.unity3d.com

  • 差分をマージすることができないため複数人では触らないこと