カリング (Culling)

  • Back表面のみレンダリングする (デフォルト)
  • Front裏面のみレンダリングする
  • Off両面をレンダリングする

参考:

カリング制御可能な標準シェーダーを作る | Kludge Factory

Culling と Depth Testing | Unity 2018.4 マニュアル [公式]

透過/半透明シェーダー

こちらのページを参照

参考:

Unity フラグメントシェーダーで背景を透過してみる | マカロン

スタンダードシェーダーで モデルを綺麗に半透明表示する – Qiita

3D モデルの半透明をキレイに表示するシェーダを実装する | コガネブログ

Unlit Shader の要素を全て解説 | アマガミナブログ

デプスバッファ/デプステスト (Depth Testing)

参考:

オブジェクトが重なった部分をくり抜く | おもちゃラボ

カメラから見た深度を描画する | LIGHT11

Culling と Depth Testing | Unity 2018.4 マニュアル [公式]

キューブマップ

参考:

Unity のシェーダーでキューブマップを描画するには | 3DCG school

Replaced Shaders

Replacement Shader タグ
  • Opaque
  • Transparent
  • TransparentCutout
  • Background
  • Overlay
  • TreeOpaque
  • TreeTransparentCutout
  • TreeBillboard
  • Grass
  • GrassBillboard

参考:

Replaced Shaders でのレンダリング | Unity 2019.4 マニュアル [公式]

何も描画しないシェーダーを作る

Shader "Custom/Void" { SubShader { ColorMask 0 Zwrite Off Pass {} } }
Code language: Arduino (arduino)

参考:

何もしない透明な Unity シェーダー/不要パーツを消す | 佐藤敏

すりガラス風

参考:

すりガラスの軽量表現 | Tsumiki Tech Times

トーンマップを適用する

参考:

ポストプロセスを使わずにトーンマッピングをする | Tsumiki Tech Times

トーンマップいろいろ | 下町のナポレオン

global keywords exceeded エラー

現象:

シェーダーキーワードを制限以上に使用しているため一部のキーワードが無視される旨のエラーが発生する。

Maximum number (256) of shader global keywords exceeded, keyword _XXX will be ignored. You will have to delete some shaders or make them use less keywords.

対処法:

  • 使用していないシェーダーあるいはキーワードをプロジェクトから取り除く。
  • グローバルキーワードの代わりにローカルキーワードを使用する。
  • キーワードを固定化 (ベイク) する。
  • 「Shader Control」アセットを使って対処する。

参考:

Maximum number (256) of shader global keywords exceeded, keyword will be ignored and black materials – Unity Forum

Maximum number (256) of shader keywords exceeded – Unity Forum

Maximum number (256) of shader global keywords exceeded – Unity Forum

Maximum number (256) of shader keywords exceeded and materials are pink – Unity Forum

The “Maximum number (256) of shaders” error – Unity Forum

Shader keyword limit – Unity Forum

Maximum number (256) of shader global keywords exceeded, keyword _DISTORTION_ON will be ignored. You will have to delete some shaders or make them use less keywords. – Unity Answers

Maximum number (256) of shader global keywords exceeded, keyword Unity – Stack Overflow

発光

参考:

Glow っぽいシェーダを書いてみた – Qiita

サンプラー

参考:

tex2D でミップマップをサンプリングする際に端にノイズが出る | しゅみぷろ

サンプラー状態の利用 | Unity 2019.4 マニュアル [公式]

TEXCOORD

参考:

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

Particle System の Custom Vertex Streams と Custom Data の使い方まとめ | LIGHT11

Blend

参考:

Blend を試してみる – Qiita

Texture Combiners

参考:

Texture Combiners を理解する | Unity な日々

Texture Combiners | Unity 2019.4 マニュアル [公式]

テッセレーション (Tessellation)

DirectX 11 Watertight Adaptive Tessellation

頂点アニメーションテクスチャ/VAT シェーダー

参考:

Unity のシェーダー開発方法のまとめと備忘録/頂点アニメーションテクスチャ (VAT) シェーダー – Qiita

ディザリング

  • _DitherMaskLOD2D

参考:

ビルトインのディザ抜き用テクスチャを取得する | LIGHT11

スクリーンスペースブーリアン

参考:

Unity でスクリーンスペースのブーリアン演算をやってみた | 凹みTips

GLSL を移植する

参考:

Unity に GLSL (サーフェスシェーダー) を書く方法 | すだちキャンパス

パフォーマンス

旧シェーダーのパフォーマンス

およそ次の順序で描画負荷が高くなる。

  • Unlit
  • VertexLit
  • Diffuse
  • Normal mapped
  • Specular
  • Normal Mapped Specular
  • Parallax Normal mapped
  • Parallax Normal Mapped Specular

参考:

Unity シェーダーのパフォーマンス | Unity マニュアル [公式]

シェーダーを書く場合のパフォーマンスのヒント | Unity マニュアル [公式]

アルファテスト (Alpha Testing)

**LEGACY**

参考:

旧 Alpha Testing | Unity 2019.4 マニュアル [公式]

カラーマスク (ColorMask)

参考:

Pass | Unity 2019.4 マニュアル [公式]

旧シェーダー

Standard Shader が導入される以前に使用されていた各用途毎に個別に記述されたシェーダー。

ファミリー
法線シェーダー
透明シェーダー

参考:

旧シェーダーコード | Unity マニュアル [公式]

Shader Tutorials (Ronja)

リンク:

Shader Tutorials by Ronja

リポジトリ:

ronja-tutorials/ShaderTutorials: Unity Shader Tutorials – GitHub

参考:

ボロノイノイズによるステンドグラスシェーダを実装できる Shader Tutorials 紹介 | コガネブログ

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

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA