[Omniverse] Shadow Catcher

  • by

2022年3月末から始まったGTC 2022でOmniverseに関する機能追加がたくさん行われました。
同時に、Omniverse Create 2022.1.0のプレリリース版(RC版)も公開されたため、いくつか機能を試しています。

追加機能の一覧はRelease Notesで確認できます。
https://docs.omniverse.nvidia.com/app_create/app_create/release_notes.html

Omniverse Create 2022.1.0での速度低下問題

2022/04/12追記 : Omniverse Create 2022.1.1でこの問題は修正されました。

Omniverse Create 2022.1.0では、Content Browserでサムネイル表示を行うとCreateを終了するまで処理が重くなるという問題があります。
https://forums.developer.nvidia.com/t/slowdown-when-displaying-image-thumbnails-in-content-window-of-omniverse-create-2022-1-0/209522
ファイルを読み込んだらいつの間にか重くなってしまった、という場合はこれを疑うのがいいかもしれません。
サムネイルを表示しない設定に切り替えることでこの問題は回避できます。

背景のDome Lightを指定したときのShadow Catcher

Create 2022.1.0で、背景のDome LightでHDRIを指定した場合に地面に影だけを落とすような挙動をする機能が追加されました。
Release Noteでは「Matte Objects」と呼んでいるようでした。

背景は「Environments」ウィンドウから追加できます。
Create 2021.3.8まではこの名称は「Skies」でした。

ここで背景をダブルクリックすると、Environment内にDomeLightとしてskyが配置されます。

DomeLightでは、hdr/exrなどのダイナミックレンジを持つHDRIを指定します。
これはIBL(Image Based Lighting)としての光源として作用するものです。

ただ、形状を配置しただけでは地面に影が落ちません。
地面となる形状がないため当然ではありますね。
Omniverse Create 2022.1.0にて、DCCツールでの「Shadow Catcher(シャドウキャッチャー)」的な機能が新しく追加されました。
Stageウィンドウで「Environment」を選択し、Propertyウィンドウの「Ground」「Shadows Only」を選択すると地面に影だけが描画されます。

以下のように表示されました。

Stageウィンドウを見ると、実際はgroundという名前のMeshが配置されているのが分かります。

この見えないgroundのY位置は、PropertyウィンドウのTranslateのY値で調整できます。

この地面は実際は存在し、背景をテクスチャとしてダイレクトに反映しているような描画をされているようです。
そのため、このY位置より下に形状がある場合は遮蔽されます。

見えない地面のマテリアルを指定

この「ground」に対してマテリアルを割り当てると、それが地面のマテリアル指定になります。
例えば、OmniPBRのマテリアルを新たに与えました。

RoughnessやMetallicを調整することで、地面に映り込みが反映されるような表現を行えます。

今回はここまでです。
Omniverse Create 2022.1.0で新しく追加された機能については、確認次第ブログでも記載予定です。