Game Developers Conference(GDC) 2010現地レポート

技術の蓄積により、こだわりと効率化を両立する「Uncharted 2」 Part2
キャラクターアニメーションとモデリングでの進化と挑戦


3月9~13日 開催(現地時間)

会場:サンフランシスコ Moscone Center


 本稿でも「Uncharted 2: Among Thieves」(日本タイトル「アンチャーテッド 黄金刀と消えた船団」(以下、「Uncharted 2」)関連の講演を紹介したい。今回は、「Animation and Player Control in Uncharted: Drake's Fortune and Uncharted II: Among Thieves」というキャラクターアニメーションについての講演と、「Uncharted 2 Character Pipeline: An In-depth Look at the Creation of U2's Characters」というキャラクター描画についての講演だ。

 ハードが進化し、表現力が向上すると、リアルでリッチな作品が作れるが、ゲームクリエイターから見れば膨大な作業量が必要となり、求められるレベルも向上する。それでいながら快適なゲームプレイ、メモリ領域の問題など、ゲームだからこその問題にも対面せざるを得ない。リアルだからこそ増大する不自然さ、「不気味の谷」も大きな課題となって開発者の前に立ちはだかる。

 「Uncharted 2」開発スタッフは、これらの課題にどう立ち向かっていったか。ツールの開発、効率のいいリソースの使い方、「表現」に対しての新しいバランスの提示。トップクリエイター達のアプローチに注目してほしい。




■ スタッフの密接な協力により、効率化とより深い描写が可能になったアニメーション

aughty Dog Lead ProgrammerのTravis Mclntosh氏

 「Animation and Player Control in Uncharted: Drake's Fortune and Uncharted II: Among Thieves」では「Uncharted 2」のNaughty Dog Lead ProgrammerのTravis Mclntosh氏によりキャラクターアニメーションにおけるよりリアリティーのある表現、メモリ領域を確保するテクニックが語られた。

 前作「Uncharted」ではプレーヤーキャラクターであるドレイクの動きは自然な動きとは言い切れなかった。走り、跳び、武器を構えるキャラクターアニメーションと状況が必ずしも合っていない場合があり、地形との整合性もとれていなかった。「Uncharted 2」ではより自然で多彩なドレイクの動きを実現させながら、ゲームを動かしていく上でのメモリ領域の占有をどこまで少なくするかというハードルの高い課題に挑戦していったという。

 Mclntosh氏は最初にドレイクの動きはいくつものレイヤーにわけて制御しており、顔、腕、武器といった要素を組み合わせてドレイクの動きを実現しているという。次にMclntosh氏はゲーム内のドレイクの動きを見せる。ドレイクはプレーヤーの操作に瞬時に反応し、多彩な動作をする。

 走り、体を前に投げ出して前転し、壁に隠れ、銃を構え、持ち替え、リロードする。キャラクターアニメーションはよく見ると非常に多くのパーツが動いていることがわかる。向きを変えるときの顔の表情、手足の際婦、腰の動き、武器による構え方の違い、走っているとき、壁に隠れているとき、左右で、それぞれ動きが変わってくる。これらはレイヤーで制御しているからこそ複雑な動きを実現できている。

 ドレイクのキャラクターアニメーションは右手、左手、左足、表情など12の“パーシャルセット”によって構成されている。それぞれのパーシャルセットをドレイクの状況に合わせてキャラクターの動作を実現していく。地上を走るだけでなく、壁の出っ張りにぶら下がったり、物陰に隠れるなど特殊な動作を行なう場合も、全く別なデータを作るのではなく、パーシャルセットを組み合わせて行なっていく。

 キャラクターの動きはプレーヤーが動かそうとする位置に向けてドレイクが移動していくキャラクターは静止状態から移動へ、1/4秒で動作を変える。前作ではこの変化がいきなりで不自然だったが、「Uncharted 2」はキャラクターの動作をブレンドさせることで自然な動きを実現している。

 続いてMclntosh氏はキャラクターのアニメーションパターンを「レイヤー」として使い、異なるレイヤーを重ねることで省力化を図るテクニックを紹介する。例えばドレイクが武器を持って走っているときは走るというレイヤーに、銃を持つ指の形のキャラクターモデルを重ねることで、銃を持っているときといないときのキャラクターアニメーションを作る労力が省ける。また、走るアニメの場合に、手の設定は必要としないなど、アニメーションパターンを作り出す方向でも、このレイヤーを重ねる手法は大きく効果を発揮したという。

 もうひとつ、リアリティを求める表現として加えられたのが「Additive Animations」という手法だ。走るアニメーションを設定し、その動作をずっとしているとき、移動する距離が長いほど不自然になる。ここで、別レイヤーに肩を上げたりするアニメーションを設定しておき、ランダムに加えていくのだ。これにより、より複雑なアニメーションとして描き出すことができるようになった。


ドレイクのキャラクター制御におけるレイヤーと、部位設定ごとにアニメーションを設定するパーシャルセット、右はキャラクターの移動に対する判定を視覚化したもの
走りながら銃を構え、静止し、壁によじ登る。複数の動きを自然な造形で見せる
プレーヤーの入力から移動開始するまでのドレイクのキャラクターアニメーションには「間」が設定されている。右は「走る」と「銃を持つ」のレイヤーを組み合わせて生まれる動き

 もうひとつ、リアリティを求める表現として加えられたのが「Additive Animations」という手法だ。走るアニメーションを設定し、その動作をずっとしているとき、移動する距離が長いほど不自然になる。ここで、別レイヤーに肩を上げたりするアニメーションを設定しておき、ランダムに加えていくのだ。これにより、より複雑なアニメーションとして描き出すことができるようになった。

 この他、IK(インバースキネマティクス:逆運動学))という技術も、キャラクターの動作に大きなリアリティーをもたらした。3Dキャラクターの肩や足などの関節表現は、通常は肩から手先、胴体から足、と座標を計算して描画していく。しかしキャラクターが手にものを持った場合は、整合性がとれずずれた表現になりがちだ。

 さらに腕の形を肩から1つずつ割り出さなくてはいけないため、作業が膨大になる。ここでアイテムを中心にして手先の位置を決め、そこから整合性を合わせる形で肩を設定するような逆転の発想テクニックが生まれている。この技術がIKと呼ばれるものだ。

 「Uncharted 2」ではこのIKを武器だけでなく、「下半身」に使った。段差のある場所に足をかけているとき、瓦礫などのある場所でドレイクが立ち止まったとき、地面の座標に合わせてキャラクターの立っている足の形を逆算するのだ。3Dキャラクターの移動は地面を滑るような雰囲気になりがちだが、この手法により「地に足がついた」キャラクター描写が可能になった。この足パターンもレイヤーによって下半身だけの設定で可能だ。

 このように、レイヤー、アニメーション、様々な表情のついたパーシャルセットを組み合わせることで、ドレイクの様々な行動をアニメーターのみで設定できるようになった。プログラマーの手を借りて1つ1つ作っていくのではなく、アニメーターが自分が思うように作りあげることが可能になった。これにより車に飛び乗るときなどの全力疾走や、忍び寄るときの腰をかがめた移動など、状況に合わせてドレイクの基本動作そのものが変化するアニメーション表現が可能になったのだという。

 キャラクター表現の前に壁となるのが「メモリ領域」の問題である。アニメーターはできるだけ多くのアニメーションパターンを入れて自然な表現にしたいと願う。一方でプログラマーは、ゲーム全体のバランスを考えるため、キャラクターアニメーションに割ける割合を一定に保ちたい。このため、ストーリー、状況をアニメーターとプログラマーがきちんと把握し、「このステージ、この場面ではドレイクはどんな行動をするか」をディスカッションして設定していく。

 パターンを組み合わせる手法は、場面場面のパターンを設定できるため、メモリ領域の確保にも大きく役立ったとMclntosh氏は語る。そこからさらにこの場面で出てこないキャラクターデータ、武器が使えない場面での武器に関するアニメーション、その場面での不要なキャラクターパターンなど使用するキャラクターパターンを可能な限り削りながら、ユーザーにはそれを気がつかせないようにする。

 「メモリー領域、柔軟性、状況に合わせた自然な動作、これらの課題を実現するためには、アニメーターとプログラマーの密接な協力関係が不可欠だ」とMclntosh氏は語った。続く来場者からの質問では、変化する状況への対応や、特殊な場合での処理といった疑問が提示されたが、Mclntosh氏は解決へ最も重要な要素は「アニメーターとの協力だ」と重ねて語った。


