ユニティレンダリング

ユニティレンダリング

Unity のレンダリングは、グラフィックス API (グラフィックス処理インターフェイス) を使用して実現されます。一般的な API には、OpenGL や Direct3D などがあります。Unity では、レンダー パイプラインはシーンのレンダリングを担当します。これには、ジオメトリ処理、照明計算 (シェーディング)、出力という 3 つの主要な段階が含まれます。

ジオメトリ処理段階では、Unity はシーン内のすべての 3D モデル、パーティクル、スカイ ボックスなどに基づいてシーン内に三角形メッシュ (メッシュ) を生成します。この段階には、カメラのトリミングと錐台の計算も含まれます。

照明計算フェーズでは、Unity はシェーダーを使用して各三角形メッシュの色と明るさを計算します。これには、光源の計算、影の生成なども含まれます。

出力段階では、Unity は処理された画像を画面に出力します。

Unity は、レガシー レンダー パイプラインと高解像度レンダー パイプライン (HDRP) という 2 つの異なるレンダリング パイプラインをサポートしています。従来のレンダリング パイプラインはレンダリングに固定関数を使用するため、開発者の柔軟性が制限されます。一方、高解像度レンダリング パイプラインはプログラム可能なレンダリング パイプライン (シェーダー モデル) に基づいており、より現実的ですが、より強力な GPU パフォーマンスが必要です。

Unity のレンダリングは次の手順に分割できます。

1. セットアップ段階

準備フェーズでは、Unity はシーン内のオブジェクトとカメラに基づいて対応するレンダリング リソースを作成し、必要な初期化操作を実行します。この段階は通常、シーンがロードされた後に実行されます。

2. ジオメトリのレンダリング段階

ジオメトリ レンダリング ステージでは、Unity は頂点シェーダー (Vertex Shader) を通じてシーン内のすべてのジオメトリ (三角形メッシュなど) を処理し、結果を次の処理ステージに渡します。この段階の出力は通常、各ピクセルの色と深度の値です。

3. 照明計算段階

照明計算段階では、Unity はシーン内の光源とマテリアル情報に基づいて各ピクセルの照明強度を計算します。このステージでは、影の計算やグローバル イルミネーションの計算など、実際のニーズに応じて複数の計算を実行できます。

4. 後処理段階

後処理段階では、Unity はレンダリング結果に対してぼかしや色調整などの追加処理を実行して、より良い視覚効果を実現します。この段階は通常、対応するポストプロセッサ (Post-Processor) によって完了します。

5. スクリーンステージへのレンダリング

画面へのレンダリング段階では、Unity は最終的なレンダリング結果を画面に表示し、次のフレームのレンダリングを待ちます。

なお、上記のレンダリング処理は大まかなフレームワークであり、GPUを並列コンピューティングしてレンダリング速度を上げる、複数のカメラを使用して多視点レンダリングを行うなど、具体的な実装は異なる場合があります。等

光と影のベイクレンダリング

Unity のライトとシャドウのベイク レンダリング テクノロジとは、シーン内のライティング情報をテクスチャにベイクし、それを実行時にシーン内のオブジェクトに適用して、パフォーマンスを最適化し、レンダリング品質を向上させることを指します。

Unity でライトとシャドウのベイク レンダリングを使用するには、次の手順に従う必要があります。

  1. シーンに光源を追加します。点光源、スポットライト、指向性ライトなど、さまざまなタイプの光源を使用できます。

  2. 光源のパラメータを調整します。実際のニーズに応じて、光源の色、強度、範囲、角度、その他のパラメータを調整して、望ましい効果を達成できます。

  3. パン屋さん追加。シーンにベイカーを追加する ベイカーは、シーン内のライティング情報をマップにベイクできます。

  4. ロースターパラメータを設定します。実際のニーズに応じて、焙煎機の解像度、焙煎範囲、焙煎品質などの焙煎機のパラメータを設定できます。

  5. ベイクされたライティング情報。シーンの準備ができたら、Unity エディターの「ベイク」ボタンをクリックして、シーン内のライティング情報をマップにベイクすることができます。

  6. ステッカーを貼ります。ベイクしたテクスチャを必要なオブジェクトに適用します。これは、Unity のライトマップまたはライト プローブを使用して実現できます。

ライトとシャドウのベーキング レンダリング テクノロジはレンダリングの品質とパフォーマンスを向上させることができますが、いくつかの制限と注意事項もあることに注意してください。

  1. ライトとシャドウのベイク処理は静的オブジェクトにのみ適用され、動的オブジェクトにはリアルタイム レンダリングが必要です。

  2. ライトとシャドウのベイク処理は大量のメモリとストレージ スペースを消費するため、大規模なシーンの最適化が必要です。

  3. ライトとシャドウのベイク処理には追加の時間とリソースが必要であり、頻繁に変更されるシーンは再ベイク処理が必要となり、開発効率に一定の影響を与えます。

おすすめ

転載: blog.csdn.net/qq_60125117/article/details/130232162
おすすめ