イベント
GDCの舞台で世界に披露された「GUILTY GEAR Xrd -SIGN-」の「アニメにしか見えない3Dグラフィックス」制作手法
こうした翻訳記事がGame Developers Conference運営側の目に止まったようで,GDC 2015の会期が迫ってから,アークシステムワークスに招待枠で講演の依頼があったそうだ。記事執筆者としても,この展開は非常に喜ばしい。
本稿ではその概要をレポートしたい。登壇者は,GUILTY GEAR Xrd -SIGN-(以下,GGXrd)でキャラクターモデルの制作全般やボーン&リグ設計を担当したリードモデラー兼テクニカルアーティストの本村・C・純也氏だ。
なお,本セッションの内容は連載記事の抜粋版といったものなので,より詳しく知りたい人は,豊富なサンプル画像が掲載された連載記事も参照してほしい。
西川善司の「試験に出るゲームグラフィックス」(1)「GUILTY GEAR Xrd -SIGN-」で実現された「アニメにしか見えないリアルタイム3Dグラフィックス」の秘密,前編
西川善司の「試験に出るゲームグラフィックス」(2)「GUILTY GEAR Xrd -SIGN-」で実現された「アニメにしか見えないリアルタイム3Dグラフィックス」の秘密,後編
ちなみにこのセッション,当初は「Guilty Gear Xrd's Art Style: How'd We Do That」というタイトルで,「Design」(ゲームデザイン)ジャンルのセッションとしてガイドブックに記載されていた。本村氏によると,本来は「Visual Arts」「Programming」のジャンルを希望していたそうだが,小さな手違いでガイドブックにはあのように記載されてしまったそうだ。
2D格闘ゲームの最高峰を超えるために3Dグラフィックシステムを採用
本村氏が最初に語ったのはGGXrdの開発背景だ。「ギルティギアXX」のリリース以降,ギルティギアシリーズは2D格闘ゲームの新作が出ていなかった。そのため,完全新作の2D格闘ゲームであると同時に,ギルティギアシリーズのリブート作品的な位置づけとして,GGXrdの開発プロジェクトは立ち上がったのだという。
PlayStation 2時代のタイトルだったギルティギアXXは,画面解像度が480pだった。だが,2014年のタイトルであるGGXrdでは,シリーズのファンが求める2D格闘ゲームのスタイルを維持しながらも,1080pを必須としたファンを驚かせるビジュアル要素が求められた。
そこで検討の結果,3Dグラフィックスの採用を決めたが,それでも極力スプライトベースの2D格闘ゲームのテイストを維持するという方針でプロジェクトは進められることになる。
なお本村氏によれば,アーケード版とPlayStation 3版は解像度が720pであるが,PlayStation 4(以下,PS4)版は1080pとのこと。アーケード品質を超える映像でプレイしたいのであれば,PS4版を購入しよう。
さて,ここまで聞くと,「2D格闘ゲームスタイルにこだわるのであれば,
ちなみに,BLAZEBLUEは,ラフな3Dモデルでポーズを生成し,これをアーティストがトレースしつつ,表情やディテールを描き込んでいくスタイルが採用されていたそうだ。
開発に際しては,Epic Gamesのゲームエンジンである「Unreal Engine 3」(以下,UE3)が採用された。既存ゲームエンジンを採用したのは,「ゲームエンジンをゼロから自社開発している時間的な余裕がなかったから」と,本村氏は率直に述べている。また,最新版である「Unreal Engine 4」ではなくUE3を選択したのは,UE3が良い意味で「枯れている」ためとのこと。機能安定性が成熟しているから,と言い換えてもいいだろう。
「枯れた」と言われるほど仕様や特徴の情報が出尽くしたゲームエンジンであれば,ソースコードレベルでの改造を行う場合にも,予測不能なバグの発生を避けやすいというのはもっともなことだ。
3D CG制作ソフトとしてはAutodeskのSoftimageシリーズが採択された。「モデリングツールやアニメーションツールが使いやすく,ゲーム開発との相性がよいと判断された」と,本村氏は採用の理由を振り返っている。
余談だが,Softimageシリーズは「Softimage 2015」で開発が終了となり,サポートも2016年4月いっぱいで終了することが発表済みだ(関連リンク)。GGXrdの開発チームが今後どういう選択をするのかは,少々気にかかるところではある。
アニメ調のグラフィックを実現するシェーディングとライティングの工夫
続いて説明されたのは,GGXrdのキャラクターをいかにして制作したのかという話題だ。
グラフィックスの開発方針に挙げられたのは「徹底した3Dグラフィックスらしさの排除」であり,物理的な正しいかよりもアーティストの感覚を優先させたと,本村氏は力説する。
キャラクターのポリゴン数は約4万ポリゴン前後。ディテールを与えるテクスチャは非常に少なく,とくにフォトリアル系ゲームグラフィックスでは定番の法線マップは,GGXrdではいっさい使われていないというのがユニークだ。微細な形状ディテールは法線マップでなく,シンプルにその部分の頂点密度を上げてモデリングすることで対応している。
こうした制作方針を採用したのは,「テクスチャでのディテール表現では,視点が3Dモデルへ接近したときに,テクスチャ解像度に依存したジャギーが露呈することがあるため」だと本村氏は述べていた。
シェーダーにも興味深いポイントがある。GGXrdで採用されたアニメ調の陰影を付ける「セルシェーダー」(Cel-Shader)は,ライティング対象面が光源方向を向いているか,いないかの二値だけで判定するオーソドックスなものだという。しかし,これだけでは陰影の出方が細かすぎてアニメっぽい絵柄にならないため,いくつかの工夫が盛り込まれている。
ひとつは,アーティストが手作業で「陰になりやすさ強度」のパラメータを設定することで,わざと大ざっぱな陰影が出るように制御するという工夫だ。これは陰影の細かさを時間方向に抑制する役割があり,キャラクターの動きによって陰影がチラチラと出てくることを抑制できる。
もうひとつは,陰の形状が細かくなりすぎないよう大ざっぱに表現するための制御だ。この制御には,空間方向に陰影が細かく出すぎないように抑制する役割がある。もう少し分かりやすくいうなら,面積方向に陰影が分断されないようにする調整する工夫といったところか。これは,3Dモデル側で頂点単位の法線ベクトルを大ざっぱに揃えるという調整で実現している。
非常に特徴的なのがライティングだ。GGXrdでは,それぞれのキャラクターが自分自身を照らす光源を持ち歩くという実装をしているのだ。
このような仕組みを実装したのは「陰影の出方がキャラクターの左向きや右向きで異なってしまうと,対等の条件で闘い合う2D格闘ゲームの前提が崩れてしまうため」と本村氏は説明していた。スプライトベースの2D格闘ゲームの場合,キャラクターの見映えは左向きと右向きで線対称なので,単純にこうした見映えを再現したかった,ということだろう。
太陽に相当する平行光源は設定されるが,これはキャラクターのライティングに寄与することはない。一方,足元に置かれる影は,この平行光源をもとに生成しているとのこと。つまり,足元に落ちる影はキャラクターの左向きと右向きで異なることになる。
また,セルフシャドウは使っていない。セルフシャドウなしとした理由について本村氏は,「アニメ調のキャラクターはたいてい髪型がでかいので,これでまともにセルフシャドウを出すと,首元や肩にドデカい頭のセルフシャドウが出てしまい,見映えとしておかしくなるため」と説明して,来場者の笑いを誘っていた。
セルシェーディングではキャラクターを色で塗り分けるわけだが,GGXrdでは,色の塗り分けにもアニメ的な解釈を導入したと本村氏は説明する。
アニメ的な配色では,ライティング結果としての明部と暗部に対して,物理的な正しさとはやや異なった,アーティストのセンスに依存した独特な塗り分けをすることが多い。それを再現するためにGGXrdでは,明部の配色テクスチャ(Base Tex)と暗部の配色テクスチャ(Tint Tex)を用意し,ライティング結果としての階調表現に対して,これらをかけ合わせた色を与えるようにしたという。
たとえば肌の場合,光が当たっているところは明部配色テクスチャで用意した肌色が支配的になるが,陰の度合いが強いところは,暗部配色テクスチャで用意した赤味が強くなる,という処理を行っているわけだ。
アニメ調の絵では欠かせない輪郭線は,膨張させた3Dモデルの“視線に向いている側”を描画しない「前面カリング」(隠面カリングの逆転版)状態を作り,それを輪郭色で描画するという古典的な手法で表現されているという。ちなみに,このテクニックは「背面法」(Back-Facing,バックフェイス法)とも呼ばれている。
なお,ポストエフェクト的な手法を用いなかったのは,背面法であれば3DCG制作ソフトのビューポートでも実装できるので,制作段階から輪郭線の出方を確認できるという利点があるためだ。
さて,この背面法で得られるのは,ポリゴン境界に見える線だが,それ以外のにポリゴンの表面に表現すべき線――ディテールや質感表現としての境界線――はテクスチャマップで表現している。ただ,一般的なテクスチャマッピングでこれを行うと,キャラクターがアップになるとジャギーが出てしまう。
テクスチャマッピングにおけるジャギーは,テクスチャマップ上での斜め線表現,つまり,着目しているテクセルの色が,テクスチャ空間上で上下左右のテクセル色と著しい明暗差や色味の差がある場合に出ることに気がついた本村氏は,輪郭線テクスチャを縦線(垂直線)と横線(水平線)だけで構成するように工夫したという。つまり「テクスチャマップ上で斜め線を皆無」としたわけだ。
このテクスチャが実際にポリゴンへとマッピングされるときには,GPU側でテクスチャマップが変形されたり回転されたりして,斜め線のように表現される。しかし,テクスチャ内の線分表現はあくまでも縦線,横線のみなので,ジャギーの原因となるテクセルは存在せず,描かれる斜め線にボケは出てもジャギーは出ない。
開発チーム内で「本村式ライン」と呼ばれたこの仕組みについては,連載第1回で豊富なサンプル画像と合わせて説明しているので,そちらも参照していただければと思う。
リミテッドアニメーションで格闘ゲームらしさを表現
GGXrdは2D格闘ゲーム的なゲーム性とビジュアルを実現するために,あえてコマ数の少ない「ジャパニメーションスタイル」を採用したと,本村氏は語る。
3Dゲームグラフィックスのキャラクターアニメーションといえば,キーフレームと呼ばれる基準ポーズを設定して,その基準ポーズ間の動きを適当な関数やアルゴリズムで補間生成して動きを付けるのが一般的だ。しかしGGXrdでは,あえて「スムーズではないアニメーション」を実現したかったことから,あえて補間生成を行わない手法を採択した。つまり,GGXrdのアニメーションは,いわばキーフレームだけで構成されているようなものだ。本村氏はこれを,「クレイアニメのようなストップモーションを想像してもらえれば,分かりやすいだろう」と説明した。
アニメーションの用語では,キーフレーム間をスムーズな動きでつないだ滑らかな動きを「フルアニメーション」,GGXrdが採用するコマ割りを粗くしたアニメーションを「リミテッドアニメーション」と呼称するので,以下ではそれに従って説明していこう。
GGXrdの場合,アニメーションの駆動部位となるボーン(骨)数は400〜600になるという。一般的な3Dゲームグラフィックスのキャラクターと比べると2〜3倍程多いのだが,これは顔面や髪,アクセサリに衣服,武器に至るまでボーンが仕込まれているためだ。
本村氏によれば,これらのアニメーションはすべてアーティストによる手作業で設定されており,物理シミュレーションなどは一切使用していないという。
本村氏は動画を用いて,GGXrdの主人公であるソル・バッドガイの斬撃モーションを「フルアニメーション」と「リミテッドアニメーション」で表現した場合の違いを説明した。「どちら好みかは,もしかしたら(評価が)分かれるかもしれない。しかし,我々はリミテッドアニメーションのほうが,GGXrdのテイストに合っていると判断した」(本村氏)。実際に何度か見比べて,どちらのほうが2D格闘ゲームらしいかを判断してみてほしい。
ノンフォトリアリスティック表現にはまだ大きな可能性が眠っている
講演の最後に本村氏は,GGXrdの開発プロジェクトを「この作品を構成する技術は,既存のものではある。しかし,それらがアーティスト達の独創的な感性やアイデアによって応用されることで,独特なビジュアルを3Dグラフィックス上で作り上げることに成功した」と振り返った。そして,このような技術を盛り込んだGGXrdを完成させることができた理由について「我々が2D志向の強いスタジオだったことも大きな要因になっていると思う」と述べている。
そのうえで本村氏は,「この作品を作りうる素晴らしい才能を持つチームメンバーに恵まれたことに感謝したい」と謝意を示していた。今までの2D格闘ゲームで経験を積み重ねたチームがあるからこそ,3Dグラフィックスらしさを廃した3D格闘ゲームという矛盾する課題を達成できたということなのだろう。
最後に,本村氏は「リアル志向ではないノンフォトリアリスティックなグラフィックス表現にはまだまだ未開拓の分野がある」として,「今後も,この分野の新表現の可能性について探求していきたい」とセッションを締めくくった。アークシステムワークスが開発する次の作品にも期待したいところだ。
アークシステムワークス公式Webサイト
GDC公式Webサイト
4GamerのGDC 2015関連記事一覧
- 関連タイトル:
GUILTY GEAR Xrd -SIGN-
- 関連タイトル:
GUILTY GEAR Xrd -SIGN-
- 関連タイトル:
GUILTY GEAR Xrd -SIGN-
- この記事のURL:
キーワード
(C) ARC SYSTEM WORKS
(C) ARC SYSTEM WORKS
(C) ARC SYSTEM WORKS