Shader Graph入門 Force Field

3月 7, 2021UncategorizedUncategorized

シェーダーわからん…触れたくない…でも表現したいことのために覚えなきゃ…

とりあえずフォースフィールドを作ります。多分どこかで使うので。

  • ☑基本半透明
  • ☑光源の影響は受けない(自己発光)
  • ☑外周が光る
  • ☑中心はある程度透けて見える
  • 球体、半球、平面など多少形状に自由がきくとよい
  • 余裕があればヘキサゴンのパターンとか入れたい
  • できれば接触箇所を検知して何らかのアニメーションを入れたい
  • できればダメージ表現を入れたい(ダメージ受けると赤くなるとか)
  • できれば厚みを表現したい

具体的なイメージはない状態での見切り発車ですがやっていきましょう。
パイプラインはHDRP、ベースにするシェーダーはUnlitです。

外周の色を付ける

これはひとまずFresnel Effectを使います。
水面などでよく見られる効果で、斜めから見ると水面の反射が見えて、真上からみると水面が見えないみたないやつです。視線が物体表面と垂直に交差するか、角度をつけて交差しているか段階的に取得できます。

グラフはこんな感じ
alphaにはフレネルの結果をそのまま入れて、ColorとEmissionにはフレネルにカラーを掛けて任意の色に変更できるようにしています。あと一部の変数はエクスポーズしてます。
ColorについてはGraph InspectorからMode>HDRを選択しておきましょう。エミッションの輝度をコントロールできるようになります。

結果は球に関してはこのままでもギリギリ使えそうですが円盤や平面はダメですね。
全然シールドっぽくない

作成中…