UnityでSRPからデプスシャドウを描く ~複数のDirectionalLightの影を描く~

概要 前記事ではUnityでステンシルボリュームシャドウを描画する方法について書きました。 daiki-eguchi.hatenablog.com 昨今のGPUではテクセルフィルレートが劇的に向上したことで昨今主流となったのがデプスシャドウ技法のようです。 参考: 3Dグラフィッ…

HDRPでカスタムShader -レイヤーが一致するDirectionalLightの影響を受ける・レイヤーで指定したオブジェクトの影を落とす-

はじめに 以前HDRPでカスタムシェーダーを作成し、DirectionalLightの影を落とす・受け取る方法について書きました。 daiki-eguchi.hatenablog.com 今回はHDRPで複数のDirectionalLightがあった際にレイヤーを設定することでレイヤーが合っているものだけ影…

HDRPでカスタムShader -影を落とす・影を受け取る-

はじめに 以前HDRPでカスタムシェーダーを作成する方法をUnlit形式で紹介しました。 daiki-eguchi.hatenablog.com 今回はHDRPで影を出す、影を受け取る方法についてです。 最小限ということで影響を受ける光はまず「1つのみ」とします。 開発環境 Unity2022…

Unityでステンシルシャドウボリューム

はじめに 前回、投影テクスチャマッピングシャドウを取り上げました。しかし、投影テクスチャマッピングシャドウは影生成の単位がキャラ単位なので自身の部位から受ける影「セルフシャドウ」を描画することができません。 daiki-eguchi.hatenablog.com そこ…

Unityで投影テクスチャマッピングシャドウ

はじめに 3Dゲームの影生成は90年代、キャラクターの足元に黒い丸を置いた「丸影」が主流だったようです。 しかし丸影は負荷は軽いですが「影」としてのリアリティはありませんでした。それを進化させたのが「投影テクスチャマッピング」です。 投影テクスチ…

HDRPでカスタムShader - Unlit編

概要 HDRPはUnityが提供しているレンダーパイプラインの1つです。PBRや写実性が高いものを描画するのに長けている印象で、URPと同じくSRPの上に構築されたレンダーパイプラインの一つです。 しかし、URPと比較するとHDRPに関する記事は多いわけではなく内部…

Unityで視差遮蔽マッピングにセルフシャドウをつける

はじめに 前回の記事では視差遮蔽マッピングの概要とUnityでの実装方法を紹介しました。今回も凹凸に関する記事で、前回の続きになります。 daiki-eguchi.hatenablog.com 視差遮蔽マッピングでは、ポリゴン面から視線方向にRayをどんどん潜り込ませていき、…

Unityで視差遮蔽マッピング

はじめに 前回の記事では視差マッピングの概要とUnityでの実装方法を紹介しました。今回も凹凸に関する記事で、前回の続きになります。 daiki-eguchi.hatenablog.com 視差マッピングでは、HeightMapから高さを取得して定数倍視線方向にサンプリング位置をず…

Unityで視差マッピング

はじめに 前回の記事ではノーマルマッピングの概要とUnityでの実装方法を紹介しました。今回も凹凸に関する記事で、前回の続きになります。 daiki-eguchi.hatenablog.com ノーマルマッピングではノーマルマップからオブジェクトの法線ベクトルを取得し、ライ…

Unityでノーマルマッピング (バンプマッピング)

はじめに ゲームの3Dアセットの品質を上げる際、そのオブジェクトの凹凸も表現したいという流れが出てきました。 ただ人間の皮膚のしわや、小物の模様など細かい凹凸を表現するためにポリゴン数をあげるなるとその分負荷が上がってしまいます。 それに凹凸を…

Unityで流体シミュレーションを始めよう!その1

MathJax.Hub.Config({ tex2jax: { inlineMath: [['$', '$'] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); はじめに 初めまして。Craft Eggの3D開発室というところで描画・TA業務を行っている江口大喜と申します。 今回のブログはCraft Eggアドカレ…