- Ver.22.1.1のGPUレイトレーシング
Shade3D Ver.22.1 Professional版以降で「GPUレイトレーシング」の機能追加が行われました。
今回はVer.22.1.1を使用し、追加された機能を確認していきます。
チュートリアルのGPUレイトレーシングからの差分情報になります。
「Shade3D Ver.22.1 新機能」( https://shade3d.jp/ja/products/shade3d/ver22/newfunction221.html )の「GPUレイトレーシング強化」を参考にしました。
GPUレイトレーシングでのShade3Dマテリアル対応
PBRマテリアルだけでなく、Shade3DマテリアルもGPUレイトレーシングに対応しました。
「GPUレイトレーシング」で確認したシーンをVer.22.1.1でチェックします。
以下のシーンは、左がShade3Dマテリアル、右がPBRマテリアルを割り当てています。
Ver.22.0でGPUレイトレーシングでレンダリングすると以下のようになっていました。
Ver.22.1.1でGPUレイトレーシングでレンダリングすると以下のようになりました。
Shade3Dマテリアルでも間接照明が反映されています。
いくつかパラメータを調整して、通常のパストレーシングの場合と比較しました。
拡散反射と反射を調整
Shade3Dマテリアルの場合は、反射や透明値を上げたときに拡散反射値を下げていく必要があります。
ここでは、以下の5パターンを比較しました。
- 拡散反射 1.0 / 反射 0.0
- 拡散反射 0.75 / 反射 0.25
- 拡散反射 0.5 / 反射 0.5
- 拡散反射 0.25 / 反射 0.75
- 拡散反射 0.0 / 反射 1.0
レンダリングシーンにチェスのコマを配置し、左から上記のパラメータを与えています。
また、「視線追跡レベル」5、「レイトレーシングの画質」50としました。
↓ 手法「パストレーシング」 + 大域照明「パストレーシング」 + AIノイズ除去
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
拡散反射と透明を調整
ここでは、以下の2パターンを比較しました。
- 拡散反射 0.5 / 透明 0.5 / 屈折 1.5
- 拡散反射 0.0 / 透明 1.0 / 屈折 1.5
レンダリングシーンにチェスのコマを配置し、左から上記のパラメータを与えています。
また、「視線追跡レベル」10、「レイトレーシングの画質」50としました。
↓ 手法「パストレーシング」 + 大域照明「パストレーシング」 + AIノイズ除去
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
粗さを調整 (反映されない)
ここでは、以下の3パターンを比較しました。
- 拡散反射 0.0 / 反射 1.0 / 透明 0.0 / 屈折 1.5 / 粗さ 0.0
- 拡散反射 0.0 / 反射 1.0 / 透明 0.0 / 屈折 1.5 / 粗さ 1.0
- 拡散反射 0.0 / 反射 0.0 / 透明 1.0 / 屈折 1.5 / 粗さ 1.0
レンダリングシーンにチェスのコマを配置し、左から上記のパラメータを与えています。
また、「視線追跡レベル」10、「レイトレーシングの画質」50としました。
↓ 手法「パストレーシング」 + 大域照明「パストレーシング」 + AIノイズ除去
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
Shade3Dマテリアル+GPUレイトレーシングでは、「粗さ」は反映されないようでした。
GPUレイトレーシングでの法線マップの対応
Shade3DマテリアルとPBRマテリアルで法線マップを指定した場合、Ver.22.1.1のGPUレイトレーシングで反映されるようになりました。
以下は左がShade3Dマテリアル、右がPBRマテリアルの指定になります。
球に法線マップを指定しました。
左がShade3Dマテリアル、右がPBRマテリアルです。
また、表面材質のマッピングの「適用率」指定も反映されました。
なお、Shade3Dマテリアルの「バンプ」は、Ver.22.1.1のGPUレイトレーシングでは反映されていませんでした。
PBRマテリアル : 透明度 + ベースカラー
PBRマテリアルで「透明度」を使用時に、ベースカラーの色指定がGPUレイトレーシングのレンダリング結果に反映されるようになりました。
また、影もベースカラーが反映されます。
PBRマテリアル : 透明度 + ラフネス
PBRマテリアルで「透明度」を使用時に、ラフネスの色指定がGPUレイトレーシングのレンダリング結果に反映されるようになりました。
以下は透明度1.0、左からラフネス0.0/0.25/0.5/0.75/1.0を指定しました。
PBRマテリアル : 透明度 : αマスク/αブレンド (反映されない)
PBRマテリアルの「透明度」で「αマスク」を選択した場合は、Ver.22.1.1のGPUレイトレーシングでは反映されていませんでした。
以下は、PBRマテリアルの透明度を「αマスク」にして、マッピングの2レイヤ目で不透明のテクスチャを指定しています。
PBRマテリアルのαマスク使用時は、透明度のテクスチャではなく不透明のテクスチャ(RGBAのAに相当)を指定している点に注意してください。
↓ 手法「パストレーシング」 + 大域照明「パストレーシング」 + AIノイズ除去
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
「αブレンド」も同様に、Ver.22.1.1のGPUレイトレーシングでは反映されていませんでした。
テクスチャマッピング時の「適用率」 (常に1.0で扱われる)
ベースカラーのテクスチャマッピングを使用した場合、「適用率」は常に1.0で扱われるようです。
左から、ベースカラーのマッピングの適用率を1.0/0.75/0.5としました。
↓ 手法「パストレーシング」 + 大域照明「パストレーシング」 + AIノイズ除去
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
適用率を1.0以外にした場合は、Shade3Dマテリアル/PBRマテリアル共に
Ver.22.1.1のGPUレイトレーシングでは常に1.0として扱われるようでした。
面光源を使用時 (点光源に置き換わる)
面光源を使用した場合は、Ver.22.1.1のGPUレイトレーシングでも点光源としてレンダリングされました。
↓ 手法「パストレーシング」 + 大域照明「パストレーシング」 + AIノイズ除去
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
この場合は、面光源に対してPBRマテリアルを割り当て、「発光」に大きな値を割り当てることで代用できます。
以下、3つの面光源をPBRマテリアルの発光値を50/40/30に置き換えてレンダリングしました。
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
被写界深度 (反映されない)
統合パレットのカメラウィンドウで三次元カーソル位置を「焦点」とし、被写界深度を有効にした場合は、
Ver.22.1.1のGPUレイトレーシングでは反映されませんでした。
↓ 手法「パストレーシング」 + 大域照明「パストレーシング」 + AIノイズ除去
※ これは、面光源の明るさを指定した光源を3つ配置しています。
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
※ これは、PBRマテリアルの「発光」を使用して光源としたものを3つ配置しています。
被写界深度は反映されていません。
キッチンシーンをVer.22.1.1でレンダリング
チュートリアルの「キッチンシーンをGPUレイトレーシングでレンダリング」で使用したキッチンシーンをVer.22.1.1でレンダリングしました。
↓ 手法「GPUレイトレーシング」 + AIノイズ除去
キッチンの壁のタイルで法線マップが反映されているのを確認できます。
ただし、ガラスやプラスチックの透明度のある表現は厚みのある個所が黒ずんでしまっています。
↓ Ver.22ではもう少し澄んだガラス表現でした。
コップの形状でマテリアルを確認
コップの形状を開いてマテリアル設定を確認します。
左が手法「パストレーシング」 + 大域照明「パストレーシング」、右が手法「GPUレイトレーシング」です。
PBRマテリアル使用時は、薄い厚みがある透明体の場合にガラス表現は厚み部分が暗くなってしまうようです。
この現象は、レンダリング設定の「視線追跡レベル」「レイオフセット」を調整しても変わりませんでした。
Shade3Dに置き換えてみました。
拡散反射を0、透明を1.0、屈折を1.5としました。
左が手法「パストレーシング」 + 大域照明「パストレーシング」、右が手法「GPUレイトレーシング」です。
今度は厚みの部分が白くなりました。
キッチンのシーンにコップだけShade3Dマテリアルにして更新をかけて、再度GPUレイトレーシングでレンダリングすると違和感がある表現になりました。
Ver.22.1.1では、ガラスのような透明体はもう少し調整されるのを待つ必要がありそうです。
まとめ
以上で、Ver.22.1.1でGPUレイトレーシングの機能アップした部分もありますが、引き続き対応を待つ必要がある部分も見えてきました。
Ver.22.1/Ver.22.1.1のGPUレイトレーシングで新たに強化された部分は以下になります。
- Shade3Dマテリアルの間接照明対応
- 法線マップの対応 (Shade3Dマテリアル/PBRマテリアル)
- PBRマテリアルでの透明度 + ベースカラー/透明度 + ラフネスの反映
- PBRマテリアルでの透明度使用時、影にベースカラーを反映
Ver.22からVer.22.1.1にかけて、まだ対応されていない部分は以下になります。
- Shade3Dマテリアルでの「粗さ」
- Shade3Dマテリアルでの「バンプ」
- PBRマテリアルでの「透明度」の「αマスク」「αブレンド」
- テクスチャマッピングを使用した際の「適用率」 (Shade3Dマテリアル/PBRマテリアル)
- 面光源は点光源として表現される
- 被写界深度
Ver.22.1.1で気になる部分は以下になります。
- ガラスのような表現で「透明度」を使用時に、ジオメトリとして薄い箇所(厚みが浅い箇所)が黒くなる
今回はここまでです。
次回はレンダリング画像のアルファチャンネルやマルチパス、色補正について説明予定です。