銃の位置から手の位置を割り出すため自然な動きとなる。また、地面の座標から足の位置を判定している。これがIKとよじれる技術だ
ステルス、通常、全力疾走。プレーヤーの操作の結果ではなく、状況で姿勢が変化するというのが面白い。これにより場面にマッチした動きを可能にしつつ、メモリの占有率が押さえられる
アニメーターの手で設定できるドレイクの動き。メモリの占有を押さえ、効果的な動きを実現させるためにはスタッフ間の協力が求められる



■ 前作からの反省を活かし、積極的に新要素に挑戦したキャラクター描画

Character ArtistのRichard Diamant氏
Technical DirectorのJudd Simantov氏

 「Uncharted 2 Character Pipeline: An In-depth Look at the Creation of U2's Characters」では、Naughty Dog Lead Character ArtistのRichard Diamant氏とLead Character Technical DirectorのJudd Simantov氏によって、キャラクターの骨格、顔のモデリング、そしてシェーダーのキャラクター表現のテクニックが語られた。

 主にJudd Simantov氏はキャラクターの表情について語り、Richard Diamant氏が全体のことを語る、という形で進行した。最初に紹介されたのは「キャラクターの骨格」に関してだ。「Uncharted 2」のキャラクターは「Game Skelton」、「Animation Skeleton」、「Mocap Skelton」の3つの骨格を持つ。この骨格モデルは男性、女性、子供、そして登場するモンスターで全て同じものだ。使うキャラクターにより大きさなどを設定していくことになる。メインのキャラクターの間接は246個だという。

 キャラクター描写で重要な顔のメッシュは97もの可動ポイントが設定されており、片眉をつり上げたり、顔をしかめたり自然な表情が作れる。直感的に操作できるようにツールのインターフェィスも工夫されている。ツールには顔の基本的な表情を設定した「Face Pipline」、瞬時に以前の履歴に戻れる「Histoty Tool」など様々な機能が紹介された。

 Diamant氏が特にアピールしたのが「Diamant UV」だ。ポリゴンに任意のテクスチャを貼り付けていくUVマッピングを高速化し、ゲームで使用するモデルにスムースにつける事ができる。単体のUVマップから多数のマップが重なるところまでをわかりやすく表現でき、設定がより自然にできるようになっている。モデルの展開から視点の変更、部位の設定や大きさの設定などもスムースに行なえるのだ。もちろんブラウジング機能にも注力され見やすい、操作しやすいツールとなっているという。

 前作「Uncharted 1」では1つの顔に常に2つのMeshが使えたが、ポテンシャルは高い一方で複雑すぎて使いづらかったとSimantov氏は語る。またキャラクターが変わるとメッシュの設定も異なり、膨大な設定が必要となった。今回、ツールを開発することで、男や女、子供でも1つのパターンでメッシュを設定すると、他のキャラクターモデルに応用できることが可能になった。この方法で大まかな顔を設定してから、細かく手を入れることで時間をかけずに多彩な表情を設定できるようになったとのことだ。

 骨格の設定もこれまでは“悪夢のような”大変な作業だった。246もの間接を持つ骨格を1つのキャラクターの1つの動きのために設定していくのは、ゲームの完成のためにどこまで時間がかかるかみえない。しかし今回、例えばドレイクの骨格で「全力疾走」のアニメーションを作れば、女性のエレナや、「雪山のモンスター」という敵キャラクターにすら同じ動きをさせられる。

 骨格の違いなどをあらかじめ設定しておくだけで、多彩な動きをコンバート可能なのだ。デザイナーは基本の動作をこだわって作った上で、各キャラクター向けにアレンジすればよくなり、より多彩な動きをより手軽に作れるようになった。

 もちろん、前作より楽になっただけではない。作業の効率化が図られるからこそより高度な表現に開発者達は挑戦していった。取り組んだ課題の1つが顔のアニメーションだ。「口の開け方」の基本スタイルを改良し、より柔らかく自然な唇、口全体の表現を可能にした。

 さらに医学方向での研究も進み、より自然な顔を作るための可動部分の連動、表情を作るためのテクニックが積み重ねられた。まぶたの改良によるよりリアルな目の表現も実現でき、前作とは大きく異なる、豊かで自然な顔の表情を作ることが可能になったのだ。

 さらに様々な新しい挑戦が行なわれた。LOD(Level of Detail)とは視点からの距離に応じて描画する3Dオブジェクトの頂点数(つまりはポリゴン数)を増減させるテクニック。より美しさを保ったまま、遠距離でのキャラクター表現が向上し、各キャラクターに応じた頂点計算による自然な描画が可能になった。

 この他にも、マルチプレーヤー用キャラクターとして、シングルプレイのドレイクに劣らないアクション用キャラクターモデルの追加、他のキャラクターの描写に関する課題に取り組みながらクオリティーを維持する方法を模索していった。東洋人など、人種の異なるキャラクターのより自然な表現、より深みのある毛髪の表現など様々なところにこだわった。

 アウトソーシングもまた、大きなチャレンジだった。マネージメント、意思の疎通、様々な課題をクリアしながら、ベストな作品を作りあげることができたとDiamant氏は語った。最後に両氏はここまでの課題をまとめた上で、全ての開発スタッフに改めて一緒に仕事ができた事への感謝の言葉を述べた。


キャラクターの表情や、UVの設定、使いやすさなどツールの向上はゲーム開発を大きく助ける
性別が異なる場合なども表情の設定をコンバートできる。右はアニメーションのコンバート。全員が同じ動きをしているのが面白い
額、目、口……より自然な顔の表現は、本作の注目点の1つ
マルチプレイキャラクター、LoD、東洋人の描写、積極的に新たな課題に取り組んでいる


(2010年 3月 15日)

[Reported by 勝田哲也]