Lucasarts '60fps Force Unleashed II Tech Demo

最近のSiggraph 2010で、Lucasarts CoderのDmitry Andreevは、彼が開発中に行った作業に基づいて非常に注目に値する技術デモを披露しましたスターウォーズ:フォースが解き放たれたII。 Xbox 360で実行されているビデオデモンストレーションでは、彼はデフォルトの30fpsで動作するゲームを示しましたが、その後、モーションブラーの除去以外の明らかなグラフィカルな妥協はありませんでした。

それはあなたが今すぐダウンロードしてあなた自身のために見ることができるデモですHDまたは、より帯域幅にやさしい標準defAndreevのエンコードオリジナルのプレゼンテーション表示することもできます。 2つのAVIビデオ(H264デコーダーを必要とする)がパッケージに含まれています。オリジナルのプロトタイプと、スターウォーズで実行されているさらに洗練された概念の証明:フォースはIIゲームエンジンを解き放ちました。

ゲーム業界で多くの議論を生み出したのは印象的な仕事だと言っても安全です。

一般的なレベルでは、ほとんどのコンソールゲームがより好ましい60とは対照的に30fpsで動作する理由があります。しかし、巧妙な技術と人間の知覚の搾取の混合を使用して、30fpsエンジンを作成できる場合はどうなりますかルックスそれは2倍の速度で実行されているように?

Andreevと彼の同僚は、真の60fpsの不思議な幻想を与えるシステムを考案し、既存のモーションブラーコードよりも少ないシステムリソースを使用しています。フレームレートアップスカラーのぼかしを交換すると、ゲームが既に60fpsで実行されている場合、フルオンマルチサンプルモーションブラーを実行する必要がほとんどないため、「無料」の60fpsの視覚的利点がすべて効果的にあります。

Andreevは、中間画像を作成してより滑らかな画像を作成するために2つのフレームを補間する120Hzのテレビを研究することにより、最初にテクニックのアイデアを得ました。一部のメディアプレーヤーのソフトウェアフィルター(たとえば、フィリップスなどトリメンションWindVDプレーヤーに見られるように)も考慮されました。このアプローチをゲームエンジン内で複製できる場合、ほとんどのモーションブラーアルゴリズムよりもはるかに心地よい効果を作成できます。 Siggraph 2008の後の議論はすぐにプロトタイピングにつながりました。

「それで、私が家に帰るとすぐに、私はそれで遊び始め、その後すぐに多くの問題があることに気づきました」とアンドレフは明らかにします。

「ほとんどの場合、多かれ少なかれ複雑なシーンやパフォーマンスの問題(適切に行われた場合は本当に遅い)に表示される別の種類のアーティファクト。と。"

Star Wars:The Force Unleashed IIは、30fpsゲームでのみ実行可能な多くのレンダリング技術を使用して、最先端のコンソールタイトルになりつつあります。しかし、フレームレートのUpscaler Techは、60fpsのものと同じくらいスムーズに見えるようになり、実際にはデモで置き換えるモーションブラーコードよりもシステムリソースへの課税が少ないです。

プロトタイプは、利用可能なソリューションと同じ手法を使用し、画像の要素があるフレームから次のフレームにどのように移動するかを示した「モーションベクトル」の画像を研究しました。問題は、補間された中間画像を再構築するのに十分な情報が利用できないため、明らかなアーティファクトを追加したことでした。さらに、モーションベクトルをハンニングすることは非常にCPU集約的です(したがって、まともなビデオエンコーディングが非常に長くかかる理由)。

Andreevはすぐに、レンダリングプロセスの構成要素自体が再利用され、代わりに使用される可能性があることに気付きました。

「私たちは彼らを完全に制御できるので、物事がどのように動いているかをすでに知っています。このようにして、いかなる種類の推定もする必要はありません」とアンドリーエフは言います。

「さらに、補間を行うと、私たちが満足している品質の種類に応じて、さまざまなことを異なる方法で処理できます。それに加えて、透明性の層など、画像のさまざまな部分に異なる補間技術を使用できます。 、影、反射、さらにはキャラクター全体。」

しかし、なぜ補間するのですか?結局のところ、すでに市場にはかなり印象的な60fpsのタイトルがいくつかあります。その理由は、キャップされた30fpsにドロップダウンすると、開発者にとってさまざまな新しいレンダリングテクノロジーが手の届く範囲内にあるためです。ゲームで見られる規模で照明を延期しましたKillzone 2、ぼかしと近日公開スピードの必要性:熱い追求追加のレンダリング時間を利用できるように、実際にコンソールでのみ動作します。また、ゲームを構築する基本的なプロセスにとって、人生をずっと容易にします。

「明らかに60fpsゲームを作成することは不可能ではありませんが、アート、デザイン、エンジニアリングのためのより厳格な生産プロセスが必要です」とAndreevは共有しています。

「多くの場合、プリプロダクション中に、スタジオは60fpsのゲームを作るのに何が必要かを確認しようとすると言ってもいいです。その後、60で走っているときにあまりきれいに見えないものを手に入れ、気づきました。すべての芸術は、レベルとゲームのデザインと同様に非常に慎重に生産されなければならないこと。」

Force Unleashed IIの輸送バージョンは、Xbox 360(写真)で5-11サンプルモーションブラーを使用しますが、PS3ゲームは並行して動作する5つのスパスを使用して、一貫した16のサンプル実装を提供します。

強固な30fpsタイトルをよりスムーズにするための1つのソリューションは、モーションブラーを使用することであり、画像をより現実的で流動的に見せるためのかなりまともな実装がありました。モーションブラーには、動きを定義するいわゆる速度バッファーの生成が必要です。ただし、モーションブラーの作成に使用するのではなく、バッファーを再利用して、2つのフレームの間の中間点で描画される補間された中間画像を生成します。

「モーションブラーの場合と同様に、速度バッファーをレンダリングします。中央のフレームを構築します。その現時点では、それが意図していたことを示しています」とAndreev氏は言います。

「30〜60fpsの変換の場合、内側のフレームをフレームの中央に提示する必要があることに注意してください。これは、もはや、それ以上ではありません。残りは実装そのものであり、かなりトリッキーです。」

重要なのは、利用可能な処理をできるだけ多く再利用することです。 Andreevのデモの場合、次のフルフレームの深さバッファと速度マップが生成されますが、この直後に、処理の途中で、このデータは最後のフレームの要素と組み合わせて、前に中間画像を補間するために使用されます。次の実際のフレームの計算は続きます。

この手法は遅れを引き起こすと思うでしょうが、次の「実際の」フレームの要素を使用して補間された画像が生成されているため、実際にレイテンシを減らします。 Andreevのテクニックは、デュアルフレームではなく、単一フレームベースです。後者のアプローチでは、2つの画像をバッファリングする必要があるため、大きなメモリとレイテンシーオーバーヘッドがありますが、Andreevを使用した手法は、過去および将来のレンダリング要素を使用してその場で効果的に補間します。

「最もシンプルで効率的なソリューションは、現在のフレーム中に補間を行うことですが、前のフレームは画面上にあります。このようにして、前のフロントバッファをテクスチャ(Xbox 360)としてマッピングし、補間に使用できます。直接」と彼は説明します。

「待ち時間の観点から、何か面白いことが起こっています。私は余分なレイテンシはありませんが、それは本当だと言いました。しかし、あなたがそれについて考えると、16.6ミリ秒前に新しい視覚結果が得られるため、レイテンシは実際に減少します。以前のあなたの行動の結果。」