ShadowProxyMeshによる植生シャドウの最適化
公開日: 2026/02/24
最適化の目的と方針
Section titled “最適化の目的と方針”ハイフレームレートで動きのある植生が多いシーンを、ローエンドなターゲット環境でも実現するため、以下の方針で最適化を行いました。
- ShadowDepthの負荷軽減
- ポリゴン数の削減
- Pixel負荷の削減
過去の調査からLODメッシュ+CSM+ShadowProxyMeshが最も軽量な組み合わせであるという結論に至りました。
負荷の比較については改めてレポートを作成する予定です。
Maskedマテリアルを使用する植生メッシュはPreZ/EarlyZがあまり効かないため影の負荷が高くなりやすい傾向にあります。
WinterCrownWORKS : Shadow Billboard Wind Animation
Section titled “WinterCrownWORKS : Shadow Billboard Wind Animation”ShadowProxyMeshの適用と実装
Section titled “ShadowProxyMeshの適用と実装”効果的な使用例
Section titled “効果的な使用例”- 描画メッシュがNaniteメッシュの場合、ShadowProxyMeshを非Naniteのメッシュとして使う
- 描画メッシュはLODメッシュでMaskedマテリアル使用の植生
- 描画メッシュはLODメッシュで高リソースなメッシュ
影描画に投入されるリソース比較
Section titled “影描画に投入されるリソース比較”ポリゴン数比較
Section titled “ポリゴン数比較”
左: Δ18,761
右: Δ2
オーバードロー状況比較
Section titled “オーバードロー状況比較”
どちらが軽いかはわかりますよね?
1. 描画メッシュのDynamicShadowフラグをオフにする ContactShadowをかけるためCastShadowはオンにしておく
Section titled “1. 描画メッシュのDynamicShadowフラグをオフにする ContactShadowをかけるためCastShadowはオンにしておく”
2. ShadowProxyMeshのVisibleフラグをオフ、HiddenShadowをオン
Section titled “2. ShadowProxyMeshのVisibleフラグをオフ、HiddenShadowをオン”
3. 描画メッシュとShadowProxyMeshを同じ座標に重ねる
Section titled “3. 描画メッシュとShadowProxyMeshを同じ座標に重ねる”
合わせた結果
Section titled “合わせた結果”
正確な形状ではありませんが、高密度のメッシュ描画を回避して軽量に表現します。
Quad Mesh Wind Animation
Section titled “Quad Mesh Wind Animation”描画メッシュへの流用
Section titled “描画メッシュへの流用”ShadowProxyMeshマテリアルを流用することで、影描画だけでなく、最遠景LODを2ポリゴンのカードに置き換えることもできます。
使用メッシュ構成
Section titled “使用メッシュ構成”
| LOD | ポリゴン数 | 備考 |
|---|---|---|
| LOD0 | 18,761 | |
| LOD1 | 9,788 | |
| LOD2 | 5,187 | |
| LOD3 | 2,320 | |
| LOD4 | 10 | SpeedTreeのビルボード |
| LOD5 | 2 | ShadowProxyMeshのマテリアルを流用したカード |
RotateAboutAxisを使った実装になります。
軸の取り方次第で横揺れと少しひねった動きになります。
※影と最遠景LOD用メッシュで揺れの強さを別々に変更
ビルボードの軸を決定
Section titled “ビルボードの軸を決定”
クリックで拡大
インスタンスごとのMasterLocation
Section titled “インスタンスごとのMasterLocation”
クリックで拡大
ProjectTitanの内容をカスタマイズ
Section titled “ProjectTitanの内容をカスタマイズ”- default: Cameraに向く処理
- Shadow: Light方向に向く処理
クリックで拡大
風揺れの基本計算
Section titled “風揺れの基本計算”
クリックで拡大
Shadowパスかどうかでスケールを変更
Section titled “Shadowパスかどうかでスケールを変更”
クリックで拡大
WPOの出力
Section titled “WPOの出力”
クリックで拡大
マテリアルパラメータ
Section titled “マテリアルパラメータ”
WinterCrownWORKS : Quad Mesh Wind Animation
Section titled “WinterCrownWORKS : Quad Mesh Wind Animation”最遠景のLOD5が表示されています。