まとめ/Tips

シェーダチートシート | LIGHT11

Unity Shader まとめ | ゆにてく備忘録

Unity Shader 入門した頃の自分に教えたい事 – Qiita

シェーダースニペット集 | 黒鳥のメモ

UTS を読んでいた際の雑記 | ツクロウヤ

Unity の UI/Default シェーダーを見てみる | heppoko

Unity でのシェーダー開発に関するメモ – lilxyzw/Shader-MEMO – GitHub

Unity Shaders and Effects Cookbook – mebusy/notes – GitHub

Shader Code | Unify Community Wiki

ソースコード

ビルトインシェーダー/Standard Shader のソースコードを取得するには、「アーカイブ 」にアクセスして、該当するバージョンの「ダウンロード」ボタンをクリックして「ビルトインシェーダー」を選択する。

Download Archive

参考:

Unity の Standard シェーダーのソースコードを取得する | MR が楽しい

ビルトインのシェーダー include ファイル | Unity マニュアル [公式]

資料

Unity でシェーダを学ぶ時に参考した本とか – Qiita

シェーダー本を書いて得た知見まとめ – Qiita

カスタムシェーダーでモバイルでも最先端グラフィックスな格闘ゲームを! (Unite Tokyo 2018) – SlideShare

なぜなにリアルタイムレンダリング – SlideShare

リンク

シェーダに関するオススメ記事まとめ 120個 | コガネブログ

無料のオススメシェーダまとめ 110個 | コガネブログ

テキスト/解説

入手:

Unity シェーダープログラミングの教科書 ShaderLab 言語解説編 | 染井吉野ゲームズ

ライティング

参考:

Cg でのライティングについてメモ – Qiita

デフォルトの Diffuse ライティングをカスタムシェーダで実装する – Qiita

Forward Rendering についてまとめてみた | しゅみぷろ

Forward Rendering で複数のライトを取り扱う | LIGHT11

Unity で Forward のライトに対応した Lambert 反射モデルのシェーダを作成する | 測度ゼロの抹茶チョコ

Diffuse/拡散反射 | KENTO

Directional Light、環境光を反映する | KENTO

頂点シェーダー内でライト方向を取得する方法 | 渋谷ほととぎす通信

理想的な陰影をつけるトゥーンシェーダ – Qiita

ディレクショナルライトの回転値 xyz をそれぞれ取得したい – teratail

Writing Multi-Light Pixel Shaders in Unity | Kyle Halladay

CGIncludes/Lighting.cginc – TwoTailsGames/Unity-Built-in-Shaders – GitHub

仕組み

参考:

Forward – Unity で Standard Surface Shader の変換後のコードを追ってみた | 凹みTips

Deferred – Unity で Standard Surface Shader の変換後のコードを追ってみた | 凹みTips

フレネル反射

参考:

フレネル & セルによるアニメ調シェーダー – Qiita

海洋シェーダ/海の色 | 空の缶詰

アンビエントオクルージョン (Ambient Occlusion)

参考:

ライトマップを再利用して遮蔽箇所の反射を抑える | Tsumiki Tech Times

ベベルシェーダー

参考:

Mobile-Friendly Bevel Shader | Iurii Selinnyi

雪シェーダー

参考:

禍つヴァールハイトで実装された雪シェーダーを紹介します – Qiita

CGIncludes

リポジトリ:

CGIncludes – TwoTailsGames/Unity-Built-in-Shaders – GitHub

undeclared identifier sampler_CameraDepthTexture エラー

対処法:

_CameraDepthTexture のサンプラーをマクロを使って定義する。

sampler2D _CameraDepthTexture;

と書かれた行を次のように修正する。

UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture);

参考:

サンプルプロジェクトを Oculus Go 向けにビルドするときのエラーに関して · Issue #3 · unity3d-jp/UnityChanToonShaderVer2_Project – GitHub

[XR][Android] Image effects are not rendering properly with single-pass – Unity Issue Tracker

OpenGLES3 fails to compile shaders Hidden Post FX for Android in Unity 2018.2 – Unity Answers

vertex and fragment programs must be present エラー

現象:

頂点シェーダー及びフラグメントシェーダーが含まれていない旨のエラーが発生する。

Both vertex and fragment programs must be present in a shader snippet.

対処法:

頂点シェーダー及びフラグメントシェーダーの宣言を追加する。

#pragma vertex vert
#pragma fragment fragCode language: Arduino (arduino)

参考:

cannot solve this error : “Both vertex and fragment programs must be present in a CGPROGRAM” – Unity Forum

unexpected TOK_GPUPROGRAMID エラー

現象:

構文エラーが発生して正常にコンパイルできない。

Parse error: syntax error, unexpected TOK_GPUPROGRAMID, expecting TOK_SETTEXTURE or '}

原因:

CGPROGRAM あるいは HLSLPROGRAM を挿入する位置が間違っている。

対処法:

CGPROGRAM あるいは HLSLPROGRAM で記述するコードを正しい位置に移動させる。

参考:

シェーダーエラー Parse error: syntax error, unexpected TOK_PASS, expecting TOK_SETTEXTURE or ‘}’ – Qiita

What does this mean ? Unexpected TOK_PASS, expecting TOK_SETTEXTURE – Unity Forum

Material property is found in another cbuffer エラー

現象:

プロパティが適切な定数バッファに存在しない旨のエラーが発生する。

Material property is found in another cbuffer than "UnityPerMaterial" (_PropertyName)

対処法:

CBUFFER_START 及び CBUFFER_END を用いて、プロパティを適切な定数バッファグループ内に宣言する。

CBUFFER_START(UnityPerMaterial)
    float4 _ColorProperty;
    float _ScalarProperty;
CBUFFER_ENDCode language: Arduino (arduino)

ドキュメント:

定数バッファマクロ | Unity マニュアル [公式]

参考:

意外と難しかった SRP Batcher 対応 | Nyahoon Games Pte. Ltd.

SRP Batcher について勉強してみる | かもそば

SRP Batcher が有効な URP 向けのシェーダを書く | e.blog

URP shader warning: Material property is found in another cbuffer than “UnityPerMaterial” – Unity Forum

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA