Arion vs KeyShot vs MentalRay

ちょっと面白いエントリーがありましたので紹介致します。レンダリングソフト世の中にあまたありますがここではArionとKeyShotとMentalRayを比較しています。(これもまた珍しい、面白い比較ですね)。出来上がったイメージを見てみるとArionとKeyShotは同等で時間はKeyShotのほうが早く、Mental Rayは明確に品質が悪い、という結果が出ています。もちろんこの手の比較は条件によって千差万別、いくらでも変わりますので一つの参考値として捉えておくのが良いと思います。特にMental Rayはパラメータをしっかり詰めないとノイズは飛ぶは、やたら時間がかかるはでなにもできません。

下の画像がその結果になります。

 

 

さて、この中で紹介されているArionというソフトはスペインのRandamControlという会社の製品です。この製品は今ちょっと流行っているUnbiased renderといわれるテクニックを用いているものです。同じジャンルの製品としてはMaxwell Render, NVidia iRayなどがあります。このunbiased(不偏、つまり偏りのない)という言葉の意味が個人的にはイマイチよくわかりません。数学的、統計学的に期待値が正しくなる手法らしいのですがディベロッパーに聞いてもよくわかりませんでした(数学あんまり強くないもので..orz)。ただ、推定するに例えば、間接光なりオクルージョンなりパラメータ単体で計算するのではなくシーンの中のあらゆるものを考慮してレンダリングする、という意味と考えられます。Maxwellとか確かに現実世界全てをシミュレートするようにレンダリングを行います。ソフトシャドウ、ハードシャドウといった個別のパラメータもありません。

で、ここで興味深いことをいくつか述べますと

  • Unbiasedが正確でbiased(KeyShotやMentalRayのようなタイプです)が不正確と対比的に考えられているがこれは誤り。Unbiasedの手法では全てのパラメータを考慮しているわけではない(例えばパストレーシングではコースティクスを扱えない)。一方PPM(プログレッシブフォトンマッピング)はbiasedの手法ですがこちらはコースティクスの扱いが上手い。(例えば上の画像でルビーの部分は明らかにKeyShotが一番綺麗です)
  • 言い換えると現状UnbiasedレンダラーでGPUを用いるものはガラスなどの屈折やコースティクスをうまく表現できない
  • Unbiased手法はサンプル数が多く必要なため処理が重く時間がかかる。(GPU計算でも上記で見るようにCPU処理よりむしろ時間がかかっています)つまりリアルタイム、インタラクティブ的な使用方法は現状不可能に近い。
  • NVidia iRayのプラットフォーム以外のものでも優れたレンダラーがある。機能でいったらむしろ上の場合もある。(例えばこのArionの場合もCPU,GPUを併用していますがiRayは使っていません。代わりにCUDAを用いたGPUレイトレーシング技術を採用しています。GPUを使っていてもiRayプラットフォームではないレンダラー他にもいくつかあります。小さい会社の製品が多いためあまりよく知られていないのですが)
  • GPUで計算すれば早くなるという単純な話では無い(レンダリング出来ないマテリアルがあってはそもそも意味がないので)

巷で言われているマーケティングトークと現実世界はかなり異なることがわかります。もっともこれは何もレンダラーだけでなく他の多くの事象にも当てはまります。常識は疑ってみた方がいいということですね。それはともかくこれも考えてみれば当たり前なんですよね。ゲームの世界でも、映像系でも、建築のビジュアライゼーションでも現在おそらくかなり多くの比率でV-Rayが使われているはずですが、これがハードウェア側の都合でぱっと入れ変わるということが起こるとは到底考えにくいです。ムーアの法則に従ってCPUが早くなるのには限界がある、GPU側のほうが伸びしろが大きい、といったこともよく言われますが(これが所謂マーケティングトークですね)、別にそれなら並列にすりゃいいじゃん、というのが今のマルチコア化の流れで同じ基盤の上に並べれば当然製造コストも安くなります。CPU側の方が現状コストメリット大きいのも当然です。それに共通のプラットフォームで書かれたプログラムは開発もデバッグも拡張性も全てにおいて非常に楽です。(例えばKeyShotがWin, Mac両プラットフォーム上で動くのはIntelチップに最適化されているからです)というわけで2つの技術は当分の間並列で使われていくのではないでしょうか。

