カリング(Culling)

【概要】

 :レンダリングのパフォーマンスを最適化する機能の1つ

 :視界に入っていないオブジェクトや不要なポリゴンを描画処理から除外してレンダリングパフォーマンスを最適化する

【詳細】

1)フラスタムカリング
  (Frustum Culling)

  :カメラの視野範囲外にあるオブジェクトを描画から除外する


2)オクルージョンカリング
  (Occlusion Culling)

  :他のオブジェクトで隠れて見えないオブジェクトを描画から除外する

3)距離カリング
  (Distance Culling)


  :カメラから一定距離以上離れたオブジェクトを描画から除外する

Nanite(ナナイト)

【概要】

 :数億ポリゴンにおよぶ複雑なモデルをリアルタイムで扱うための仮想化ジオメトリシステムのこと。

 :非常に高いレベルのディテールを持つ3Dモデルを効率的にレンダリングする。

【詳細】

 ・仮想化ジオメトリ
 (Virtualized Geometry)
  :ジオメトリデータを仮想化し、必要な部分だけを動的にロードする。

 ・LOD(Level of Detail)
  の自動管理
  :Nanite では距離に応じて自動的に適切なディテールレベルを選択する。

  ・マイクロポリゴン
   レンダリング
   :非常に小さなポリゴンを使用したレンダリングのこと。詳細なサーフェスディテールを保持しながら効率的に高解像度を実現する。

【設定方法】

 1.プロジェクト設定
  :プロジェクト設定で、Nanite が有効になっていることを確認する。

 2.マテリアル設定
  :高度なシェーダーやエフェクトをサポートするように設定する。

  :特に、ディスプレイスメントや詳細なノーマルマップなどが効果的に機能する。

 3.Nanite対応アセットの
   インポート
  :高解像度の3Dモデル(例えば、ZBrushで作成した高ポリゴンモデルなど)を用意する。
  
  :用意したモデルをコンテンツブラウザ「Import」からインポートする。(インポート時、「Nanite Support」を有効にする。)
     
 4.Nanite対応メッシュの確認
  :Static Mesh エディタを開き、Nanite対応メッシュとして設定されていることを確認する。

 5.Naniteのパフォーマンス設定
  :「Screen Space Error」設定を調整して、レンダリング品質とパフォーマンスのバランスを最適化する。

  :この設定は、ディテールレベルとレンダリングコストのトレードオフを管理する。

 6.デバッグツールの使用
  :Nanite のパフォーマンスをモニターするためのデバッグツールを使用する。

  :デバックツールで Nanite メッシュのパフォーマンスを確認し、必要に応じて調整する。

HDRI(High Dynamic Range Imaging、ハイダイナミックレンジイメージング)

【概要】

 :光と色の情報を広範なダイナミックレンジでキャプチャし、表示する技術のこと。

 :HDRIを使用してリアルなライティングや反射効果を実現し、ビジュアル品質を向上させることができる。

【詳細】

 ・ハイダイナミックレンジ
 (High Dynamic Range)
  :通常の画像(SDR、スタンダードダイナミックレンジ)の輝度範囲より広い輝度範囲を持つ。

 ・イメージベースライティング
 (Image-Based Lighting, IBL)
  :HDRIを環境マップとして使用し、ライティングを行う技術のこと。

  :自然光やスタジオライティングのようなリアルな照明効果を実現できる。

 ・リフレクション(Reflection)
  :HDRIを使用してオブジェクトにリアルな反射を適用する。

  :例えば、金属やガラスなどの反射性の高い素材が自然に見える。

【使用方法】

 1.HDRIの準備
  :高品質なHDRI画像をオンラインで取得するか、自分で撮影する。

  :一般的な形式はHDR(.hdr)やEXR(.exr)。

 2.インポート
  :コンテンツブラウザ「Import」から、HDRI画像ファイルをインポートする。

 3.適用例
  :HDRIをSky Sphereに適用

   1)レベルに「Sky Sphere Blueprint」または「Sky Light」を追加する。

   2)「Sky Light」の「Details」パネルで「Source Type」を「SLS Specified Cubemap」に設定する。

   3)「Cubemap」フィールドにインポートしたHDRI画像を指定する。

 4.ライティングの調整
  :「Intensity」値を調整して、シーンの明るさを最適化する。

  ;必要に応じて「Directional Light」を追加し、太陽光や主要な光源をシミュレートする。

 5.ポストプロセス
   エフェクトの調整
  :レベルに「Post Process Volume」を追加し、ポストプロセスエフェクトを適用する。

  :「Auto Exposure」や「Bloom」などのエフェクトを調整して、見た目を最適化する。

Subsurface Scattering(SSS, サブサーフェス・スキャッタリング)

【概要】

 :半透明な物質を通過する光の挙動および技術の総称。

 :肌、蝋、ミルク、大理石などの素材をリアルに表現するために使用される。

 :光が表面下で散乱し、自然で柔らかな見た目を実現する。

