1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unity Shader Graph基礎 炎シェーダーの解説 全体、Sample Gradient編

Last updated at Posted at 2020-12-28

ShaderGraphもShaderのコードも触ったこと無い人向けに
ShaderGraphで作った炎シェーダーを使ってShaderGraphの基礎を解説します

目次
SampleGradientによる色つけ
Multiplyによる色つけ

まずこちらが例の炎シェーダーです
(マウスポインターウロウロしてごめんなさい)
FireShader.gif
早速中身の解説に入リます
まず、このシェーダーグラフの大まかな流れですが、白黒のシェーダーを作って最後に色を塗っています。
大体のシェーダーグラフはこの方法が使われているので、本格的な白黒の部分は後に回して、まず色つけの部分を解説します

SampleGradientによる色つけ

image.png

これが色付けの部分のノードですね。Sample Gradientというノードを使っています
公式の説明ページ
https://docs.unity3d.com/Packages/com.unity.shadergraph@6.9/manual/Sample-Gradient-Node.html
をみても僕にはナンノコッチャ分かりませんでしたが、
おそらく「Gradient(G)」で受け取ったグラデーションの左端を0,右端を1とし、「Time(1)」から受け取った0~1の値でグラデーションの1部分から色を抽出して表示する
という作業をピクセルごとに行っている感じだと思います
samplegradient.gif
今回のシェーダーグラフでは白黒画像の真っ黒~真っ白が0~1の値を持っているのでそれを使っています。
あとグラデーションはブラックボードからプロパティに追加できるのにインスペクターでいじることはできなさそうです

とりあえずSample Gradientにグラデーションと白黒画像繋ぐと
真っ白~真っ黒をグラデーションの左端~右端で色つけてくれるってことです。

Multiplyによる色つけ

SampleGradientだけでなく、Multiplyでも色つけができます(むしろこっちのが一般的かも) Multiplyというのは乗算、つまり掛け算ですね こちらも公式にページ貼っておきます https://docs.unity3d.com/Packages/com.unity.shadergraph@6.9/manual/Multiply-Node.html ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/985818/40ddea6f-f6cc-8869-3cbd-4ac7b17f3f5e.png) こうノードを繋ぐとできます これは単純で白黒画像の0~1の値をオレンジの色のRGBAにそれぞれ掛けているだけです。 一応ですが白黒画像の値はR=G=B=Aです Multiplyは色つけ以外でも画像を混ぜ合わせる時とかによく出てくるんで覚えていてください

とりあえず色つけに関してはこんなもんで。次回から本格的なシェーダーグラフ作りって感じです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?