Arionは当社では扱っておりませんが、サイトはこちらになります。ご興味のある方は一度試してみるとよろしいかと思います。

 

HDRIライティングの特徴

KeyShotやHDR Light Studioを使っていると、ああ、ここに置けたらみたいなケースが多いと思うのですが、下記のエントリー参考になると思います。
原文はこちらからです。

HDRI環境の中でオブジェクトの大きさがどのように反映されるか見てみましょう。CGレンダリングでのライティング用途において最も一般的に使われているのはパノラマ形状です。(他にVertical Crossなどがありますね)この四角形の画像は2:1のアスペクト比を持っています。球形状のオブジェクトにマッピングされるとレンダリングスペース上のある一点から360°を俯瞰してその視点を正確に表現します。HDRIは様々な方法で作成可能ですが今回はSpheronカメラで撮影したものと仮定します。

上の画像ではカメラは三脚に固定されています。魚眼レンズを用いており、180°いっぱいの画角を持ちます。真上から正面を通って真下までという形です。このカメラは上に向かって角度を変えて縦に切り取った横長の画像を作成します。それら画像が全て隣同士に並べられるとパノラマ画像ができあがります。

上の画像では赤い玉がカメラから遠ざけられています。結果としてパノラマ画像上ではボール自体は小さなものとなります。これはまあわかりやすいですね。

さてここからが面白い所です。上の画像では青い玉は赤い玉に比べてかなり大きなものであることがわかります。ただし、カメラの視点からは“見た目”はほぼ同じものとなります。赤い玉の後ろに青い玉の輪郭が見えるだけです。パースペクティブであることを考慮すれば当たり前のことかもしれません。それに加えてここでは、パノラマ画像上では大きさの概念、カメラ視点からオブジェクトへの距離の概念が無いこともわかります。オブジェクトは単純にビューの角度において一定の比率を占有するにすぎません。角度が大きければ、オブジェクトは近いかあるいは大きいかという風になります。

これはCGライティングにおいてHDRイメージを使用する時何を意味するのでしょうか?上の画像は2つのソフトボックススタジオライトを並べたものです。ビュー上では同じ角度を占めています。サイズがかなり違ってもパノラマ画像上では同じものとして見えます。

HDR Light Studioを実際に使ってライティング環境を構築する時、HDRI環境におけるこのサイズと距離の概念はとても役に立ちます。

上の画像では灰色のソフトボックスがリファレンスです。
ライトの大きさを二倍にするには、サイズを二倍にします。これはわかりやすいですね。
ライトの距離を二倍近づけるにもサイズを二倍にします。
この二つ、パノラマ画像上では同じ効果となります。両者に違いはありません。

HDR Light Studioでは50%のサイズで設定したライトは球形マップを照らすのと同じ高さを持ちます。つまり四角い/テント状のライトを作りたい時は50%×50%のサイズにするとこれが四角形の側面となります。HDR Light Studioの画面上で作成した例が下のものです。

そういえば、似たような作業をPhotoshopでも出来るという話を聞いたことがあります。HDRIをPS内でひっかいて、でも場所はインタラクティブにはわからないのでPhotoshopで保存してそれをMayaで開き直してMental Rayでレンダリングしてそれをいったりきたり、と能率は著しく悪そうですが確かにやってやれないことはありません。ただ、そういう根性論的な手法はあまり宜しくないとも思われます。こういうツールで短時間でライティング詰めて空いた時間を他の作業に使った方がよほど生産的です。

あと、一点、この説明非常にわかりやすいのですが、文中でもいわれているようにHDRIには距離の概念がありません。で、本当にピンポイントにここに当ててという場合にいささか制限があります。(特に車のような複雑な形状の場合です。上の画像ではヤカンなので問題は無さそうですがw。)つまりスタジオライティングを100%再現できるものでは無いということを予め念頭に置かれたほうが良いと思われます。で、ここから先はPhotoshopの出番なのですが、考えてみればレタッチ作業通常の写真でも行っています。そういう意味ではCGIに即したポスト処理を行えば、HDRIの持つ制限も充分カバーできると個人的には考えています。上に述べたようにツールでやれることはツールで効率よく行ってという手法です。

HDR Light Studioのページを追加

当サイトにHDR Light Studioのコンテンツを新しく追加しました。詳しい説明は本文をご覧頂くとしてこちらではちょびっとだけ補足だけしておきます。 続きを読む