Shader Graph事始め
はじめに
概要
一般公開されているシェーダーを作る経緯について記述します。
開発環境(ワールド作り)
- Unity 2021.3.4f1
- Windows10
- Cluster Creator Kit 2.30.0
- 特に決めていない、最新であればよい
- Shader Graph 12.1.7
- Unityレジストリからインストール
- (Universal Render Pipeline(URP)はClusterで対応していません)
ワールドづくり
ワールドコンセプト
Shader Graphで生成したマテリアルを展示するためのワールドです。BOOTHやBGMerから展示に適したアイテムを利用させていただいています。
ワールドそのものについて作りこむことはしません
シェーダー作り
シェーダー作り方針
初めて行う場合、まずは一般公開されているものを自分でやってみる、数(とりあえず20個くらい)をこなそうと思います。何も作ったことないのに夢と希望だけ膨らませても仕方ありませんからね。オリジナリティとか自分らしさは、まぁ1000個くらい作って出てきたらいいんじゃないんですかねぇ(白目)
シェーダー作り始め
CUBEの世界(宇宙猫)で語った通り、もともとはワールドオブジェクトの平行移動を表現するために、Skyboxで恒星を平行移動させようと思ったのがきっかけです。今回のワールドの最初に、この時作ったマテリアルを展示しています。
参考資料
まずは資料探しの旅に出かけます。適当に"Shader graph ###"で検索して簡単に中身を見てリンクを置いておきます
火
- 【ShaderGraph】揺らめく炎のエフェクト
- Unityエフェクトレシピ : ShaderGraphを利用した炎エフェクト
- 【Unity】シェーダーグラフを使ったリアルな炎の作り方!
- 【Unity】初めて『シェーダーグラフ』でシェーダーを学んでみる 実践編.炎①
- 【シェーダーグラフメモ その52】闇の炎を作る
水
- 【Unity】初めてのShaderGraph!水のShaderを作ってみる
- Unityで水に沈む部分にグラデーション表現を入れるShader Graph
- 水面をShaderGraphで作る!Stylized Water[Unity]
- 【Unity】水の表現の作り方!無料アセットも紹介
雷
- 【シェーダーグラフメモ その51】アニメ調の雷エフェクトを作ってみた
- 【Unity VFX】魔法陣 + 落雷エフェクト 解説
- Shader Graph の Emission Node を使って、発光させたい。【Unity HDRP】
- 【Unity VFXGraph】稲妻を作ってみた
風
- 【Universal Render Pipeline】ShaderGraphをポストエフェクトとして使ってみる
- 【Unity】アニメ風の演出効果をShader Graphで実現する
- ShaderGraphを使ったClusterスクリーンの特殊表現
- [Unity初心者demo] Shader Graphで簡単に葉を揺らす方法
- 【Unity / ShaderGraph】風で揺れる木を作ってみる
雪
- 【ShaderGraph】積雪表現をShaderGraphで作ってみる
- Amplify Shader Editorを用いてモデルを雪で覆うシェーダーを作る方法
- 【Unity】シェーダーグラフでポストエフェクトやってみる
霧
*【ShaderGraph】デプスバッファを利用した霧の表現
オーロラ
結晶
光の粒子
- 【Unity VFXGraph】レーザーエフェクトを作ってみた
- 【シェーダーグラフメモ その41】流れるLEDライトのような表現を作る
- 【シェーダーグラフメモ その32】ゆらゆら揺れる感じのエフェクト
波紋
- Sineノード
- Posterizeノード
- 【シェーダーグラフメモ その16】マグマの波紋を作ろう
- 【シェーダーグラフメモ その2】ブワッって広がるエネルギー波っぽいもの
- Unity】シェーダーグラフで雨の波紋を作る
- はじめてのShader・Shader Graph 解説7 オリジナルシェーダーでパーティクルを作ろう
夢幻の花
影
その他
- ノイズを利用した陽炎表現
- 真珠光沢シェーダの作り方~星の欠片の物語技術解説
- 【VRChat】プログラマが最速でシェーダーを書くための学習ガイド
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】
- https://realtimevfx.com/t/sketch-10-jordanov/4273/11
実践(nity ShaderGraph CookBook vol.1【ShaderGraph 入門)
波紋
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】の波紋を参考に、とりあえずグラフを設定してみました。
ブレード
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】のPosterizeを参考に、とりあえずグラフを設定してみました。
UV Scroll
-
Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】のUVスクロールを参考に、とりあえずグラフを設定してみました。
-
3D Scan Line
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】の3Dスキャンラインを参考に、とりあえずグラフを設定してみました。
集中線
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】の集中線エフェクトを参考に、とりあえずグラフを設定してみました。うまくいきませんでした。(alpha値をTextureのalpha値として採用することができませんでした。)
-
- ぴえん
ディゾルブ
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】のディゾルブを参考に、とりあえずグラフを設定してみました
-
。
カゲロウ
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】の陽炎表現を参考に、とりあえずグラフを設定してみました。できませんでした。(つらい)
- URPの設定の問題なのかわかりません
- 半透明の問題なのかわかりません
- SceneColorを通すとColorが表示されません。
-
- あきらめ
頂点シェーダ波打
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】の板モデルを参考に、とりあえずグラフを設定してみました。
座標位置でのRGBA変化
- Unity ShaderGraph CookBook vol.1【ShaderGraph 入門】のParticleSystemとの連携(カメラ距離)を参考に、とりあえずグラフを設定してみました。
- View Direcionノードをどうやってうまく使うのかわかりません、もしかすると考え方が違うのかも(つらい)
実践(炎)
揺らめく炎
-
【ShaderGraph】揺らめく炎のエフェクトを参考にしてます。
- こちらの記事はURPで実装されているのでBuiltInで作ってみます
- (Win10で背景透明なpngで炎画像を用意)
ShaderGraphを利用した炎エフェクト
-
Unityエフェクトレシピ : ShaderGraphを利用した炎エフェクトを参考にしてます。
- うーん、やり方がわかっていません。
- 炎のテクスチャを持っているオブジェクトにノードを指定するのでしょうか、、、つらい
-
- 手を動かしているんですが、わかっていないです。
揺れる炎の生成
-
【Unity】シェーダーグラフを使ったリアルな炎の作り方!
- こちらの記事を参考に作ってみます
闇の炎を作る
-
【シェーダーグラフメモ その52】闇の炎を作る
- こちらの記事を参考に作ってみます
- URPであったり、ノイズ画像を利用されているので注意
- こちらの記事を参考に作ってみます
実践(水)
水のShaderを作ってみる]
-
【Unity】初めてのShaderGraph!水のShaderを作ってみる
- こちらの記事を参考に作成しています
水の深度表現
-
Unityで水に沈む部分にグラデーション表現を入れるShader Graph
- うーん、やり方がわかっていません。
- カメラ視点のオブジェクトまでの深度と水面の深度の差がとれていないのだと思います、、つらい
-
水面をShaderGraphで作る!
- こちらの記事ももとは同じ設計のようです
実践(雷)
雷エフェクト
-
アニメ調の雷エフェクト
- パーティクルに設定する、点滅の部分のshader graphが記載されている
- 今回はちかちかするので、頻度をかなり落としています
- 粒子用のマテリアルの作り方は不明
- マテリアルに粒子自体は何も表示しない設定と思われる
- Trailマテリアルが今回の点滅を設定している
- 雷のようなパーティクルシステムはUnity ParticleSystemで稲妻を作るのように別の表現方法も可能
発光
-
Emission Node を使って、発光させたい。
- Emission Nodeがない、つらい
スクリーン
*Clusterスクリーンの特殊表現
* 謎
* アスペクト比やタイリングがどうなるのか不明。。。
Shader Graphで簡単に葉を揺らす方法
-
[Unity初心者demo] Shader Graphで簡単に葉を揺らす方法
- Positionを動かしている
- ShaderGraphよりUnityで木の作り方がわかりません、、、
- 葉っぱは1枚のQuadとして用意しておいて、作ったマテリアルを張り付けるといいのかな。。。
実践(雪)
積雪表現1
*03 Shader Graph Snow
* 積雪の記事は少ないようでした
* (現実は積雪表現2を先に用意していました)
* 個人的には積雪表現1で十分かな。。。
*
*ShaderGraphでオブジェクトを回転させるシェーダーを作成する
* 積雪はY軸上方向のみ色づく設計になっています
* 平面オブジェクトの場合、色づきがわかりにくいので、回転させてみました(嘘)
* すみません、積雪方向を配置アイテムに合わせて調整しました
積雪表現2
-
【ShaderGraph】積雪表現をShaderGraphで作ってみる
- 記事の通り作れるんですが、、、、、
- パラメータを調整するのがつらい
実践(霧)
霧
*デプスバッファを利用した霧
* こちら_CameraDepthTextureをつかった、LWRPのパイプラインということで、おそらくBuilt-inのパイプラインとは設定方法が違うはず。。。(涙)
* カメラとレンダラーマテリアルを用意してなんとなくデプスのテクスチャを用意して、、、とかやってみたんですがよくわかりません(つらい)
霧2
-
UnityのOrthographicでもShaderGraphでVertical Fogを作りたい
- こちらもうまく動かない。。。カメラの位置がよくないのでしょうか。
実践(光)
レーザー
*【Unity VFXGraph】レーザーエフェクトを作ってみた
* うう、ううう。
流れるLEDライト
*【シェーダーグラフメモ その41】流れるLEDライトのような表現を作る
*
*
波
マグマ
-
マグマの波紋を作ろう
- こちらを参考に作成。
エネルギー波
-
ぶわっと広がるエネルギー波っぽいもの
こちらを参考に作成。
広がる切り抜き
-
はじめてのShader・Shader Graph 解説7 オリジナルシェーダーでパーティクルを作ろう
* こちらを参考
* (win10でペイント3Dで背景透明なpngを用意する)
*
*
*
*
*
*
*
*
Twirl
-
シェーダーグラフを使う
- こちらを参考
Spherize
-
シェーダーグラフを使う
- こちらを参考
顔の陰影処理。。。
-
原神の顔の影の処理の考察
- こちらを参考(VRMを読み込むとメッシュとマテリアルでワールドのサイズ大きくなりますよねぇ...)
光沢
-
真珠光沢シェーダの作り方~星の欠片の物語技術解説
- こちらを参考
- かどかどしたモデル作らないとなぁ…
Glitch(グリッチ)エフェクト
- シンプルなGlitchエフェクト
- こちらを参考
(コラム)動くアクセサリー
-
MToonをフル活用して動くアクセサリーで優勝する
- UVスクロールしたアクセサリーはShaderGraphで準備する必要はないです
- シェーダーをVRM/MToonにして、[UV Coorinates]の[Auto Animation]にある Scroll Xに0.1とか設定しておくだけでいいです。
Discussion