【Shader Graph】星型多角形(N芒星)を描く
はじめに
Unity の Shader Graph を使ってN芒星(五芒星、六芒星、七芒星、など)を描くシェーダーの作り方。
図形を描く方法の基本については 【Shader Graph】図形を描く の記事を参照。
曲線の極方程式
N芒星()を描くための極方程式は以下の通り。
図形の丸みを変化させるパラメーター を持つ場合の極方程式は以下の通り。
これらの極方程式についての解説は 極座標を用いて星型多角形(N芒星)を描く方法について の記事を参照。
シェーダー作成
環境
- Unity 2020.3.18f1
- Universal Render Pipeline 10.6.0
- Shader Graph 10.6.0
Custom Function
Graph
SubGraph
描画される図形を切り替えられるように、Keyword ノード を使っている。
Keyword ノードを使うことで、シェーダーバリアント(Shader Variant)を作ることができる。
Keyword | Shader Graph | 10.0.0-preview.27
出力結果
Quadに描画した
参考資料
シェーダーバリアントについて
Unity Shader Programming Vol.02(第8章 シェーダバリアントによる複数シェーダの生成) booth.pm星型多角形を描くための極方程式について nabla-tech-lab.hatenablog.com