公式サイト:

シャドウ | Unity マニュアル [公式]

概要

参考:

ルックデヴ講座 ライトシャドウ編 | ギャップロ

光と影 (PDF) | しずおかアプリ部

使い方

参考:

リアルタイムシャドウをちゃんと理解して影を正しく描画する | LIGHT11

設定

  • 解像度 (Resolution)
    • Use Quality Settings (Default)
    • Low Resolution
    • Medium Resolution
    • High Resolution
    • Very High Resolution
スポット (Spot)
  • 角度 (Spot Angle) を絞る
ディレクショナル (Directional)
  • 影を描写するカメラからの距離 (Shadow Distance) を適切な範囲に絞る
  • カスケード (Shadow Cascades) を4段に設定する
ポイント (Point)
  • 光源をオブジェクトに近付ける

参考:

Unity で影が汚く表示される場合の対処 | テラシュールブログ

リアルタイムな影がカクカクになる問題の対処 | テラシュールブログ

リアルタイムシャドウをちゃんと理解して影を正しく描画する | LIGHT11

ライトのタイプ | Unity 2019.4 マニュアル [公式]

Light インスペクター | Unity マニュアル [公式]

ライトの設定

  • タイプ (Type)
  • 範囲 (Range/デフォルト10)
  • スポット角度 (Spot Angle/デフォルト30)
  • 色温度モードを使用する (Use Color Temperature Mode)
    • フィルター (デフォルト #FFFFFF )
    • 温度 (デフォルト6570)
  • 色 (Color/デフォルト #FFFFFF )
  • モード (Mode)
    • リアルタイム (Realtime)
    • 混合 (Mixed)
    • ベイク (Baked)
  • 強度 (Intensity/デフォルト1.0)
  • 間接の乗数 (Indirect Multiplier/デフォルト1.0)
  • シャドウタイプ (Shadow Type)
    • シャドウなし (No Shadows/デフォルト)
    • ハードシャドウ (Hard Shadows)
    • ソフトシャドウ (Soft Shadows)
  • クッキー (Cookie)テクスチャを指定する
  • ハロの描画 (Draw Halo)
  • フレア (Flare)フレアアセットを指定する
  • レンダーモード (Render Mode)
    • 自動 (Auto/デフォルト)
    • 重要 (Important)
    • 重要ではない (Not Important)
  • カリングマスク (Culling Mask/デフォルトEverything)
こちらのページを参照

参考:

ディレクショナルライトのシャドウ | Unity 2018.4 マニュアル [公式]

影 | Unity 2018.4 マニュアル [公式]

ライト | Unity マニュアル [公式]

ソフトシャドウ

参考:

Soft shadows not really soft? – Unity Forum

バイアス (Bias)

参考:

影が離れてしまったときは | おねむゲーマーの備忘録

影のトラブルシューティング | Unity 2020.3 マニュアル [公式]

シャドウプロジェクション (Shodow Projection)

  • 解像度重視 (Close Fit)オブジェクトが存在する範囲のみをシャドウテクスチャに描画する。シャドウディスタンスに比べてオブジェクトが存在する範囲が狭い場合に高画質な影を描画するが、オブジェクトやカメラの移動に伴って影の描画が不安定になり、影の境界がちらつくことがある。
  • 安定重視 (Stable Fit)オブジェクトの有無に関係なく、常にシャドウディスタンスで指定された一定の範囲をシャドウテクスチャに描画する。(デフォルト)

参考:

Shadow Projection の Close Fit と Stable Fit について | テラシュールブログ

Shadows – Quality | Unity マニュアル [公式]

シャドウカスケード

参考:

シャドウカスケード | Unity マニュアル [公式]

Shadows – Quality | Unity マニュアル [公式]

グローバルイルミネーション (GI)

手順
  1. ベイクした影を使用するには、「ライティング」 (Lighting) ウィンドウで「シーン」 (Scene) タブに切り替え、「混合ライティング」 (Mixed Lighting) パネルで「ベイクしたグローバルイルミネーション」 (Baked Global Illumination) を有効にする。
  2. 該当するライトの「モード」 (Mode) を 混合 (Mixed)  または ベイク (Baked) に設定する。
  3. 影をベイクするオブジェクトを「静的」 (Static) としてマークする。あるいは、「Mesh Renderer」コンポーネントで「グローバルイルミネーションに影響」 (Contribute Global Illumination) を有効にする。
  4. その他ライティングに関する設定を必要に応じて適切に行う。
  5. 「ライティングの生成」 (Generate Lighting) ボタンを押してライトマッパーを実行してライトマップを生成する。
ライティングモード (Lighting Mode)

ライトの「モード」 (Mode) で 混合 (Mixed) を使用する際の影の混合方法を指定する。

  • ベイク済み間接光 (Baked Indirect)
  • シャドウマスク (Shadowmask)
  • 減法混色 (Subtractive)
こちらのページを参照

参考:

ライティングモード | Unity 2019.4 マニュアル [公式]

影のみを描画する

「Mesh Renderer」コンポーネントで「Lighting > Cast Shadows」を Shadows Only に設定する。

参考:

Having an invisible object that casts realtime shadows – Unity Answers

Is it possible to create a light only casts shadows? – Unity Answers

Casting shadow, without rendering the light itself??? – Unity Answers

両面描画した際の裏面の影

シェーダーの Fallback として Nature/SpeedTree を指定する。

Fallback "Nature/SpeedTree"

一旦シェーダーを「Nature/SpeedTree」シェーダーに変更してから、使用するカスタムシェーダーを設定する。

参考:

両面描画 | Tsumiki Tech Times

ライトマップ (Lightmap)

予めベイクしたライトマップを使用して間接光あるいはソフトシャドウを表現する。

こちらのページを参照

参考:

表現方法から見た実践的なライトとベイクの設定方法 | LIGHT11

Lightmap を使用して雰囲気のある影を作成 | Point Cloud Consortium

シャドウマスク (Shadowmask)

シャドウマスクモード (Shadowmask Mode)

メニューから「編集 > プロジェクト設定」 (Edit > Project Settings) を開いて、「品質 > Shadows > シャドウマスクモード」 (Quality > Shadows > Shadowmask Mode) で設定する。

  • シャドウマスク (Shadowmask)静的オブジェクトは常にベイクした影を使用する。
  • 距離シャドウマスク (Distance Shadowmask)カメラから「シャドウディスタンス」 (Shadow Distance) で指定した距離より近い範囲ではリアルタイムの影を計算し、それより遠い範囲ではベイクした影を使用する。(デフォルト)
こちらのページを参照

参考:

リアルタイムな影とベイクした影を混ぜる、Shadow Mask 特集号 | テラシュールブログ

Shadowmask – ライティングモード | Unity マニュアル [公式]

Shadowmask Mode – Quality | Unity マニュアル [公式]

シャドウディスタンス | Unity マニュアル [公式]

URP

参考:

Universal Render Pipeline Asset の Shadows の設定について調べる | TATIKUNLOG.

SSAO

こちらのページを参照

参考:

Lightmap を使用して雰囲気のある影を作成 | Point Cloud Consortium

影が描画されない

参考:

なんか影が出ない問題の対策 | テラシュールブログ

My Shadows do not show in the Editor view or Game View – Unity Knowledge Base

my baked objects are not casting shadows on RealTime objects – Unity Knowledge Base

Why doesn’t a spotlight make all objects in its cone cast shadows? – Unity Forum

Spotlight Shadow cut off at “close” distance – Unity Answers

影がギザギザになる

参考:

リアルタイムな影がカクカクになる問題の対処 | テラシュールブログ

Why are directional light shadows so jaggy? | Unity Forum

Shadows from directional Light in my game, don’t look smooth – Unity Forum

パフォーマンス

参考:

ライトのトラブルシューティングとパフォーマンス | Unity 2018.4 マニュアル [公式]

仕組み

参考:

オブジェクトの影を落とす | 知識 0 からの Unity Shader 勉強

まとめ/Tips

リアルタイムシャドウをちゃんと理解して影を正しく描画する | LIGHT11

Unity で綺麗な映像を作る環境作り – Qiita

Fast Volumetric Blob Shadows

動画:

Fast Volumetric Blob Shadows

入手:

Fast Volumetric Blob Shadows | Unity Asset Store [Official]

Fast Shadow Receiver

入手:

Fast Shadow Receiver | Unity Asset Store [Official]

Shadow Detection

動画:

Demo

Demo v1.1

Demo v1.2

入手:

Shadow Detection – Stealth Mode | Unity Asset Store [Official]

ドキュメント:

Manual – Shadow Detector | Google Docs

フォーラム:

Shadow Detection | Unity Forum

Next-Gen Soft-Shadows (NGSS)

動画:

Unity Shadow vs NGSS Soft Shadow

Next Gen Soft Shadows for Unity

入手:

Next-Gen Soft-Shadows | Unity Asset Store [Official]

フォーラム:

Next-Gen Soft-Shadows 2 – Sophisticated dynamic penumbra Shadows for Unity | Unity Forum

PCSS

動画:

Release and Explanation

リポジトリ:

TheMasonX/UnityPCSS: NVIDIA’s PCSS Soft Shadow Algorithm Implemented in Unity – GitHub

Soft Shadow

**OBSOLETE**

リポジトリ:

unitycoder/IndieSoftShadow: Directional Light Soft Shadows – GitHub

フォーラム:

Directional Light Soft Shadow – Unity Forum

参考:

Soft Shadows (Directional Light) | Unity Coding

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

コメントを残す

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

Protected by reCAPTCHA