rn.log

備忘録など

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

【シェーダーグラフメモ その58】XOR演算を利用した市松模様

はじめに XOR演算を利用して、市松模様を作る方法を紹介します。 市松模様 今回はワールド座標のX,Z成分から市松模様を作ります。 目次 はじめに 目次 環境 市松模様の作り方 XORについて シェーダーグラフ実装 シマシマを作る 結果 ShaderGraphにXOR演算は…

【Unity】シャドウマッピングについて

はじめに Unityのシャドウマッピングについて、調べてみたものをまとめてみようと思います。 はじめに 環境 シーンに光源を置いてみる シャドウマップ シャドウマップのベイク シャドウマップを利用した影の判定 FrameDebugger で シャドウマップを見てみる …

【Unity】Linearワークフロー と Gammaワークフローについてまとめてみる

はじめに UnityのLinearワークフローとGammaワークフローについて、軽くまとめてみようと思います。 環境 Unity2020.2.0f1 Universal RP 10.2.2 問題 突然ですが、ここで問題です。 フラグメントシェーダーで 0.5 ( RGB = (128, 128, 128 ) ) という色を返し…

【Compute Shader メモ 2】中心差分法を利用してノーマルマップを作る

はじめに Compute Shader で何かを作るシリーズ 第二弾!今回は、Compute Shader で ノーマルマップ(法線マップ)を作ってみたいと思います。 実行結果 (1024x1024のハイトマップからノーマルマップを計算) ノーマルマップ(法線マップ)とは ノーマルマップと…

【Unity】メッシュの頂点カラーにColorを設定するとParticleSystemで色が壊れる話

はじめに Unity C# で作成したメッシュをParticleSystemで使用したとき、頂点カラーの表示が壊れました。 この現象の原因の考察・および回避方法をまとめようと思います。 ParticleSystemでメッシュを表示以下のような頂点カラーを設定すると、ParticleSyste…

【ComputeShader メモ 1】平均化フィルタで画像をぼかす

はじめに Compute Shader を理解したいと思い、簡単に実装できそうな 平均化フィルタ をCompute Shaderで実装してみました。 環境 Unity 2020.2.0f1 Universal RP 10.2.2 目次 はじめに 環境 目次 平均化フィルタの効果 平均化フィルタの仕組み 平均化フィル…

【ガンマ補正】sRGBテクスチャをRenderTextureに書き込むと表示が暗くなる話【Unity】

環境 Unity2020.2.0f1 Universal RP 10.2.2 はじめに sRGBのテクスチャをCompute Shaderでサンプリングし、 計算結果をRenderTexture(sRGB)へコピーすると、表示がなぜか暗くなるという不可解な現象に遭遇しました。 sRGBテクスチャをRenderTexture(sRGB)に…

【シェーダー】バイリニア補間で4色グラデーションを作る

はじめに シェーダーを使い、以下のような4色のグラデーションを作る方法を紹介します。 4色グラデーション 2色グラデーション x座標を使って二つの色を線形補間した場合、以下のような二色のグラデーションを作ることができます。 2つの色を線形補間vec3 c …

【Unity C#】エフェクト用のらせんメッシュを作る

はじめに お遊びで、エフェクト用のらせんメッシュをUnity C# で作ってみました。 今回の記事では、Unity C# でらせんメッシュを作る方法を解説したいと思います。 Unity C# で動的に作成したメッシュ ソースコード らせんメッシュのC#スクリプトは、GitHub…

【シェーダーグラフメモ その56】内積を使って任意方向のグラデーションを作る

はじめに 内積 を使って任意方向のグラデーションを作る方法を紹介します。 はじめに UV座標と2次元ベクトルの内積 = グラデーション 数式による解説 グラデーションの色の値 内積に使用するベクトルは正規化したほうが良い 3次元の内積 3次元座標とベクトル…