繰り出している拳が大きくなり、ガード状態の拳は小さくなっている(左)。部位誇張表現オフ(右)部位誇張表現オン。ザンギエフのセービングアタック。繰り出している肩から上腕、拳までが大きくなっている。こちらも、やはりガード状態の拳は小さくなっている(左)。続いて気になるのが、当たり判定範囲や、攻撃判定範囲についてだ。3Dグラフィックスで展開する「ストIV」シリーズにおいて、これはどのように処理しているのだろうか。塚本氏:キャラクターのモーションはアーティストが手付けで設定しますが、当たり判定範囲や攻撃判定範囲の設定は、出来たモーションを見ながら、プランナー(ゲームデザイナー)が専用のツールで設置していきます。最初期のプロトタイプでは、3Dで当たり判定や攻撃判定を行なう仕組みも実験してみましたが、プレイ感覚が2D格闘のイメージとはだいぶ違ってしまったので、今の方針を採択しています。あのプロトタイプはあれはあれで面白かったんですが。攻撃判定が直方体で設定されていて、なんというか3D格闘みたいな感じでした(笑)「ストIV」シリーズは、グラフィックスは完璧な3Dグラフィックスだが、ゲーム根幹部分は、かなり純度の高い2D格闘ゲームシステムになっていることがよくわかる。ゲームロジックとしての衝突判定は2D格闘ゲーム的なのはよくわかったが、描画されるグラフィックスはとにもかくにも3Dなので、2体のプレーヤーキャラクターにはそれぞれ厚みがある。互いに重なり合ったときには、うまく処理しないとめり込みなどのアーティファクトが発生してしまう。繰り出された拳が、相手の身体に潜り込んでしまうのはまずい。リードデザインエンジニア)竹歳氏:3Dグラフィックスとしての衝突判定は、自キャラ自身に対してしか行なっていません。衣服やアクセサリが自キャラの身体にめり込んでしまったりすることがないようにちゃんと衝突を取っています。相手キャラクターに対して、自キャラの部位や衣服、アクセサリの衝突は取っていません。自キャラの衣服やアクセサリが相手キャラにめり込むことはあります。これは処理負荷に配慮した省略事項になります。いうことは、自キャラの技、すなわち自キャラの身体の部位が、相手キャラにめり込んでしまうこともあり得るはずだ。実際にプレイしてそういう局面に出くわしたことはない。これはどのように回避しているのか。実はガイルのサマーソルトはヒットしていなかった!亀井氏:これも「ストIV」シリーズ、独特の工夫で対処しています(笑)。実は、攻撃モーションに関しては、相手キャラにめり込んだりしないように、軌道を意図的にずらしているんです。具体的にいうと、たとえばパンチは腕をやや視点側にずらして繰り出しています。ガイルのサマーソルトキックも見た目直上に蹴り上げている雰囲気がありますが、実際には視点“寄り”に斜めに蹴り上げています。視点が動かない2D格闘ゲームシステムならではのテクニックですね(笑)。これは非常にユニークかつ巧妙な調整だ。いうなれば、「ストIV」シリーズで闘い合っている2人は絶妙な間合いで技を寸止め、あるいは軌道をずらしてかすらせているのである。究極のスタントアクションと言ったところか。動きの部分では手付けモーションが支配的な「ストIV」シリーズだが、キャラクターが身に付けているアクセサリや衣服の制御に簡易的なバネ物理シミュレーションなどが活用されているとのこと。これはリアルタイム処理されているので、決め打ちの挙動ではない。亀井氏:ただし、演出上、衣服やアクセサリもDCCツール上で手付けされたアニメーションに推移することがあります。衣服やアクセサリが、そのキャラクターの必殺技アクションの一部になっているような場合で、まことのウルトラコンボ「正中線五段突き」では、まことの身につけているマフラーが演出上、必ず風でなびきます(笑)。衣服やアクセサリは物理シミュレーションと事前設定したモーションのどちらでも駆動される設計になっているんです。した一連の要素が折り重なることで、「ストIV」シリーズの2D格闘ゲームらしいゲーム性が実現されているのである。キャラクターの左右反転はモーションの反転で対応2D格闘ゲームの場合、例えば右向きのキャラクターのドット絵を仕上げてしまえば、左向きのキャラクターは基本的にはこれを反転させて用いれば良い。左右非対称形状のキャラクターの場合、実際問題として不都合が起きるが、「ストII」シリーズ時代は、こうした点に関しては許容されていた。キャラクターは「ストIV」シリーズではちゃんとその左右非対称が維持される竹歳氏:「ストIV」シリーズでは、モーションだけは単純に左右反転させて用いています。グラフィックスに関しては、3Dモデルの左右反転はさせずそのまま用いています。サガットのアイパッチで覆われている目は反転しませんし、昇竜拳の傷跡の向きも反転せず変化しません。バルログが腕に付けている鉤爪については、キャラクター反転時に付け替えが発生している。右向き時に右腕に付いていたのが、左向き時には左腕に付いているという現象が起きるのだ。これはゲーム性を重視したためだ。亀井氏:当初は、反転時に、鉤爪を付け替えるモーションが存在しました。これは最終的に見栄えが良くないのでカットされています。ストIVはハイブリッド投影グラフィックスレーシングゲームなどで敵車を横から追い抜いた際に、自車の横にいる敵車が「びよ~ん」と引き延ばされたような見た目になって画面の端に消えていくのを見たことがあるはずだ。これは3Dグラフィックスにおける最も基本的な座標変換である透視投影変換を行なったことによる弊害で、ある一定範囲の画角(描画範囲)を、視点から見た矩形領域の視界で切り取るために起こる歪みである。画角や視点から対象物までの距離にもよるが、視界の端(画面の端)に行けば行くほど横に太る傾向がある。ちなみに、画角を広く取れば取るほどその傾向は顕著になる。2D格闘ゲームの場合は画角の概念がないので問題にならないが、3Dグラフィックスベースとなった「ストIV」シリーズでは、この問題が大きくのしかかることとなった。画面の中央と左右端でキャラクターが痩せたり太ったりしてしまっては、相手の技の見切りタイミングや、こちらの衝突判定部分の予測が行ないにくい。正射影(平行投影)でパースを消してしまうというアイディアもあるにはあるが、そうなると背景グラフィックスのダイナミック感というか奥行き感が死んでしまう。竹歳氏:これは射影を調整する特別な頂点シェーダーを実装することで対処しました。基本的には闘う2人のキャラクターだけは、X軸方向(横方向)のみ、正射影(平行投影)でレンダリングするような座標系に調整しています。亀井氏:一方で、背景は一般的な透視投影変換でレンダリングしています。背景はよりダイナミックに見えるように広角気味にしています。塚本氏:これは「ストリートファイターIII」などの、2D格闘ゲーム時代のカプコン作品の背景画がやや魚眼レンズで捉えたようなパースきつめの背景画になっていたことに倣ったものです。き」レンダリングを基本としたものの、より自然に見えるように(つまりは、より2D格闘ゲーム的に見えるように)、最終的には透視投影変換の影響を50%の強度でブレンドする仕様となったという。ゲームプレイ時の視点位置からずれて展開するウルトラコンボシーンやイベントシーンなどにおいては、全てのオブジェクトが通常の透視投影変換が行なわれた座標系でレンダリングされる。「ストIV」シリーズをプレイしていて、画面に表示されている体力ゲージやウルトラコンボゲージが、グラフィックスのどのレイヤーに描画されているのかを気にしたことがあるだろうか。一般的な思い込みとして、こうしたHUD的な情報はプレーヤーに1番近い、つまり最手前に描かれているイメージを持っていると思う。すると、ジャンプを多用するキャラクターを使っているプレーヤーは気がついたかも知れないが、実は「ストIV」シリーズでは、向かい合っている2人の主要キャラクターがこのゲージに差し掛かったときには、キャラクター側の方が手前に描かれるのだ。他のどんな背景オブジェクトと重なってもこうした描画にはならない。主要キャラクターだけが、ゲージの手前に来るという不思議なレイヤー構造になっているのだ。地味なことだが、これはゲームプレイ時にキャラクターのアクションがゲージに隠されてしまわないようにするグラフィックス側の配慮なのだ。この実現には、なにか特殊なマスク処理を行なっているのだろうか。ゲージは全てのオブジェクトに対して手前にあるように見えるが、実はキャラクターと重なったときには後ろ側に回る(左)。した特殊描画をオフにしたテストショット。いう議論がなされました。このままでもいいという意見もあるにはあったのですが、最終的にはゲージはプレイキャラクターを避けて描くという選択をしました。亀井氏:最初は、ゲージに掛かりにくくするために「カメラを引く」という選択肢も提案されたのですが、プレイキャラクターが小さくなってしまっては迫力に欠けると言うことで却下されました。実際の処理系としてはまず、2人分のプレーヤーキャラクターをレンダリングする際に、フレームバッファのαチャネル部分にプレーヤーキャラクターの描画箇所にフラグを出力し、これが事実上のマスクの役割を果たす。ゲージを描画する段階時に、そのフレームバッファのアルファチャネルを参照し、キャラクター描画がなされたことを示すフラグが出力されているところにはゲージを描かないようにする。結果、主要キャラクターのレンダリング結果は抜かれて手前にあるように残るというわけだ。描画順序としては最初にキャラクターをレンダリングし、その後、背景を描画して、ゲージを描いて、最後に閃光などのエフェクトを描画するので、エフェクト群は必然的にゲージよりも手前側に描かれることになる。描画結果(左)、この時のマスク情報。AE」で新追加となった4名を入れると「ストIV」シリーズは現在までに総勢39体のプレーヤーキャラクターがラインナップされるが、キャラクターによっては、前編で解説したキャラクター表現用の標準的なシェーダーセットでは収まらず、それ以外のスペシャルなシェーダーを利用している者もいる。AE」の新キャラ、ハカンなどはその筆頭だ。竹歳氏:ハカンの油ぎった肉体のテカリは特別仕様のシェーダーを適用して表現しています。具体的には、視線と光源の位置関係でできるハイライト部分を周期的に揺らがせることで実現しています。詳しくいうと、視線から見て面の内側と輪郭部に出るそれぞれのハイライトに対し、個別に強度や揺らぎを調整しています。ハイライト自体の色も、アーティストに設定してもらっています。ハイライト色は、油なので基本的には、やや黄味を伴った白色になっている。油がしたたり流れているようなハイライトの動きはサイン関数を用いてシェーダー内で実現している。この部分はシミュレーションが行なわれているわけではなく、いうなればプロシージャル的な実装になっている。油のハイライトの高輝度部がぼわっとブルームを起こしているように見えるが、これは前編で解説したHDRレンダリングパイプライン側で実現されるもので、ハカン専用シェーダー側が何か特別なことをやっているわけではない。したHDRレンダリングパイプラインによる高輝度成分の溢れ出し効果の応用は、セスの丹田エンジン、殺意リュウの背中の傷のマグマのような煌めきなど、他キャラクターにも幅広く行なわれている。【ハカンのスペシャル油シェーダー】ハカンのスペシャル油シェーダーをオフにした状態。ある意味、貴重なショット(左)、ハカンの製品版時の通常状態。油の色はシーンごとに変更が可能。これはあえて水色に設定したテストショット(右)竹歳氏:セスの肌が変色していくアニメーションはピクセルシェーダーでの実装です。セス専用テクスチャのαチャネルに、段階的に肌を変色させていくための敷居値分布が書き込まれており、ピクセルシェーダーがこれを読んで、入力されたパラメータとその敷居値を比較して条件を満たすときに、肌を黒っぽくシェーディングしています。入力パラメータを変化させることで、身体の黒い部分がアニメーションするというからくりです。左上がセスの製品版の通常状態。AE」の新キャラ、ユンには幻影陣、ヤンには星影円舞という分身技がある。暗い残像状態の分身だが、ジオメトリ構造を持っていそうに見える。3体の分身が出現するので描画負荷が高そうに見えるが、これはどのように実現しているのだろうか。竹歳氏:残像部分は実際にジオメトリ構造を持っており、本体キャラと同等の3Dモデルになっています。できる限りの手抜きをして描画負荷を最小限に留めています。頂点シェーダー周りについて言えば、本体キャラのアニメーション結果(ボーン位置)を保存してそのまま流用していますので、CPU負荷は最低限になっています。ライティングは省略しており、テクスチャに関してもカラーマップのみを適用し、法線マップ等の適用は省略しています。ピクセル描画負荷はそれなりに高いことには変わりありませんが、こうした工夫の効果でなんとかなりました。残像部分は透けて見えている。これが半透明描画されているのだとすると描画負荷が高そうだ。竹歳氏:半透明が使えるか、使えても重い処理となるハードでは格子状に細かくドットを抜いて描画することで背景を透かせるテクニックがありましたが、アレと近いようなことをピクセルシェーダーを使って実現しています。視点位置や視線角度によらず、安定して規則的なドット抜き描画を実現させるために画面座標系のテクニックを用いています。テクニックだピクセルシェーダーが分身を描画する際に、画面座標を見て「その座標位置に応じてそのピクセル描画するか」、それとも「破棄するか」を決定していると言うことだ。実際にやっていることはもう少し複雑だが、たとえるなら「画面座標のX座標が偶数のビクセルは破棄する」...と言ったような処理系を行なうわけだ。サイズの大小によらず、確実かつ安定したドット単位の抜き描画が行なえるのだ。アシスタントプロデューサー)竹歳氏:ただ、ドットを抜いて描画するのでは単調だと思い、斜め方向にドットを抜いたパターンがスクロールするような効果を、ピクセルシェーダー内でサイン関数を用いて実現しています。綾野氏:ユンはキャラ自体も強力ですが、描画負荷も最強レベルなんですよ(笑)。塚本氏:ユンに飛び道具がないので助かりましたよ(笑)。あったらユン同士のバトルなんかは描画負荷が高すぎて、ダメだったかも知れないです(笑)。殺意リュウや狂オシキ鬼などには燃えさかる炎のようなオーラエフェクトが付加されているが、このオーラ越しに見える背景はぶれて見える。オーラには、いわゆるスペースワーピング(空間歪み)効果が盛り込まれているのだ。狂オシキ鬼のオーラは背景を歪ませている(左)、空間歪ませ効果あり(製品版状態)(中央)、空間歪ませ効果なし(右)オーラエフェクト自体のアニメーションは、オーラエフェクトを構成するパーティクルに適用されたテクスチャをスクロール(テクスチャのuvスクロール)させているだけだが、このオーラの模様を、モーションブラー生成用のベロシティバッファに描き込むことで、モーションブラーの処理系に相乗りしてこの空間歪みエフェクトを実現している。オーラの模様でベロシティバッファに描き込むことになる速度と方向情報は、UVスクロールの速度と方向そのものとしている。綾野氏:空間の歪みはよく観察しないとわからないかも知れないので、注意深く観察して見てみて下さい。将来的にはもっと派手に空間を歪ませたいですね。奥まで作り込まれている背景グラフィックス「ストIV」シリーズと言えば、非常にリッチな背景グラフィックスも魅力の1つとなっている。2D格闘ゲーム時代は、反復パターンからなる背景動画と、限られた動的キャラクターが動くだけのものだったが、「ストIV」シリーズでは、もはやNPCといっていいほどの存在感のあるキャラクター達が動き回り、色とりどりのアクションを見せてくれる。この背景は一体どこまで作り込まれているのだろうか。塚本氏:開発チーム内ではフィールドとは呼ばずにステージ(舞台)と呼んでいたことからも想像できるかと思いますが、突き詰めて言ってしまえばドリフのコントの舞台装置みたいな感じです(笑)。いえ、奥行き方向には結構作り込まれています。これは、ウルトラコンボシーンやイベントシーンなどにおいて、プレイ時とは異なるところに視点が移動する局面に対応するためです。奥行きは実はここまで作り込まれている残念ながらスクリーンショットでお見せすることはできないのだが、視点側(手前側)には一切のモデリングが行なわれておらず、まさに虚無の空間となっている。その一方で、ステージの奥行き方向は、それこそテーマパーク並の作り込みが行なわれている。した作り込みにより、T.ホークの登場シーンやザンギエフのウルトラコンボ「シベリアンブリザード」のように比較的、高い視点位置から見下ろすようなカットにおいても破綻なく背景が描画される。「ストリートファイターX鉄拳」はどうなる!?Dimpsは、現在、カプコンとタッグを組んで、「ストリートファイターX鉄拳」(「ストクロ」)の開発にも従事している。こちらは2012年3月8日の発売を予定しており、開発は最終局面に差し掛かっているという状況のようだが、竹歳氏は、この「ストクロ」プロジェクトにおいてもグラフィックス部分の開発を担当している。気が早い気もするが、せっかくの機会なので、「ストクロ」のグラフィックスは、「ストIV」シリーズのグラフィックスからどう進化しているのかについて聞いてみた。竹歳氏:「ストクロ」ではプレーヤーキャラクター2体ずつタッグで闘うので、1画面内に最大で4体のプレーヤーキャラクターが同時に出現する可能性があります。その意味で、処理負荷との闘いの日々を送っております(笑)。グラフィックスの方向性としては、「ストIV」シリーズのテイストを残しつつも、明らかに別の作品であることを目指して製作していますが、ベースの技術は「ストIV」シリーズのものの延長線になります。「ストIV」シリーズのキャラクター表現に用いていた各種シェーダー要素は、統合と最適化を行なってパフォーマンスを向上させています。「鉄拳」は3D格闘ゲームからの参戦キャラクターになり、オリジナルが“リアル系”なので、「ストIV」のようなマットな質感ではなく、光沢が強めの印象があります。このテイストを活かし、「ストリートファイター」のキャラクター達をそちらに若干引き寄せた感じにはなっているかと思います。それと、世界観を一致させるため、頭身などはストリートファイターのキャラクターに合わせていますね。注目して頂きたいのは、キャラクター選択画面が「ストIV」シリーズのようなイラストではなく、リアルタイム3Dグラフィックスになっている点ですね。「ストIV」シリーズでも2Dイラストでなく、ゲーム中のモデルで表示したいという要望はあったのですが、今回はデザイナーさんの強い希望と労力により実現しました。ゲーム中とはひと味違うイラストに見えるような工夫がされています。他にも色々と言いたいことはありますが、今回はこの辺りで(笑)。「ストIV」シリーズを振り返りつつ、次世代ストリートファイターの姿を想像する最後に、この「ストIV」シリーズのプロジェクトを振り返っての所感、そして「もし『ストリートファイターV』があるとしたら、どんな要素を実装してみたいか」について聞いてみた。亀井氏:「ストIV」シリーズに盛り込みたかった要素としては、「ストII」シリーズにあった、プレーヤーキャラクターがボコボコになってうずくまっているゲームオーバー画面ですね(笑)もちろん、リアルタイム3Dグラフィックスで、です。それと、今回の「ストIV」シリーズのプロジェクトには「闘い合うことの“ライブ感”」というテーマが掲げられていたわけですが、これを実現するためにあと2つの要素を盛り込みたかったと思っています。1つは、「格闘のライブ感」です。これは具体的にいえば「汗の表現」、「衣服の破れ」、「身体への傷」と言った表現などですね。攻撃を喰らってダイナミックに衣服が破けたり、痛々しくなりすぎない程度の格好いい傷表現などは、結構、「ストリートファイター」の世界観とも合うような気がするんです。ひとつは「背景とプレーヤーキャラクターの相互干渉表現」です。具体的に言えば、キャラクターの行動が背景オブジェクトに大きな影響を及ぼす演出などです。回し蹴りでフィニッシュすると、背景の中華街の飲食店の店舗内に相手が吹っ飛んでめり込んだりとかですね。これはあたかもこの世界が生きているかのような「ライブ感」を演出できると思います。ゲーム性には関わらない、あくまで演出の形で盛り込むことになるとは思いますが、「この時代だからできる新しい衝撃表現」になると思いました。実は、これ、プロトタイプで実装してたんですが、諸事情で盛り込めませんでした。小野プロデューサにも好評を頂いていて、「やれやれ」と言われた要素だったんですが(笑)。やるとすれば、もちろん、物理シミュレーションとかをふんだんに使って実現したいですね。【ブランカステージライブ感ムービー】プロトタイプとして製作された背景との相互干渉演出フィニッシュのコンセプトビジュアル。動画で門外不出のものということだが、カプコンの厚意で静止画での掲載を許可してくれた塚本氏:今回の話題にもありましたが、2D格闘ゲームのシステムを維持した形で、プレーヤーキャラクター同士の正確な衝突表現をやりたかったですね。2D格闘ゲームでは、2体のキャラクターが重なり合って描画され、攻撃箇所にヒットマークが出る表現になっています。「ストIV」シリーズも、この文法に従った設計になっているわけですが、この枠組みを超えた次世代表現というのを探してみたいと思っています。それと「ストII」シリーズの時代は各キャラクター毎にマイステージ(地元ステージ)が設定されていました。次回があれば1キャラクターにつき1ステージを作りたいですね。プロトタイプでは金網のバルログステージなんかもあったんですよ(笑)。現在、「ストIV」シリーズでは、オープニングやエンディングが2Dアニメ(「スパIV」以降は静止画)になっていますが、時間とお金があれば、今回のグラフィックスエンジンベースで表現したかったですね。39体分のオープニングとエンディングを作るとなるととんでもないことになりそうですが......。ステージは現状でもかなり豊富なラインナップだが、1キャラクター1ステージの作り込みを目指したかったと開発チームは振り返る竹歳氏:もし次世代機で新しい「ストリートファイター」をやるとすれば、「ストIII」シリーズのドット絵で表現されていた、そのキャラクターの動いた軌跡で身体がびよ~んと伸びて見える残像表現に挑戦したいですね。11世代のグラフィックスパイプラインのジオメトリシェーダーやテッセレーションなどを駆使して挑戦することになるのでしょうが、苦労して実装できたとしても、一瞬表示されるだけなのであまり気づいて貰えないかもしれませんね(笑)。アニメーション表現は劇的に変わる可能性があると思いますよ。綾野氏:「ストIV」シリーズは、今世代の技術とハードで“いかに「ストII」シリーズを再現できるか”に挑戦してきました。これに関しては予想以上の結果を導き出すことができたと思っています。AE」の2012年バージョンで一区切りがつくと考えています。これからのことはまだ何も決まっていないので、個人的な妄想ぐらいしかお話しすることはできませんが、「ストリートファイター」に次回作があるとすれば、今度は「ストII」シリーズを“いかに超えるか”に挑戦したいですね。「次世代の2D格闘ゲームのスタンダード」を築き上げることができれば良いなと考えています。皆さん応援をよろしくお願いします。