公開カイオウ、ヒョウが登場。コンチェルト」カワイイ+“戦闘の楽しさ”に焦点。理由は「さらなるクオリティ向上のため」。冬」インタビューテーマは「コミュニケーション」。Nua]」ダウンロード版の発売が決定。期間限定無料追加パックを配信WIN「ファイターズクラブ」本日アップデートレベルキャップを30まで開放。ゆるかわロボット登場のロボット生産アプリiOS「バーコードフットボーラー」事前登録開始3兆通りの選手をバーコードで生成。“ビビッド・ハート”と“シンデレラ・ハート”。f」の楽曲やカスタマイズアイテムを配信!「ラグナロクオンライン」11月28日「大規模バランスアップデート」実装スキルやモンスターの調整を一新。クリードIII」Windows版を12月21日に発売ダウンロード版も同日発売。「イース」シリーズとコラボレーション。「リンドバーグ」の基板。背面にはPCで見慣れた端子が並ぶ今回は、本連載初となるアーケードゲームを取り扱う。X2」を発表するなど、この流れは進行の一途をたどっている。今回取りあげるセガの大ヒット3D格闘ゲーム「バーチャファイター5(VF5)」も、昨年発表されたセガのPCベースシステム基板「LINDBERGH(リンドバーグ)」ベースで動作している。リンドバーグのタイトルとしては、第1弾のガンシューティングゲーム「ハウス・オブ・ザ・デッド4(HOD4)」、テニスゲーム「パワースマッシュ3(パワスマ3)」などがある。アーケードゲームのシステム基板がPCアーキテクチャに移行してきた理由はいくつかある。1つは汎用部品としてPCパーツを利用でき、システム価格を下げられるということ。2つ目は熟成されたPCハードウェアの知識や開発環境を利用することで、ソフトウェア開発が行ないやすいという点だ。360といった次世代ゲーム機がPCの遺伝子を継承したプログラマブルシェーダアーキテクチャを採用してきた事を踏まえれば、(CPUの違いはあるものの)グラフィックス面に関しては相互移植性が高いという点もメリットとして挙げられるかもしれない。4(3GHz)、メインメモリ1GBといったスペックは、パソコンとしてみると「超ハイエンド」というわけでもないが、Windowsのような大規模汎用OSを動かさずにゲームコンテンツにのみにほぼフルパワーを割けるアーケードシステムということを考慮すれば、性能的には妥当なセンだろう。使用OSについては非公開。GPUについては「SM3.0世代のNVIDIA製GPU」ということになる。Duo+PCI-Expressシステムに移行する可能性は否定できない。60fps維持が絶対条件だったVF5のグラフィックスVF5のグラフィックステクノロジの詳細に触れる前に、VF5のグラフィックス仕様についてまずは見ていくことにしよう。大胆に例えて言えば、「VF」シリーズに限らず、格闘ゲームは1/60秒単位でじゃんけんを行ない続けるゲームだ。このため、フレームレートが一定でないと、行動条件に不均衡が生まれ、フェアでなくなってしまう。そこで、フレームレート維持を徹底してゲームを設計するのが常。VF5では、PCベースのシステム基板でグラフィックスを実装する都合上、OpenGLベースで作り込まれている。APIを介してでしかハードウェアの状態を知ることができない、いわば直接ゲームアプリ側が管理できないようなシステム上でフレームレートの維持は易しいことではないように思える。パフォーマンス測定用のGUI画面。毅氏「60fps維持は最重要課題として取り組みました。グラフィックスにボトルネックが出た場合、それがどこにあるのかわからないという問題に悩みました。崇氏「OpenGLに命令コマンドを与えてから実際にGPUが描き出すまでのタイミングがAPIレベルで把握できないので、最初は苦労しましたね。最終的には60fps維持を実現しています。60fps維持できなかったら“ヒドイ目にあわすぞ”と上から言われてましたし(笑)」VF5では、レンダリング解像度を1,280×768ドットとしており、これをリアル720p相当のハイビジョンモニタに出力している。筐体に採用されているディスプレイパネルは画面サイズや消費電力等の要因から液晶となり、その中から最速の液晶パネルを選択したという。残像が少なく、プレーヤーからの評判も上々で、パネル解像度は1,366×768ドット。レンダリング解像度と表示解像度が違うが、これはどういう事なのだろうか?山之内氏「レンダリング解像度は1,280×768ドットなので、1,366×768ドット表示時には数十ドットの非表示エリアが左右に付きます。1,280×768ドットなのかといいますと、開発機材を1,280×768ドットのものにあわせて揃えており、もし横幅が1,366ドットになって、両横43ドットずつ非表示になっても問題ないと判断されていたからです」1,280×768ドットの画面で60fpsを維持し、しかも複数のシェーダを稼動させながらのレンダリングというと生やさしいものでは無いイメージがある。前述したようにリンドバーグはAGPシステムなので、かなりギリギリという感じがする。加東氏「ボトルネックは(GPUの)バスよりも、ピクセル負荷の方によく見られました。山之内毅氏(セガ、AMソフト開発本部、第二AM研究開発部、プログラマ)。グラフィックス担当のプログラマ。5900を与えられて、あれにはかなり苦労しましたね(笑)。最終的にSM3.0になって良かった。加東崇氏(CRIミドルウェア、研究開発部、グラフィックスプログラマ)。「CRIミドルウェアからセガに出向しているグラフィックスプログラマです。VF5はOpenGL2.0ベースで開発されています。3D格闘ゲームだからこそできた人間LODシステム?処理速度を考えずにアイテム装着しまくった画面VF5では3D格闘ゲームではあるのだが、帽子や衣装、アクセサリといったアイテムを手に入れることで、プレーヤーは任意の組み合わせでキャラクタをデコレートできる。アイテム一杯付けているキャラ同士が戦うとフレームレートが落ちたりしてもう大変(笑)」VF5では投げ技が決まると「投げカメラ」と呼ばれるシネマティックなカメラワークで技のアニメーションが入り、演出でキャラクタがアップになることがある。この場合、キャラクタが大きく描かれ、シェーダが多くのピクセルに適用されることで負荷が高くなる。detail)システムを導入することが多い。最近の3Dゲームグラフィックスでは、描画するオブジェクトが視点から近いか遠いかで、シェーダの精度を切り換える「シェーダLOD」というテクニックも採用されつつある。これは、つまり、視点から近く大きく見えるキャラクタには、リッチなシェーダを動かすが、遠いキャラクタには低負荷な簡易シェーダを動かすというようなものだ。VF5では、フレームレート至上主義で作られたとはいえ、その60fps維持のために動的なLODシステムを導入していない。VF5のような3D格闘ゲームは基本的にカメラが2人のプレーヤーキャラクタを捉え続け、普段はそれほどシーン上にキャラクタの増減がない。遠くの背景はいつまでも遠くのままだ。そこで、遠くの背景にはそれなりのポリゴン数予算で、シェーダもそれなりの品質に留め、近くの背景やキャラクタには多くのポリゴンを割き、シェーダは高度なものを動かす......というような実装にしている。前述のように負荷が変わる状況はあるにはあるが、「装着アイテムが増えたとき」、「投げ技でカメラが寄ったとき」などなど、高負荷になる状況は予測、想定できるため、そうしたケースで60fpsが破綻しないように調整すれば、本来は難しい最高品位のビジュアルとフレームレート維持の両立の糸口も見えて来るというわけだ。VF5のポリゴン予算はVF4の3倍!VF5のグラフィックスはプログラミングAPIとしてはOpenGLを採用しているが、シェーダのプログラミングはOpenGLベースのシェーダアセンブラ言語「ARBアセンブラ」を使用。EXTENSION)も駆使している。Language(GLSL)を用いていたり、「パワスマ3」では、NVIDIAの高級シェーダ言語「Cg」を使っていたりする。PS3では、OpenGL/ESを採用しつつも標準シェーダ言語には「Cg」を採用しているので、VF5のPS3への移植においては少々苦労した......という情報も筆者の耳に届いている。逆に同様の理屈で、PS3版の「パワスマ3」ではその部分は楽になったと聞いている。現時点では、シェーダ設計の言語が異なる点と、それほど大規模なシェーダを作成していないこともあって、各開発チーム同士のシェーダの共有は行なわれていないそうだ。山之内氏「とはいえ、他チームのグラフィックスで凄そうなシェーダが動いていると、パワスマ3チームのところに出向いて『これ、どうやってんの』と聞きに行ったりはしましたよ(笑)」ポリゴン数が全てではないが、VF4とVF5では使用ポリゴン数などはどうなっているのだろうか?牧野宗和氏「VF4のときが1キャラおよそ1万2,000ポリゴンくらいでしたね。VF4で大体5万ポリゴン前後、VF5では大体10万~30万ポリゴンくらいです。キャラワイヤーフレーム。AM研究開発部、デザイナー)。「VF5では主に背景、ステージのデザインを担当しました。背景は法線マップとか贅沢に使えなかったんですけど(笑)、クオリティは絶対に落としたくなかったので使える機能と技術を全部盛り込んで頑張りました。木の1本1本も手作りです。AM研究開発部、アシスタントマネージャー)「VF5ではキャラクタのデザインを担当しました。質感とか、かなりこだわって作り込んでいますので、プレイ中にもその辺りを気にして見て頂ければ嬉しいです」VF4はドリームキャストのアーキテクチャの最終形といわれる「NAOMI2」上で動作していた作品だ。ハードウェアベースのジオメトリエンジンを積んでいたので当時としては群を抜いたポリゴン性能だったが、時代が進みGPUが進化したことで3倍程度のポリゴン予算が持てるようになった。いうより、実際のところ、VF5では、ポリゴン数を気にしてのデザイン開発はやっていないという。確かに、平均的な最近のPCゲームと比較しても、VF5のポリゴン数はかなり多く感じる。6200から7950GX2に至るまでターゲットGPUに幅がある。ターゲットハードウェアごとに最適な3Dモデルを複数持つのは開発コストやデータの冗長性に繋がるので、大体その時代のミドルクラスで処理できる程度のポリゴン数の3Dモデル設計をすることが多い。レンダリング解像度、ポストプロセス段数などで、クオリティとパフォーマンスのバランスを取るようにした設計が多い。VF5では、ターゲットGPUがハイエンドクラスのものに固定された仕様であるため、比較的リッチなジオメトリデザインが実現できた。360のタイトル群のグラフィックスもポリゴンモデルが平均的なPCゲームより高めと感じるのは同様の理由からだ。影生成はデプスシャドウ技法+スクリーンスペースフィルタ処理を組み合わせた秘伝の技法でVF5ではシリーズ初となる、セルフシャドウ付き影生成を採用している。動きが激しいゲームなのでわかりにくいが、じっくり目を凝らしてみよう。首から頭までの影が肩に落ちるし、顔の凹凸においても影が出る場合がある。振り上げた腕の影が自分自身のボディに投射されるし、それらの影が相手キャラクタや背景にも投射され、また、着ている衣装の影がキャラクタの地肌にも投射される。いわゆる簡易影生成ではなく、かなり力の入った影生成が行なわれていることが伝わってくるはずだ。今流行りのソフトシャドウ(半影)処理も適用されており、現実世界の影に近い輪郭の淡い半影を伴っている。VF5の影生成の基本メソッドとしては「シャドウマップ技法」(デプスシャドウ技法)を採用している。【デプスシャドウ技法の概念図】デプスシャドウ技法ではシャドウマップの解像度を無限大にしないとシャドウマップの解像度に依存したこうしたジャギー(エイリアシング)が出てしまう。無限大にするのは無理なので必然的に出ることになる。視点に近い位置の影にジャギーが出やすいセルフシャドウの例。ジェフリーの首の影が肩に落ち、さらに、持ち上げられたウルフの影もジェフリーに落ちている事がわかるただ、この技法には弱点がある。それは、視点に近ければ近くなるほどシャドウマップ解像度に依存したジャギー(エイリアシング)が出てしまうという点だ。この弱点を克服するためにデプスシャドウ技法にはこれまでに様々な改良が施されている。Maps(CSM)技法が実装され、それぞれユニークな工夫で弱点の克服に挑んでいる。今年のSIGGRAPH2006では、ノースカロライナ大学が対数系デプスシャドウ(LOGSM)技法を発表して話題を呼んだ。VF5の影を見ると、それほど目立ったエイリアシングは見えないが、一体どのような工夫をしたのだろうか?牧野氏「VF4の時は低ポリゴンモデルを別に用意してステンシルシャドウボリューム技法での影生成を行なっていましたが、VF5ではデプスシャドウ技法に切り換えました。加東氏「この程度のシャドウマップ1枚では到底エイリアシングは回避できないので、我々は、ちょっと一風変わったテクニックを開発して実装し、そのデプスシャドウ技法の弱点をごまかしているんです」デプスシャドウ技法自体はセオリー通りそのまま実装しているが、まず、デプスシャドウによるジャギーを含んだ影付きのフレームを生成し、このフレームを元に2Dベース(スクリーン座標系)のぼかしマスクフレームを生成する。喩えると「影と日向」からなる型抜きフレームを作って、これをぼやかしてマスクとする。最終的にシェーダやテクスチャを適用したリッチなフレームと影フレームと影のぼやかしマスクを合成して、「セルフシャドウ付きソフトシャドウ」を作り上げるのだ。フィルタ前のシャドウマスクを使用した画面。フィルタ後のシャドウマスクを使用した画面。ジャギーが解消し、エッジがぼけた影になっているこの技法の特徴は、デプスシャドウ技法のエイリアシングを「2D画像処理」で消してしまうというアプローチだ。SM3.0世代のGeForce系ソフトシャドウといえば、「スプリンターセル3:カオスシオリー」で実装されたピクセルシェーダの条件分岐命令を駆使した適応型マルチサンプル技法の方が技法としてスマートのようにも思えるのだが......。山之内氏「我々もその技法は実は開発初期段階では実装して試してみたんです。加東氏「我々のこの方法だとコンスタントに大体1msの時間がこれにかかってしまいますが、負荷は基本的に常に一定にできます」ただ、「投げカメラ」演出時や、オープニングデモなどにおけるキャラクタのアップショット時には、ジャギーが出ている瞬間を目にすることがある。あまりにも視点が近くなり、ジャギーが大きくなった場合には、このVF5マスク式デプスシャドウ技法でも消しきれない。このマスク技法でも消しきれない影のエイリアシング。影生成は実は二段構えの方式VF5における影生成は、実はこれだけではない。画面を見ただけでその違いを判別するのは難しいが、各キャラクタの地面に落ちている影は、実はデプスシャドウ技法で生成されているものではない。地面に落ちる最も目立つ影は、昔ながらの簡易影生成方式であるシルエット投射テクスチャマッピングを採用しているのだ。シルエット投射テクスチャマッピングは、デプスシャドウの原型ともいえるもので、影生成元の光源位置から見たキャラクタのシルエット(外郭像)をテクスチャに生成し、これを光源からプロジェクタからの映像投影のようにテクスチャマッピング(投射テクスチャマッピング)することで実現する。低負荷であるため、PS2のゲームでは広く活用されており、PCゲームなどでもRPGやRTSなどでは未だに採用例が多い技法だ。その投射するシルエットには、投射距離が長くなる頭部に行けば行くほど強いぼかし(半影加工)を施しており、リアルな半影になっている。シルエットテクスチャのミップマップレベルを色で表示した画面。背景モデルの頂点毎にキャラクタモデルからの距離を求めて、ミップマップレベルを計算し、トライリニアで合成しているシルエットテクスチャのミップマップに対して、シルエットを徐々にぼかして格納している画面。白は近い距離用、青は遠い距離用(色がつけてあるのはデバッグ用のため)まとめると、VF5ではマスク付きデプスシャドウ技法とシルエット投射テクスチャマッピング技法の2つの影生成技法を組み合わせていることになる。加東氏「地面に落ちる影というのは存在感があるものなので、これを別途生成するようにしました。村井氏「遠くの背景の影などは、リアルタイム生成しない、プリレンダな焼き込みの影ですし。全てのシャドウが適用された画面なお、背景オブジェクトの影などでも、壁や柵、存在感のある大道具オブジェクトの影などは前出のデプスシャドウ技法によって生成し、対戦している2体のキャラクタにちゃんと投射されるようにしているという。1つのユニバーサルメソッドではなく、理想の映像に仕上げていくために複数技法を組み合わせて使うというのは、日本の職人技的なアプローチだと言えよう。シルクロードステージの背景。人間シェーダとプロシージャルテクスチャVF5では、VF4よりもポリゴン数が多く、影生成もしっかりしているが、それだけではなく、1つ1つの細かい材質の質感にパワーがあってとてもリアルに見えると思う。これは、プログラマブルシェーダを駆使した、特殊なシェーダを実装して実現されているように見えるが、実際はどうなのだろうか。いったものについてはデザイナーさんのセンスでそうした要素を調整してもらって、それっぽく見せているという感じです。基本は、「デフューズ、スペキュラ、法線マップ」の3要素で構成されるが、確かにスペシャルカスタマイズされたシェーダもあるという。したエンボスは法線マップによるバンプマッピングで表現されているが、肩の部分の“ほつれ”の部分は法線マップ+α値を読んでの透明/不透明合成を行なっている。水面が登場するシーンでは、服が濡れると、濡れた事を表現するためのパラメータを拾ってそれっぽく見せる工夫もしている。ひとつシェーダ毎の特殊機能の例。水濡れ時の布ユニークなのがパイのチャイナドレスのような、テカテカした独特な異方性反射(見る角度によってテカリや色が変わって見える)を伴った質感のサテン(Satin)生地についての表現方法。これは、環境マップ側に周囲の情景だけではなく、布の素材模様も埋め込むようにして、これを環境マップとして適用しつつ、デフューズ、スペキュラを調整するという、かなり変わった実装で表現している。牧野氏「物理的に正しい処理なのかはよくわからないのですが、それっぽく見えるんです。普段とか、ツールとかで実験していると時々、何かに使えそうなものが偶然できる。サテン生地の表現を実現するためのテクスチャ一覧。左が実際のテクスチャ、右がわかりやすいように拡大したもの。上からカラーマップ(デカール)、スペキュラ・マップ、環境マップのマスク(スペキュラマップのα部に格納)、法線マップ。「環境マップのマスク」が、きらきらと糸が光る表現を実現するポイントとなっているVF5の開発では、特にシェーダのオーサリングツールのようなものは用いず、パイのチャイナドレスのように、基本シェーダの適用具合と、それに与えるデータをデザイナーが工夫して作成することで、様々な質感を作り出しているわけだ。ディズニーアニメで骨が折れた時の効果音をセロリの折った音で代用した方がリアルに聞こえるというエピソードをメイキング映像で見たことがあるが、まさにそれに近い、独自のアイディアと工夫で“リアル”を作り出しているわけだ。いうなれば「人間シェーダ」といったところか。男性キャラでその効果がわかりやすいさて、人間キャラクタが主体の格闘ゲームなので、気になるのが肌の陰影処理だ。肌に特化したシェーダを「スキンシェーダ」などともてはやしたりするが、意外にも、VF5ではスペシャルなスキンシェーダは用いていない。基本はスペキュラ(光沢)の調整で、肌のみずみずしさや汗の感じを表現しており、いわゆる表面下散乱シェーダ的な特殊処理は実装していない。肌も、他の素材と同じく基本シェーダの調整でそれっぽく見せているのだ。牧野氏「でも、女性キャラ限定で特別な処理系が入っていますよ。女性キャラは、陰影が際立ったり、セルフシャドウが強く出たりすると美人度が下がってしまう(?)ため、見えないレフ版(光源)を設定することで、顔の陰影が出にくくさせ、ライティングで調整しているのだという。逆に男性は陰影が濃く出た方がかっこよく見えるため、そうした工夫は特に行なっていないという。VF5においても、女性キャラクタは「女優扱い」であり、システムレベルでライティングには気を使っているのだ。