導入

参考:

Unity で PBR なライティング環境をセットアップしてみよう | SEGA TECH Blog

The Beginner’s Guide to Physically Based Rendering in Unity | Treehouse Blog

概要

参考:

アーティストの為の PBR 再入門 | Unity Learning Materials [公式]

アーティストの為の PBR 再入門 – SlideShare

スタンダードシェーダー

レンダリングモード (Rendering Mode)
  • 不透明 (Opaque)全体が不透明なマテリアルを描画する
  • カットアウト (Cutout)切り抜き/アルファ値が閾値より大きい部分のみを切り抜いて描画する
  • 透明 (Transparent)アルファ値に応じてマテリアルを半透明に描画する
  • フェード (Fade)アルファ値に応じて描画を背景に溶け込ませる
メインマップ (Main Maps)
  • アルベド (Albedo)
    • アルファカットオフ (Alpha Cutoff)
  • メタリック (Metallic)
  • スムースネス (Smoothness)
    • ソース (Source)
      • メタリックアルファ (Metallic Alpha/デフォルト)
      • アルベドアルファ (Albedo Alpha)
  • 法線マップ (Normal Map)
  • ハイトマップ (Height Map)
  • オクルージョン (Occlusion)
  • 詳細マスク (Detail Mask)
  • 放出 (Emission)
    • 色 (Color)
    • グローバルイルミネーション (Global Illumination)
      • リアルタイム (Realtime)
      • ベイク (Baked/デフォルト)
      • なし (None)
  • タイリング (Tiling)
  • オフセット (Offset)
セカンダリーマップ (Secondary Maps)
  • 詳細アルベド (Detail Albedo)
  • 法線マップ (Normal Map)
  • タイリング (Tiling)
  • オフセット (Offset)
  • UV セット (UV Set)
    • UV0 / UV1 (デフォルトUV0)
フォワードレンダリングオプション (Forward Rendering Options)
  • スペキュラーハイライト (Specular Highlights/デフォルト有効)
  • リフレクション (Reflections/デフォルト有効)
詳細オプション (Advanced Options)
  • レンダーキュー (Render Queue)
  • GPU インスタンシングを有効にする (Enable GPU Instancing/デフォルト無効)
  • 両面グローバルイルミネーション (Double Sided Global Illumination/デフォルト無効)
こちらのページを参照

ドキュメント:

スタンダードシェーダー | Unity マニュアル [公式]

マテリアルパラメーター | Unity マニュアル [公式]

レンダリングモード | Unity マニュアル [公式]

セカンダリマップ/詳細マップ & 詳細マスク | Unity マニュアル [公式]

マテリアル

ドキュメント:

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

マテリアルチャート | Unity マニュアル [公式]

マテリアルバリデーター

ドキュメント:

物理ベースのレンダリングマテリアルバリデーター | Unity マニュアル [公式]

テクスチャ

参考:

物理ベースレンダリング (PBR) のテクスチャは実際どのようなテクスチャなのか | tkmkrocket_tech

アルベド/透明度 (Albedo / Transparency)

ドキュメント:

アルベドカラーと透明度 (Transparency / Albedo) | Unity マニュアル [公式]

メタリック (Metallic)

メタリックテクスチャ

メタリック用のテクスチャは R チャンネルにメタリック値を格納し、アルファチャンネルにスムーズネスを格納する。

  • Rメタリック
  • G / B不使用
  • Aスムーズネス

ドキュメント:

メタリックパラメータ (Metallic) | Unity マニュアル [公式]

参考:

PBR マテリアルのメタリックとラフネスのパック処理 | Shade3D チュートリアル

スムーズネス (Smoothness)

ドキュメント:

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

参考:

テクスチャを用いた Smoothness 設定方法 | 灰藍堂

フレネル反射

スタンダードシェーダーではフレネル反射の強度を直接調節するパラメータは存在しない。スムースネスに応じて、自動的に調節される。

ドキュメント:

フレネルエフェクト | Unity マニュアル [公式]

参考:

フレネル反射の実装 | LIGHT11

フレネル反射と金属 | LIGHT11

法線マップ/ノーマルマップ (Normal Map)

参考:

法線マップ (Normal Map / Bump Mapping) | Unity マニュアル [公式]

ハイトマップ (Height Map / Parallax Mapping)

明度が高さに相当するグレースケールのテクスチャにより視差マッピングを適用する。

参考:

ハイトマップ | Unity マニュアル [公式]

オクルージョンマップ (Occlusion Map)

オクルージョンをベイクしたテクスチャによりアンビエントオクルージョン (Ambient Occulusion / AO) を上乗せする。

参考:

オクルージョン マップ | Unity マニュアル [公式]

スペキュラーモード (Specular Setup)

「メタリック」 (Metallic) パラメーターの代わりに「スペキュラー」 (Specular) パラメーターを使用してマテリアルを設定する。スペキュラーパラメーターはスペキュラー反射の強度と色をコントロールする。スペキュラー反射を直接的に指定したい場合にメタリックモード (Metallic Setup) の代わりに使用される。

「スムースネス」 (Smoothness) パラメーターはスペキュラー効果の明瞭さをコントロールする。スムースネスが低いとスペキュラー反射は拡散してぼやけて見え、スムースネスが高いと鮮明ではっきりとしたスペキュラー反射が現れる。

参考:

Specular パラメーター | Unity マニュアル [公式]

Metallic と Specular のワークフロー | Unity 2018.4 マニュアル [公式]

シェーダーを作成する

参考:

PBR シェーダを Unity で実装する | LIGHT11

PBR (物理ベースレンダリング) をやってみる – Qiita

仕組み

参考:

物理ベースレンダリングとは? | LIGHT11

鏡面反射 BRDF/拡散反射 BRDF | LIGHT11

物理ベースレンダリングを柔らかく説明してみる 4 – Qiita

照度/露出を調整する

参考:

Unity で、PBR なライティング環境をセットアップしてみよう | SEGA TECH Blog

GGX

公式サイト:

GGX を Unity 5.3 で導入しました | Unity Blog [公式]

参考:

Replacing Blinn-Phong by GGX | Graphics Development & Unity3D

Using GGX instead of Blinn-Phong – Unity Forum

パフォーマンス

参考:

モバイルゲーム開発における PBR の適用性 – Qiita

Unity Learn

Creating Physically Based Materials | Unity Learn [Official]

Shadergraph: PBR Material | Unity Learn [Official]

チュートリアル

Photorealistic Materials in Unity!

PBR Workflow in HD Render Pipeline

High Quality PBR Materials in HDRP

PBR in Unity

Alloy

動画:

Crash Course v3

公式サイト:

Alloy – Physically Based Shading for Unity | RUST LLC [Official]

リポジトリ:

Josh015/Alloy: Alloy Physical Shader Framework for Unity – GitHub

ドキュメント:

Documentation – Alloy | RUST LLC

フォーラム:

Alloy – Physical Shader Framework | Unity Forum

参考:

Alloy 4.3.0 for Unity 2017.3 is live on the Asset Store and Github (Deleted User) – Unity Forum

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

コメントを残す

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

Protected by reCAPTCHA