次の項目は別ページに分割しました。
シェーダー
シェーダーアセットの種類
- スタンダードシェーダー:基本的な物理ベースシェーディング (PBS) を行うシェーダー
- ビルトインシェーダー:Unity エディターに付属しているシェーダー
- シェーダースクリプト (ShaderLab):スクリプトを使用して作成するシェーダー
- サーフェスシェーダー
- 頂点シェーダー/フラグメントシェーダー
参考:
マテリアル
参考:
マテリアルの作成と使用 | Unity マニュアル [公式]
使い方
参考:
Unity のマテリアルとシェーダー | ゲームの作り方!(dkrevel.com)
概要
参考:
入門
参考:
7日間でマスターする Unity シェーダ入門 | おもちゃラボ
スタンダードシェーダー (Standard Shader)
一般的な用途で必要な機能を包括的に併せ持ったシェーダー。物理ベースのライティングに基づくレンダリングを行う。HDR 表現が可能。
参考:
Standard Shader | Unity マニュアル [公式]
Unity で HDR レンダリング | Unity マニュアル [公式]
Albedo カラーと Transparency (透明度) | Unity マニュアル [公式]
ビルトインシェーダー
参考:
内蔵シェーダのソースコード | nakamura001 @ウィキ (atwiki.jp)
TwoTailsGames/Unity-Built-in-Shaders: Unity Built in Shaders – GitHub
旧シェーダー (Legacy Shaders)
参考:
TwoTailsGames/Unity-Built-in-Shaders/DefaultResourcesExtra – GitHub
Unlit シェーダー
ライティングの影響を受けないシェーダー
- Unlit/Alpha
- Unlit/Color
- Unlit/Texture
- Unlit/Transparent:半透明 (テクスチャの RGB がベースカラーとなり、アルファチャンネルが透過率を表す)
- Unlit/Transparent Cutout:カットアウト (アルファチャンネルが閾値以下のピクセルが完全に透過となる)
参考:
UnlitShader の要素を全て解説 | アマガミナブログ
Photogrammetory で使える Unlit だけど影を落とすシェーダー | STYLY
内蔵シェーダのコード解説 Unlit/Texture | 強火で進め
内蔵シェーダのコード解説 Unlit/Transparent | 強火で進め
内蔵シェーダのコード解説 Unlit/Transparent Cutout | 強火で進め
透過/アルファ
参考:
アルファとアルファテスト | Tsumiki Tech Times
Unlit/Transparent でアルファ値を外から設定したいシェーダー – Qiita
Unlit/Transparent シェーダーの全文解説 alpha 値を設定できるようにしてみた | miyakolog
ノーマルマップ
参考:
Unity でノーマルマップ (Normal) を作成する | Unity + UnrealEngine4 + Blog. (nabesi777.hatenablog.com)
Blender・Unity を用いたノーマルマップ (法線マップ) の作成、適用手順 | XR-Hub
法線マップ (Normal Map / Bump mapping) | Unity マニュアル [公式]
Emission
参考:
Fragment Shader に Emission を適用する – Qiita
How to add emission map to this shader – Unity Forum
シームレステクスチャ
参考:
Seamless texture shader unlit query | Unity Forum
Tiling of a material, independen of its size – Game Development Stack Exchange
フラットシェーディング
参考:
フラットシェーディングでローポリっぽく見せる | おもちゃラボ
窓の領域のみオブジェクトを描画する
参考:
HoloLens で向こう側が見える窓を動的に追加してみる | 凹みTips
両面描画/ポリゴン裏面の表示/非表示 (Backface Culling)
- 単純な葉っぱの裏側を描画するには、Unity 標準の「Nature/Tree Soft Occlusion Leaves」を使う。
- Standard シェーダーを複製して
Cull Off
の記述を追加したシェーダーを作成する。 - Free Double Sided Shaders
参考:
裏面も表示する | Shade3D チュートリアル (tutorials.shade3d.jp)
ShaderLab: Culling と Depth Testing | Unity 2018.4 マニュアル [公式]
double sided material – Unity Forum
Backface culling in Unity – Unity Forum
How make visible the back face of a Mesh – Unity Answers
Backface culling from blender to unity – Blender Stack Exchange
プレハブインスタンスのマテリアル (Prefab Instance)
参考:
インスタンスのマテリアルを変更する | naru design devlog
スクリプトから Material をオブジェクトごとに変更 | はらけんログ
prefab で生成した複数のオブジェクトの色を分ける方法 | teratail
丸影を描画する
参考:
ちょっとしたシェーダーテクで丸影のドローコール削減してみた | ケットシーウェア
アウトラインシェーダー
参考:
Unity の UniversalRP でエッジ検出 | hadashiA
カメラからの深度情報を用いてアウトラインを描画する | LIGHT11
より低負荷なエッジ抽出方法 4点サンプリング法 | LIGHT11
Outline Shader | Alexander Ameye
Unity Outline Shader Tutorial | Roystan
2D Outlines in Shader Graph and URP | Daniel Ilett
LWRP Outline Shader | Unity Forum
SDF
参考:
ComputeShader でランタイムに SDF マップを生成するエクスペリメント | KAYAC engineers’ blog
MaterialPropertyBlock
参考:
続・スクリプトから Material をオブジェクトごとに変更 MaterialPropertyBlock 編 | はらけんログ
マテリアルや SetPass を増やさずテクスチャの UV を変える | テラシュールブログ
Embedded Materials
参考:
Blender からインポートしたモデルのマテリアル設定方式について | ゴマちゃんフロンティア
Unity でマテリアルが変更できない時 | Sirohood
Materials Tab | Unity Manual [Official]
複数のゲームオブジェクトにまとめてマテリアルを設定する
参考:
Unity の C# でまとめて Gameobject の Shader 変更・コライダー追加 | STYLY Developer’s Blog
ImmediateWindow で複数の Material の設定を一括更新してみる | テラシュールブログ
Assign material to multiple objects – Unity Answers
Setting multiple materials from script – Unity Forum
ノーマルマップを作成する
参考:
Creating Normal Maps for Unity in Blender – YouTube
PBR テクスチャ
参考:
PBR マテリアルのテクスチャは実際どのようなテクスチャなのか | tkmkrocket_tech
Autodesk Interactive シェーダー
旧 Standard Roughness setup シェーダー
参考:
Standard (Roughness setup) を探しているあなたへ – Unity Connect
What happened to the ‘Standard (Roughness)’ shader? – Unity Forum
TwoTailsGames/Unity-Built-in-Shaders/AutodeskInteractive.shader – GitHub
非均一なスケーリング
参考:
Handle Uniform Non-Uniform scale in a shader? | Unity Forum
比較
参考:
キャラクターのシェーダー比較(standard / Unlit / Mtoon / Cubed / UnitychanToon) | トマシープが学ぶ
パフォーマンス
参考:
Unity シェーダーのパフォーマンス | Unity マニュアル [公式]
アセットバンドル (AssetBundle)
参考:
AssetBundle に格納した Scene や Prefab がピンクになる問題 | テラシュールブログ
Shaders are pink when loaded from an AssetBundle – Unity Support
RenderDoc
参考:
RenderDoc の統合 | Unity マニュアル [公式]
マテリアルがピンク色になって正常に表示されない
参考:
Materials are pink | Unity Forum
How to fix the pink materials in a Lightweight Render Pipeline project in Unity? | reddit
エラー
参考:
hidden/internal Error Shader – Unity Answers
Missing になったマテリアルを検出する
参考:
Unity で Renderer のマテリアルが missing かどうか判定する | 生存日記 (spphire9.wordpress.com)
URP
- Lit
- Simple Lit
- Baked Lit
- Unlit
- Particles Lit
- Particles Simple Lit
- Particles Unlit
- SpeedTree
- Autodesk Interactive
- Autodesk Interactive Transparent
- Autodesk Interactive Masked
参考:
Shaders and Materials | Universal RP 7.1 Manual [Official]
まとめ
参考:
シェーダに関するオススメ記事まとめ 120個 | コガネブログ
Procedural Stochastic Texturing
参考:
Unity の確率論的プロシージャル・テクスチャー生成 | Unity Technologies Blog [公式]
UTS_EdgeDetection
カメラに付与するポストプロセス型の輪郭抽出エフェクト。
参考:
Unity の UTS_EdgeDetection でアウトラインを表示する。- Qiita
視差オクルージョンマッピング (Pallax Occlusion Mapping)
参考:
coposuke/PallaxOcclusionMapping: 視差オクルージョンマッピング – GitHub
視差オクルージョンマッピング (parallax occlution mapping) | コポうぇぶろぐ
Shader HotSwap
参考:
Shader HotSwap – Remote Shader Debugging | Unity Asset Store [Official]