Shader

【Unity】【レイトレ】Unityでレイトレーシング入門① 球を表示してライティングする

レイトレーシングの概念を理解するためにUnityでレイトレしてみます。 今回は球を表示して簡単なライティングを行うところまで実装します。

【Unity】【シェーダ】ライトの方向を考慮したリムシェーダ

ライトの方向を考慮したリムシェーダを書いてみます。

【Unity】Unityでポストエフェクト入門!二つの実装方法とメリット・デメリットを紹介

Unityにおけるポストエフェクトは二つの実装方法が混在していてどちらを使えばいいのか少しわかりづらいです。 この記事ではUnityでポストエフェクトを掛ける二つの方法とそれぞれのメリット・デメリットを紹介します。

【Unity】Surface Shaderの基本を総まとめ!難しい計算はUnity任せでサクッとシェーダ作成

UnityのSurface Shaderを使うと、簡単にシェーダが作成できます。 複雑なライティング計算はUnityが用意したものを使うことができるので、 表面の色や材質を定義するだけでシェーダが出来上がります。

【Unity】Shader Graph入門 - プログラミングなしでお手軽シェーダ作成

ノードベースで簡単にシェーダを作ることができるShader Graphの使い方をまとめました。

【Unity】【シェーダテクニック】距離を表すグラデーションテクスチャを使った無限ループアニメーション

距離を表すグラデーションテクスチャを使ってこのようなアニメーションを作ります。 テクスチャを変えるだけでいろんなアニメーションが作れます。

【Unity】【シェーダ】シェーダで扱う関数のインライン化とそのメリット・デメリット

シェーダで扱う関数のインライン化とそのメリット・デメリットについてまとめました。

【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ファイルをインクルードして使う方法です。