【詳細】

 ■ スキャッタリングプロファイル
  (Scattering Profile)
  :SSSの挙動を制御するためのパラメータセットのこと。物質の密度や色の特性が含まれる。

  ・Scatter Radius
   :光の散乱の範囲を設定する。

  ・Subsurface Color
   :物質の内部色を設定する。
   :通常は肌の色。

  ・Falloff Color
   :光が散乱した後の減衰色を設定する。

  ・半透明性(Translucency)
   :物質が光をどれだけ透過するかを示す特性のこと。SSSは半透明性のある物質に対して適用される。

Lightmass(ライトマス)

【概要】

 :グローバルイルミネーション(GI)および静的ライティングの計算に使用されるベイク(焼き付け)システムのこと。

 :Lightmassを使用することで、ライティングやシャドウを高品質にレンダリングできる。

 :また、リアルな間接光や環境光の効果をシミュレートできる。

【詳細1】

 ・ベイク(Bake)
  :ライティングの情報を静的に計算して、ライトマップ(Lightmap)として保存するプロセスのこと。
  
  :ベイクをすると、リアルタイムレンダリング時のパフォーマンスが向上する。

 ・ライトマップ(Lightmap)
  :オブジェクトに適用される2Dテクスチャのこと。ライティング情報を格納するデータ。

  :各ピクセルは、ライティングとシャドウの情報を保持している。

 ・ポータル(Portal)
  :窓やドアなど、外部の光が入る箇所に配置すると、Lightmass のGI 計算が最適化される。
  
  :例えば、室内のライティングがより正確に計算される。

【詳細2】

 ■ Lightmassのワールド設定
  :「World Settings」>「Lightmass」セクションで基本設定をする。

  ・Static Lighting Level Scale
   :光のサンプリングのスケールを設定する。
   :値を小さくすると詳細なライティングが計算されるが、ビルド時間が増加する。

  ・Indirect Lighting Quality
   :間接光の品質を設定する。
   :値を大きくすると品質が向上するが、ビルド時間が増加する。

  ・Indirect Lighting
    Smoothness
   :間接光の滑らかさを設定。
   :値が大きいほどライティングが滑らかになるが、詳細が失われる可能性がある。

  ・Environment Color
   :環境光の色を設定する。

  ・Lightmassのライト設定
   :使用するライトを「Mobility」から「Static」に設定すると、ライティング情報がベイクされる。

【例】

 1.室内の高品質ライティング

  1)ポータルの配置
   :窓などに「Lightmass Portal」を配置して、外部からの光の計算を最適化する。

  2)ライトマップ解像度の設定
   :室内の重要なオブジェクトに対して、高いライトマップ解像度を設定して、詳細なライティング情報を保存する。

  3)ビルドと調整
   :ライティングをビルドし、結果を確認する。
   :結果が不良な場合、「Indirect Lighting Quality」や「Lightmap Resolution」を調整して再ビルドする。

 2.外のリアルな
   グローバルイルミネーション

  1)環境光の設定
   :「World Settings」で環境光の色と強度を設定する。

  2)ライトの設定
   :主要な光源(例:太陽光)を「Static」に設定し、光の方向と強度を決定する。

  3)ビルドと確認
   :ライティングをビルドし、ライティング効果を確認する。
   :必要に応じて、ポータルの追加や設定の調整を行う。

Hierarchical Level of Detail(HLOD、階層的詳細度レベル)

【概要】

 :パフォーマンス最適化技術の一つで、レベル全体のオブジェクトをグループ化し、距離に応じて詳細度を変化させる方法。

 :個々のメッシュに適用されるLODに対し、HLODは複数オブジェクトをまとめて簡略化する。

【詳細】

 ・クラスタ(Cluster)
  :レベル内の複数オブジェクトをグループ化したもの。
  :HLODシステムは、近接して配置されたオブジェクトを自動的にクラスタにまとめる。

 ・シンプルメッシュ
  (Proxy Mesh)
  :クラスタ全体を代表する簡略化されたメッシュのこと。
  :遠距離の場合は、シンプルメッシュが表示され、レンダリング負荷が軽減される。

 ・遷移距離
  (Transition Distance)
  :クラスタが詳細なメッシュからシンプルメッシュに切り替わる距離のこと。
  :距離の設定は、HLOD設定で調整ができる。

LOD(Level of Detail、詳細度レベル)

【概要】

 :オブジェクトの表示品質を距離に応じて調整する技術のこと。

【詳細】

 ・LODレベル
  :オブジェクトに設定される複数の詳細度レベル。

  :通常、LOD0が最も詳細で、LOD1、LOD2と進むにつれてポリゴン数が減少する。

 ・スクリーンサイズ
  (Screen Size)
  :各LODレベルが使用される距離の閾値を決定する値のこと。

  :視点からの遠くなると、スクリーンサイズが小さくなり、より低いLODレベルが使用される。

【例】

 ・建物のLOD設定
   
   LOD0(詳細モデル)
   :建物の詳細なモデルを作成し、窓、ドア、装飾などの細かいディテールを含める。

   LOD1(中間モデル)
   :ポリゴン数を減らし、主要な形状と少しのディテールを保持する。

   LOD2(低詳細モデル)
   :建物の基本形状のみを残し、さらにポリゴン数を削減する。