使い方

Unity のシェーダーアセットには以下のようなものがある。基本的な PBS (物理ベースシェーディング) を行う場合は Standard Shader を用いる。あるいは用途に応じて Unity エディターと共に提供されているビルトインシェーダーから選択して使用する。ShaderLab を使って独自のシェーダーを作成することもできる。

  • Standard Shader
  • ビルトインシェーダー
  • シェーダースクリプト (ShaderLab)
    • サーフェスシェーダー
    • 頂点シェーダー/フラグメントシェーダー

参考:

Unity のマテリアルとシェーダー | ゲームの作り方!(dkrevel.com)

シェーダーアセット | Unity マニュアル [公式]

マテリアル

参考:

マテリアルの作成と使用 | Unity マニュアル [公式]

入門

参考:

7日間でマスターする Unity シェーダ入門 | おもちゃラボ

Standard Shader

一般的な用途で必要な機能を包括的に併せ持ったシェーダー。物理ベースのライティングに基づくレンダリングを行う。HDR 表現が可能。

参考:

Standard Shader | Unity マニュアル [公式]

Unity で HDR レンダリング | Unity マニュアル [公式]

Smoothness | Unity マニュアル [公式]

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

ビルトインシェーダー

参考:

内蔵シェーダのソースコード | nakamura001 @ウィキ (atwiki.jp)

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

Unlit シェーダー

ライティングの影響を受けないシェーダー

  • Unlit/Alpha:
  • Unlit/Color
  • Unlit/Texture
  • Unlit/Transparent:半透明 (Base -RGB / Trans – A)
  • 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

Emission | Unity マニュアル [公式]

How to add emission map to this shader – Unity Forum

シェーダーを作成する

参考:

シェーダ入門 | コガネブログ

Unity のシェーダースクリプトについて | かめくめ

Unity のシェーダの基礎を勉強してみたのでやる気出してまとめてみた | 凹み Tips

Unity で Shader の勉強 その1 – Qiita

シェーダーによる色の変更、発光、光沢を持たせない設定 | @IT

シェーダーを書いてみよう! ShaderLab の簡単な書き方! | 侍エンジニア塾ブログ

シェーダーを書く | Unity マニュアル [公式]

ShaderLab と固定関数シェーダー – グラフィックスチュートリアル | Unity マニュアル [公式]

シェーダーリファレンス | Unity マニュアル [公式]

サーフェスシェーダーの記述 | Unity マニュアル [公式]

ShaderLab シンタックス | Unity マニュアル [公式]

プレハブインスタンスのマテリアル (Prefab Instance)

参考:

インスタンスのマテリアルを変更する | naru design devlog

スクリプトから Material をオブジェクトごとに変更 | はらけんログ

prefab で生成した複数のオブジェクトの色を分ける方法 | teratail

両面描画

参考:

double sided material – Unity Forum

丸影を描画する

参考:

ちょっとしたシェーダーテクで丸影のドローコール削減してみた | ケットシーウェア

アウトラインシェーダー

参考:

Outline Shader | AMEYE

2D Outlines in Shader Graph and URP | Daniel Ilett

MaterialPropertyBlock

参考:

続・スクリプトから Material をオブジェクトごとに変更 MaterialPropertyBlock 編 | はらけんログ

マテリアルや SetPass を増やさずテクスチャの UV を変える | テラシュールブログ

Embedded Materials

参考:

Blender からインポートしたモデルのマテリアル設定方式について | ゴマちゃんフロンティア

Unity でマテリアルが変更できない時 | Sirohood

Materials tab | Unity Manual [Official]

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

参考:

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

複数のゲームオブジェクトにまとめてマテリアルを設定する

参考:

Assign material to multiple objects – Unity Answers

Setting multiple materials from script – Unity Forum

ノーマルマップを作成する

参考:

Creating Normal Maps for Unity in Blender – YouTube

比較

参考:

Unity の Shader の種類 | NEAREAL

キャラクターのシェーダー比較(standard / Unlit / Mtoon / Cubed / UnitychanToon) | トマシープが学ぶ

パフォーマンス

参考:

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

エラー

参考:

hidden/internal Error Shader – Unity Answers

販売/配布

参考:

Crystal Shader (うにショップ) | BOOTH

ドキュメント

参考:

シェーダーリファレンス | Unity マニュアル [公式]

シェーダーアセット | Unity マニュアル [公式]

ShaderLab

参考:

ShaderLab シンタックス | Unity マニュアル [公式]

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

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 [Official]

まとめ

参考:

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

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

マテリアル

参考:

Light Weight Material Pack | Unity Asset Store [Official]

Shader Graph

参考:

Nodes for Shader Graph | Unity Asset Store [Official]

UBER

参考:

UBER – Standard Shader Ultra | Unity Asset Store [Official]

水面シェーダー

参考:

Water and Caustic Shaders | Unity Asset Store [Official]

Water Shader – Manga Style | Unity Asset Store [Official]

Cool Mobile Water | Unity Asset Store [Official]

PolyWater Shader | Unity Asset Store [Official]

Space Distortion

参考:

Cool Space Distortion | Unity Asset Store [Official]

Rendering Mask

参考:

Mobile Rendering Mask | Unity Asset Store [Official]

Bloom

参考:

Mobile Optimized Bloom | Unity Asset Store [Official]

Shader Pack

参考:

Mobile Shader Pack | Unity Asset Store [Official]

ユニティちゃんトゥーンシェーダー

参考:

ユニティちゃんトゥーンシェーダー 2.0 | UNITY-CHAN! OFFICIAL WEBSITE [公式]

unity3d-jp/UnityChanToonShaderVer2_Project: UnityChanToonShaderVer2 Project – GitHub

UTS2_Manual_ja.md – ユニティちゃんトゥーンシェーダー 2.0 マニュアル – GitHub

簡単設定!ユニティちゃんトゥーンシェーダーでアニメ調にする方法 | CG メソッド (cg-method.com)

How To Set Custom Render Queue into UTS2 materials – YouTube

MToon

参考:

Santarh/MToon: Toon Shader with Unity Global Illumination – GitHub

MToon | VRM (vrm.dev)

VRM フォーマットで使われる MToon シェーダーのキャラクターセットアップ – Qiita

LiliumToonGraph

参考:

you-ri/LiliumToonGraph: ShaderGraph が使える ToonShader (UniversalRP) – GitHub

URP Simplified Toon Lit Shader Example

参考:

ColinLeung-NiloCat/UnityURPToonLitShaderExample: A very simple toon lit shader example, for you to learn writing custom shader in Unity URP – GitHub

RealToon

参考:

RealToon | Unity Asset Store [Official]

Toony Colors

参考:

Toony Colors Pro 2 | Unity Asset Store [Official]

Parallax HUD Shader

参考:

Parallax HUD Shader テクスチャ素材付き (満天星躑躅だよ) | BOOTH

ImagineVR Pixelation Creator

参考:

ImagineVR Pixelation Creator | Unity Asset Store [Official]

視差オクルージョンマッピング (Pallax Occlusion Mapping)

参考:

coposuke/PallaxOcclusionMapping: 視差オクルージョンマッピング – GitHub

視差オクルージョンマッピング (parallax occlution mapping) | コポうぇぶろぐ

タグ:

コメントを残す

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