3Dモデルの変形に対応した動的PRT技術の台頭

PSF技法ベースのPRTは、自身の遮蔽、他者への遮蔽を考えることにより、シーンに存在する3Dモデルの移動や回転を許容する動的PRTが可能になった。これは、ビリアードのようなテーブルゲームや、ブロックパズルゲームのような3Dゲームグラフィックスには応用できそうだ。

しかし、3Dモデルの形状が変更できない、変形できないという制約は、実質的に部位が折れたり曲がったりする人間や動物のような生き物を取り扱えないということに等しい。これは、リアルタイム3Dゲームグラフィックスへの応用を考えると大きな制約だといえる。

そんな中、2006年のSIGGRAPHで、Zhong Ren氏らが、「Real-time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation」という論文を発表し、PSF技法の動的PRTをベースにしながら自身の変形までをサポートする技術を発表した。

それが「SH Exponentiation」(SHEXP)というソリューションだ。

これまで形状変形が実現できなかったのは、シーンに登場するそれぞれの3Dモデルを「1個の剛体」として見なしてきたためだ。

SHEXP技法では発想を転換し、登場する3Dオブジェクトを、様々な大きさからなる球体の集合体として捉えるのだ。つまり、3Dモデルのその形は複数の色んな大きさの球体が集まって構成されているもの……として解釈して処理を進めるのだ。

これならば、その3Dモデルがどう変形したとしても「その3Dモデルを構成している球体が移動しただけ」と見なすことができる。

3Dモデルを複数の球の集合体として考えれば、3Dモデルの変形は球の移動として考えられる。すなわち剛体が移動することに対応したPSF技法による動的PRTが応用できることになる

SHEXP技法の実現に当たっての障害

このアイディアは素晴らしいのだが、いくつかの乗り越えなければならない問題が浮上してくる。

第一に、3Dモデルをどうやって球体に近似するかという実現方法について。理想は自動的に行うことだが、その3Dモデルにどのような変形を許容するかといった部分が複雑に関係してくるため、現実的には球近似化のオーサリングツール等を制作して、アーティストに球体化処理を手作業でしてもらうというのが一番の得策といえるかもしれない。

この球体近似については2つの論文が参考になるとされている。

1つはRiu Wang氏が2006年のPacificGraphicで発表した「Variational Sphere Set Approximation for Solid Objects」という論文だ。2つ目はGareth Bradshaw氏が2004年のSIGGRAPHで発表した「Adaptive Medial-Axis Approximation for Sphere-Tree Construction」という論文だ。ピラミッド社の実装では後者の論文の手法を実装したとしている。

ドラゴンの3Dモデルを異なるレベルで球状近似した様子

第二に、球で3Dモデルを近似してしまうと、細かい凹凸やトゲのような鋭利なディテールが失われてしまうという問題がある。これはディテール部の球体近似には直径の小さい球を用いることでそれなりの対応はできる。ただし、その場合は球の数が多くなり、PRT処理の際の負荷が高くなる。つまり、第三の問題とも関連が深いのだが、そのターゲットシステムの処理速度に応じて、どの程度の品質で球体近似するかを決定することになるだろう。

第三は処理速度の問題。3Dモデルを球体で近似できたとして、その全ての球に対して相互にPSF技法の動的PRTを行うことになる。つまり、処理負荷の高いSH Triple Productの回数は激増し、演算負荷がとても高くなってしまう。

第一と第二の問題はなんとか工夫で対応ができるが、この第三の問題は根本的な解決が必要となる。

そこでZhon Ren氏らの研究グループは、このSH Triple Product演算コストを低減するために「SH Log」と「SH Exp」という2つの新しい演算メソッドを開発した。(続く)

オリジナル3Dモデル

球体近似した3Dモデル

形状変形されても地面への影はもちろん、身体の各部位間の相互遮蔽なども配慮される。球体近似によってこそ、実現された技術。床の影やセルフシャドウは球体近似により、相当ぼやけているが、現実世界の影もこのようなもやっとしたものになることを考えれば、十分な品質といえる

(トライゼット西川善司)