Cutting Edge
ゲームクリエイターの映像表現を進化させる
“クリエイティブそのもの”を進化させる技術
お客さまに「最高の遊び場」を提供していくことをビジョンに掲げているソニー・インタラクティブエンタテインメント(SIE)。世界中に14のスタジオを持つSIEの強みを生かし、幅広いお客さまに楽しんでいただけるような魅力的なコンテンツを提供し続けています。このコンテンツの魅力を高める技術の一つがレイトレーシングです。2020年11月に発売したプレイステーション®5には、レイトレーシングに対応したAMD社のカスタムGPUが搭載されています。「レイトレーシングは、“クリエイティブそのもの”を進化させる可能性がある技術です」と語るSIEの渡部さんに、その理由を伺いました。
-
渡部 心
シンプルがゆえに広がる、多様な可能性
──渡部さんが研究開発されている「レイトレーシング」とは、どのようなものですか?
「レイトレーシング」という言葉を聞いたとき、コンピューターグラフィックスにおけるレンダリング(描画処理)技術を連想された方も多いかもしれません。ですが、「レイトレーシング」という単語の意味は文脈によって、大きく「広義のレイトレーシング」と「狭義のレイトレーシング」の2つに分かれます。まず「広義のレイトレーシング」とは、光線(Ray)と物体の交差判定を行う、シンプルかつ適用範囲の広い技術のこと。これが、私たちが研究開発している「レイトレーシング」です。一方で、「狭義のレイトレーシング」とは、光が光源から私たちの目に届くまでの過程をシミュレーションすることで、コンピューターグラフィックスのレンダリング(描画処理)を行うものです。鏡面反射や屈折を目から光源へと光の経路を逆方向に追跡する手法をはじめ、近年では映画制作などで積極的に用いられている確率統計に基づいた手法などのレンダリング手法のことを指します。
──ゲームの話題で使われている「レイトレーシング」とは、「狭義のレイトレーシング」ということでしょうか?
そうですね。プレイステーション®5の話題にも上るような「レイトレーシング」とは、その多くが「狭義のレイトレーシング」のことを指していると言っても過言ではありません。さらに詳しいことを言えば、昨今のフルCGのアニメーション映画などで使われている「狭義のレイトレーシング」は、「モンテカルロレイトレーシング」と呼ばれます。映画は基本的に、1秒につき24フレームで構成されていますが、その1フレームを作るために、大量のコンピュータを並列でつなぎ、膨大な処理を行っています。これをゲームに反映するのは、今のところ──私の想像ですが、少なくともこの数年間では──現実的ではありません。現状のゲームグラフィックを実現しているのは、「レイトレーシング」とは異なるレンダリング手法である「ラスタライゼーション」という技術です。このラスタライゼーションに、部分的に「モンテカルロレイトレーシング」の手法を取り入れていくことで徐々にステップアップしていく、というのがゲームにおける「レイトレーシング」の現在地ですね。
──近年、「レイトレーシング」という言葉を聞く機会が増えています。その理由を教えてください。
レイトレーシング技術を用いることで、ゲームの描画処理が抱える課題を解決できると期待されているからです。その課題とは、「プログラムの複雑化」です。ユーザーの皆さんから見ると、今のCGはかなりリアルになったと感じるかもしれませんが、その裏では非常に複雑なプログラムが動いています。また、リアルになったと言っても100%現実と区別がつかないわけではありませんよね。現状のラスタイゼーションだけの枠組みの下では、グラフィックの精度をより100%に近づけていくためには、既に複雑なプログラムをより複雑に記述しなければならないのです。たとえば、人物の影や水面反射を描くためには、その一つひとつに全く異なった個別のプログラムを実装する必要があります。さらに、個々のプログラムを組み合わせた時の相性など、さまざまな課題が出てくるため、ゲームクリエイターは緻密な調整を繰り返さなければなりません。現在、クリエイターの大きな負担となっている描画処理をレイトレーシングに置き換え、シンプルにすることができれば、クリエイターはもっとクリエイティブな部分に注力できるようになります。つまり、レイトレーシングとは、ゲームの“クリエイティブそのもの”を進化させる可能性がある技術なのです。
ハードウェア性能をソフトウェアで最大限引き出す
──従来の描画処理をレイトレーシングに置き換えるために必要なことは何ですか?
レイトレーシングの“高速化”です。光線と物体の交差判定は、単純な実装だと総当たり方式で判定することになり、物体の数に比例して交差判定の回数も増加してしまいます。レイトレーシングを“高速化”するためのアプローチにはさまざまなものがありますが、よく使われるのが、空間を分割して管理する空間データ構造を用いる手法です。このデータ構造の改善により、光線が通過する付近にある物体だけと交差判定を行い、計算量の削減に貢献できます。その典型的な空間データ構造の一つが、Bounding Volume Hierarchy (BVH)と呼ばれるもの。BVHでは各物体を階層的に箱で囲い、グループ化することで交差判定を効率的に行えます。BVHの構造は一つに決まりきったものではなく、作り方によって大きく性能に差が出ます。レイトレーシングがハードウェアでサポートされていても、データ構造の品質が低ければハードウェア性能の無駄遣いになってしまいます。つまり、ゲームにレイトレーシングを活用するためには、ハードウェアの性能を強化するだけでなく、それを使いこなす優れたソフトウェアを実装しなければなりません。私たちはハードウェアの性能を引き出すために、レイトレーシングを高速化するためのアルゴリズム・データ構造の構築や、クリエイターに提供するライブラリの開発を担っています。
──研究開発において、大切にしていることを教えてください。
普段の開発で意識しているのは、定量的な指標を用いて改善を続けていくことです。GPU(Graphics Processing Unit)など、ハードウェアの性能をさまざまな条件で計測してデータを把握しています。自分たちの強みや弱点を定量的に把握することができているので、試行錯誤の日々の中でも、確実に進化していることを実感できていますね。また、ゲームクリエイターとのコミュニケーションも大切にしています。プラットフォーマーとして、最も意識しなければならないのは、ゲームクリエイターに表現力を最大限に発揮してもらうことです。クリエイターが、われわれの提供するライブラリを実際のゲームに統合すると、私たちが予期せぬ問題・課題が見つかることがあります。そのため、スタジオからのフィードバックには迅速に対応し、ライブラリの改善を繰り返しています。
ゲームクリエイターとともに、さらなる楽しみと驚きを
──最後に、今後の展望を教えてください。
レイトレーシングの本質的な強みは、周囲の情報を正確に把握することです。グラフィック以外の用途では、例えば音響シミュレーションへの応用が考えられます。音が反響したり、裏側に回り込んだりと、これまでにない新しい“音”の表現が生まれるかもしれません。さらに他の応用としては、ゲームの敵キャラクター(CPU)、つまりゲームのAI(人工知能)が自分に向かってくるとき、どのような経路を通ってくるかなどの経路探索(シーン構造の把握)にも応用できるのではないかと期待しています。レイトレーシングには私たちやゲーム開発者の想像力次第で、まだまだ数多くの可能性があります。「ゲームグラフィック」という視点で技術を見てしまうと、もう十分に発展していてこれ以上進化できないようなイメージを持つ方もいらっしゃるでしょう。ですが、レイトレーシングをはじめ、まだまだ数多くの課題が残されていると考えています。特に、プラットフォームをつくっている私からすると、ハードウェアに近い部分の研究開発がいかに大切かということを実感する毎日ですね。私たちSIEが目指しているのは、新しい体験や豊かな経験、多様なコミュニケーションができる、「最高の遊び場」を提供することで、ユーザーとクリエイターとのインタラクティブなつながりが実感できるフィールドを創造すること。そして、プラットフォームの提供を通じて、クリエイターが自身の創造性や革新性を存分に発揮し、世界に届けられる環境を生み出し続けることです。ユーザーの皆さんにさらなる楽しみと驚きを提供していくために、ゲームクリエイターの皆さんの声を聞き、連携を取りながら、さまざまな課題に挑戦していきます。