2022-05-01から1ヶ月間の記事一覧

uGUIシェーダー - Imageの色を反転する

UnityのuGUIのシェーダーのカスタマイズをしてみます。 以下の記事を参考にしました。 tsubakit1.hateblo.jp ビルドインシェーダーのダウンロード まずは、組み込みシェーダーをダウンロードします。 過去のアーカイブをダウンロードできるページから、 unit…

Unity の Quad と Plane の違い

Plane (プレイン)は 1辺10単位で 三角形 200 個! Quad (クワッド)は 1辺1単位で 三角形 2個! 処理負荷はQuadのほうが軽いので、単純に画像や動画を1枚貼るだけならQuadのほうが良さげ。 tsuwabuki.hatenablog.com

Unityシェーダーお絵描き入門 - 円をアニメーションさせる

以前、フラグメントシェーダーで黒い円を描きました。 game-graphics.hatenablog.com 今回は黒い円をアニメーションさせたいと思います。参考記事はこちらです。 docs.google.com まずは黒い円を描くコードのおさらい。 float4 frag_test (v2f_img i) : SV_T…

Unityシェーダー - 四角形を描く

四角形を描きます。 前回のstep関数を応用すればできそう。 float4 frag_test (v2f_img i) : SV_Target{ float d = step(i.uv.x, 0.2) + step (0.8, i.uv.x) + step(i.uv.y, 0.2) + step (0.8, i.uv.y); return d;} 四角形の周囲の領域 (x <= 0.2 || x >= 0.…

Unityシェーダー - 黒い円を描く

シェーダーで下記のような黒い円を描きます。 前回、下記のような画像を作成したので、それを応用して距離が一定の閾値内は黒、それ以上は白にすればできそう。 最初に思いつたコードはこれでしたが、エラーになりました。数字のfloatを表すfはいらないらし…

Unityシェーダー - float4とは?

C#だと見慣れない float4 って何? 調べてみると float4 はベクトル型らしいです。 ベクトル型 (DirectX HLSL) 2 つの部分で構成される単一の名前。1 つめの部分では、スカラー型のいずれかを指定します。2 つ目の部分では、成分の数を指定します。その値は …

Unityシェーダーお絵描き入門 - 中心に向かって色を黒くする

今日はDistanceを使ったお絵描き! docs.google.com 前回のfrag_testの中身をこういう感じに書き換えると float4 frag_test (v2f_img i) : SV_Target { float d = distance(float2(0.5, 0.5), i.uv); return d; } こうなる。 distanceは中心座標(0.5, 0.5)…

Unityシェーダーお絵描き入門 - 板ポリの色を変える

楽しいというワードに魅かれて、これをやってみようかと思います。 docs.google.com 「適当な板ポリを置いてその上に絵を描く」をやってみます。 Quadを作った Mesh Renderer が Default-Material になっているので、 右クリック -> Create -> Material でこ…

HLSLシェーダーの魔導書 - 第1章

Windows PCを購入したので、DirectX12の魔導書と並行してHLSLシェーダーの魔導書も読み始めた。DirectX12の魔導書のほうはお風呂で読む感じで、こちらはPCで実装しながら覚えていく感じにしようかと。 動作環境の要件としてGeForce GTX 1060 もしくは GeForc…

DirectX12の魔導書 - 第5章/第6章

第5章「ポリゴンにテクスチャを貼り付ける」 何かするたびにバッファーを確保してる気がする 第6章「行列による座標変換」 最初のほうこそ、行優先/列優先の座標変換の話だが、途中から定数バッファーの話になる とりあえず買ったからにはざっとでも全部読む…