パルテア

どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス ライティング 反射プローブ〜

CG 映画やアニメーションでは、非常にリアルな反射が一般的で、これはシーン内のオブジェクト間の「つながり」の感覚を与えるために重要です。ただし、これらの反射の精度にはプロセッサ時間の大きなコストが伴い、これは映画では問題になりませんが、リアルタイム ゲームでの反射オブジェクトの使用は大幅に制限されます。

従来、ゲームでは、処理オーバーヘッドを許容レベルに抑えながらオブジェクトからの反射をシミュレートするために、反射マッピングと呼ばれる手法が使用されてきました。この手法では、シーン内のすべての反射オブジェクトがまったく同じ周囲を「見る」 (つまり反射する) ことができると想定しています。これは、ゲームのメイン キャラクター (たとえば光沢のある車) がオープン スペースにいる場合は非常にうまく機能しますが、キャラクターが別の周囲を通過する場合は説得力がありません。車がトンネルに入っても、窓に空がまだ目に見えて反射している場合は奇妙に見えます。

Unity は、反射プローブを使用して基本的な反射マッピングを改善し、シーン内の戦略的なポイントで視覚環境をサンプリングできるようにします。一般的に、反射オブジェクトの外観が著しく変化するすべてのポイント (トンネル、建物の近くのエリア、地面の色が変化する場所など) にそれらを配置する必要があります。反射オブジェクトがプローブの近くを通過すると、プローブによってサンプリングされた反射がオブジェクトの反射マップに使用されます。さらに、複数のプローブが近くにある場合、Unity はそれらのプローブ間を補間して、反射の段階的な変化を可能にします。したがって、反射プローブを使用すると、許容できる処理オーバーヘッドで非常に説得力のある反射を作成できます。

反射プローブの仕組み

シーン内のポイントの視覚環境は、キューブマップで表すことができます。これは概念的には、内部の表面に 6 方向 (上、下、左、右、前、後ろ) からのビューの平面画像が描かれたボックスのようなものです。

スカイボックス キューブマップの内側の表面 (前面は削除)

オブジェクトが反射を表示するには、そのシェーダーがキューブマップを表す画像にアクセスできる必要があります。オブジェクトの表面の各ポイントは、表面が向いている方向 (つまり、表面法線ベクトルの方向) にあるキューブマップの小さな領域を「見る」ことができます。シェーダーは、この時点でのキューブマップの色を使用して、オブジェクトの表面の色を計算します。鏡のマテリアルは色を正確に反射しますが、光沢のある車は色あせて多少色づきます。

前述のように、従来の反射マッピングでは、シーン全体の周囲を表すために 1 つのキューブマップのみを使用します。キューブマップは、アーティストがペイントすることも、シーン内の 1 つのポイントからキューブ面ごとに 1 ショットずつ、6 つの「スナップショット」を撮って取得することもできます。反射プローブは、キューブマップのスナップショットを撮ることができるシーン内の多数の定義済みポイントを設定できるようにすることで、これを改善します。したがって、反射が著しく異なるシーン内の任意のポイントで周囲のビューを記録できます。

プローブには、視点に加えて、シーン内の目に見えないボックス形状によって定義される効果ゾーンもあります。プローブのゾーン内を通過する反射オブジェクトには、そのプローブによって一時的に反射キューブマップが提供されます。オブジェクトが 1 つのゾーンから別のゾーンに移動すると、キューブマップもそれに応じて変化します。

    Course

  • 日時:2024/04/01 ~ 2025/03/31
  • 名称:どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス ライティング 反射プローブ〜
  • 場所:オンラインスクール
  • 料金:¥0 (消費税込)