Shader

【Unity】【シェーダ】Matcapにノーマルマップを適用する

Matcapにノーマルマップを適用する方法です。

【Unity】Fogの使い方・シェーダの書き方(Forwardレンダリング)

UnityのFowardRenderingにおけるFogの設定方法と、カスタムシェーダの書き方です。

【Unity】【シェーダ】MaterialPropertyBlockの使い方

MaterialPropertyBlockの使い方です。

【Unity】Post Processingで自作のポストエフェクトを実装する

自作のポストエフェクトをPost Processingのカスタムエフェクトとして実装する方法です。

【Unity】【シェーダ】地面にキューブマッピング&ノーマルマッピングすると見えちゃいけないところが見えちゃう件

地面にキューブマッピング&ノーマルマッピングすると、反射するはずのないキューブマップの下半分が映り込んでしまいます。 その原因の解説と解決方法の記事です。

【Unity】cgincにはAssetBundle名を付けないと更新が反映されない話

AssetBundleから参照されるcgincファイルにはAssetBundle名をつけないとcgincの更新が反映されない現象と対応方法です。 2019/2/20追記 準備 問題点 解決方法

【Unity】【シェーダ】別階層のcgincを変更してもそれをincludeするシェーダがコンパイルされない件(Unity2017)

別階層のcgincを変更してもそれをincludeするシェーダがコンパイルされない(されなかった)話です。 Unity2018では修正されているようなのでこれから直面する方は少ないと思いますが一応。

【Unity】【シェーダ】ノーマルマップをフローマップで流す

ノーマルマップをフローマップで流す方法です。

【Unity】【シェーダ】2つのノーマルマップをブレンド率を指定して合成する

2つのノーマルマップをブレンド率を指定して合成する方法です。

【Unity】【シェーダ】フレネル反射と金属

金属におけるフレネル反射の考え方とシェーダにおける実装についてまとめました。

【Unity】【エディタ拡張】HDRテクスチャをLDRにエンコードするウィンドウ

エディタ拡張でHDRテクスチャをLDRにエンコードするウィンドウを作る方法です。

【Unity】MVP行列による座標変換の概念と用語の整理

Uniteのクォータニオン完全マスターの動画を見ていたら座標変換の説明がとてもわかりやすかったので、 復習と用語の整理を兼ねてまとめてみました。

【Unity】【シェーダ】ノーマルマッピング+キューブマッピング

ノーマルマッピングとキューブマッピングを組み合わせたシェーダの実装方法です。

【Unity】【シェーダ】フラグメントシェーダで接空間<->ワールド空間変換

フラグメントシェーダで接空間<->ワールド空間変換する方法です。

【Unity】【シェーダ】シェーダ共通化テクニックまとめ

シェーダコードは一般的にプロジェクトの規模が大きいほど共通化の重要性が増しますが、 共通化のために知っておかなければいけない知識がそれなりにあるのでまとめました。

【Unity】【シェーダ】使用するTEXCOORDをマテリアルから指定できるようにする

使用するTEXCOORDをマテリアルから指定できるようにする方法です。

【Unity】【シェーダ】シェーダプロパティ用のアトリビュートを自作するMaterialPropertyDrawer

シェーダプロパティ用のアトリビュートを自作するMaterialPropertyDrawerの使い方です。

【Unity】【シェーダ】【エディタ拡張】KeywordEnumがスクリプトから扱いづらい問題とその解決案

KeywordEnumがスクリプトから扱いづらい問題とその解決案です。

【Unity】【シェーダ】【エディタ拡張】BlendModeをインスペクタから指定する

MaterialのInspectorでブレンドモード(加算とか乗算とか)を選べるようにしてみます。

【Unity】【シェーダ】shader_featureやmulti_compileでシェーダのバリアントを作る

shader_featureやmulti_compileでシェーダのバリアントを作る方法です。

【Unity】【シェーダ】RenderQueueやRenderTypeをスクリプトから変更する

RenderQueueやRenderTypeをシェーダの外側から、つまりスクリプトから変更する方法です。

【Unity】【シェーダ】UsePassで他のシェーダのパスを使う

UnityのシェーダでUsePassにより他のシェーダのパスを使う方法です。

【Unity】【シェーダ】シェーダでcgincファイルをインクルードして使う

シェーダでcgincファイルをインクルードして使う方法です。

【Unity】【シェーダ】シェーダでマクロを使う

シェーダでマクロを使う方法です。

【Unity】Radial Blur(放射状ブラー)のポストエフェクト

シンプルなRadial Blurのポストエフェクトです。

【Unity】【シェーダ】GrabPassを使って歪みシェーダを作る

GrabPassを使った歪みを表現するシェーダの実装方法です。

【Unity】【シェーダ】GrabPassを使って屈折シェーダを作る

GrabPassを使った屈折を表現するシェーダの実装方法です。

【Unity】【シェーダ】refract関数の使い方と屈折率について

refract関数の使い方と屈折率についてです。

【Unity】【シェーダ】GrabPassの説明とシェーダの実装例

GrabPassの説明とシェーダの実装例です。

【Unity】【シェーダ】使っていないけどシリアライズされてしまっているシェーダプロパティを削除する

Unityでシェーダを切り替えると、切替前のシェーダのプロパティがマテリアルにシリアライズされたままになります。 つまりシェーダを切り替えまくると無駄なプロパティによりマテリアルのファイルサイズが大きくなっていきます。 この記事ではこれを解消する…