Shader
グレースケール画像のうんちく - Qiita 上記の記事より 「NTSC係数」を利用してグレースケール変換をすることで 下図のようにグレースケールに変換できます ※ポストエフェクト 変換式は以下の通りです col.r * 0.298912 + col.g * 0.586611 + col.b * 0.1144…
条件式を if 文を使わないで書く処理をメモしておきます ※define 形式です x >= y #define GREATER_EQUAL(x, y) step(y, x) x <= y #define LESS_EQUAL(x, y) step(x, y) x > y #define GREATER(x, y) 1.0 - step(y, x) x < y #define LESS(x, y) 1.0 - step…
Opaque のシェーダ に対して アルファを入れても無視されてしまう fixed4 frag (v2f i) : SV_Target { if (i.uv.x < 0.2 || i.uv.x > 0.8 || i.uv.y < 0.2 || i.uv.y > 0.8) { return fixed4(0, 0, 0, 1); } return fixed4(1, 1, 1, 0); } clip を利用するこ…
こちらの記事 nn-hokuson.hatenablog.com を参考にパーリンノイズを利用し Dissovle シェーダーを作成してみました ノイズの値と _Threshold の値を見て そこの ahpha を変えているだけの簡単なシェーダーです Shader "Unlit/Dissolve" { Properties { [NoSc…
BaseMeshEffect を利用して Shader側にパラメータを渡すために 下記コードのように uv1 を利用しようとしたがパラメータが渡されない public override void ModifyMesh(VertexHelper vh) { var vertexList = new List<UIVertex>(); vh.GetUIVertexStream(vertexList); </uivertex>…
テクスチャを UV スクロールする方法として * Shader を使う * スクリプトを使う の2種類がある Shader で UV スクロールしてる記事はあったが、スクリプトで UVスクロールしてる記事は見かけなかった Shader でUVスクロール GPU を利用して UVスクロールを…
キャラの輪郭を表示させたり、画像を見せたいけど詳しく見せたく無いから 二色で塗りつぶしたりしたいときがあると思うので、それの対応 正しい名称が分からなかったのでざっくりとした表現 処理 各色味を計算してrgb値によって色を振り分けている fixed tot…
Shader でグリッドを表示させる方法について考える 画像を n分割する グリッドを作成する前に 画像を n分割する方法を考える 画像を分割するためには frac 関数を利用する frac 関数は「小数値の小数部分を返す」関数なので uv に 5を掛けた場合、下図のよう…
静止画ですがゲージの部分が波のように揺れている表現を作ってみます 波 波のような結果を出すものとして sin波とcos波 があるのでこちらを利用する Shader で利用する場合はこれに _Time を食わせることで -1 ~ 1 の間を行き来させることができる 左右に動…
Directional Light を複数置いて Culling Mask で制御するのが面倒な時などに Unlit Shader でも 光の向きを指定したい場合があります。 法線との内積の処理で指定したXYZを利用しているだけで特に特殊な処理はしていません Shader Shader "Custom/Unlit/Dir…
シェーダーを用いて色の加算・乗算は容易にできるがHSV変換をする場合変換用のメソッドを容易してやる必要があるため こちらにシェーダをメモ HSVのカラーシフトの式はこちらを参考にしました HSV Shader with Alpha - Unity Answers シェーダー Shader "Cus…
オブジェクトの影色を変更する記事はあったが オブジェクトの陰色を変更している記事を見かけなかったため、 調べて色を変更できるようになったのでまとめる 陰とはオブジェクトの光の当たってない部分のことである Vertexだとライトの計算を時前でやる必要…