ジーディーシー日記 -5日目-

GDC2008

5日目、今日はガッツリ、カンファレンス漬けの1日とうことで。昨年と比較して、日本語同時通訳のセッションが増えている。注目度の高いセッションで対応しているのがうれしい。そろそろランチボックスにも飽きてくる時期。今日は社内のGDCマスターに教えていただいた、アメリカンなハンバーガーのお店へ。感動的においしい!特にブルーチーズバーガーがあるのが個人的に高ポイント。(笑)シェイクもあるので、一緒に頼むと更に破壊力が増す。

●Procedural Data Generation in FAR CRY 2
増大化し続けるリソースをいかに効率よく作成して行くか、この問題に対してプロシージャルな手法を取り入れて、FAR CRY2は開発されたとのこと。50平方キロという広大なエリアを自由に動き回るFPSゲームでは、背景をどうやって作っていけばよいか、ということが問題になったそうだ。「ゲーム開発の傾向として、力任せでデザイナーの労力を費やして作り上げることが多いが、FAR CRY2はそれでは完成させることができなかった」と述べていた。

・プロシージャルアニメーションレイヤー
Lokk-AtやAim、ループ的な表情の変化に関しては、ベースとなるアニメーションに、ターゲットに向かって仕草を行うよう、上半身のモーションをプロシージャルにコントロールしている。また表情に関しても、状況によってあらかじめ設定された表情のセットを組み合わせて、瞬き、ちょっとした表情の変化を自動でコントロールしている。NPCの数、バリエーションが多くなると、こうした、ちょっとしたモーションの手間も馬鹿にならない。このようなある程度のクオリティで十分ニュアンスが伝わるようなものに、一切時間をとることなく、その分主人公やその周りを取り巻く主要キャラクタへ注力ができるという点で生産性の向上が期待できる。

・プロシージャル・ツリー、フィールド作成
パッチベースでゲームデザイナーがフィールドを作成する環境を開発したとのこと。デモンストレーションではパッチのラインを変更するだけで、地形や植樹された木のオブジェクトが変更に対応して更新される様子が紹介された。木のオブジェクトもプロシージャルにバリエーションが作成され、パラメータによって木の成長度合いや密度を設定するようなアプローチでフィールドが作成されている。木の作成をプロシージャル手法で行うことにより、破壊や風によるゆれなどのシミュレーションコントロールが容易になったこともメリットの1つだったそうだ。

・問題点
プロシージャルは生産性の向上には成功したが、自分が何を作ったのかを認識しにくくする問題があるとのこと。複雑にそれぞれの作業が関連している分、少しの変更が全体のパフォーマンスに影響する場合もある。
アーティスティックなコントロールは絶対に必要であり、アーティストに対しては、今までとはまったく異なる手法に切り替える必要があり、それなりのスキルを求めることになる。またパイプラインを複雑にしてしまう可能性もあるそうだ。
開発環境を構築するためには、プログラマに依存する部分が多くあるため、それがストレスになる場合がある。こうした依存度の偏りの問題をFAR CRY2プロジェクトでは、例えば、壊れ物の構築に関しては、従来のアーティストによる部品ごとのモデリング、破壊表現を採用するといったように、作業負荷の分散を行ったそうだ。数学的な正確性を求めるプログラマと実際の一貫性を求めるアーティストとの相互の理解も深める必要があるとのこと。

・今後の予想と課題
今後も倍々の勢いでデータ量もコストも増えてくることが予想され、プロシージャルなアプローチが問題を解決する1つの方法になりうると述べている。加えてプロシージャルは万能薬ではないので、どのように運用するか、パイプラインのレベルから検証することは今後必要だと補足していた。
作成した大きなフィールドのデバックに関しては、現状力任せな方法だったので、今後、プロシージャルなアプローチでの開発環境におけるデバック方法も考えていかなければならない課題だと思わされた。FAR CRY2チームではデバックチームを開発チームに統合し、開発と連携したデバック作業を行ったそうだ。技術的部署だけの努力だけでなく、組織全体的な変化が必要なのかもしれない。


●Autodesk HumanUK Middleware Introduction: Complementing Your FK Animation

日本においては、つい最近、このミドルウェアに関する情報が入ってきたという状況。前半少し概略説明が聞けなかったので、帰国後に情報収集したいところ。
ユーザー事例としてアサシン・グリートでの活用例が紹介された。アサシン・グリートでは自社アニメーションシステムに、必要な部分だけHumanIKを使用し、時間節約と自社システムだけでは得られないクオリティを得ることに成功したと述べていた。活用事例として、以下のようなものが紹介された。

・クライミング
アサシン・グリートの特徴的なシーンとして、複雑な形状の壁面をよじ登るアクションがある。これらのアクションは、通常、背景のコリジョン位置を定型化(たとえば梯子の1ステップの高さを決めるなど)して、アクションさせることが多いが、コリジョン位置には特別な限定はなく、(よじ登るようなポジションになっている必要はあるが・・・)コリジョンとなる位置の設定を行うことで、四肢のエフェクタが適切な位置を参照してよじ登りのアニメーションを生成している。

・ぶら下がり
通常のFKアニメーションとのブレンディングはポーズtoポーズのみでアニメーション同士のブレンディングは行っていない。(これは紹介された事例全てでそうした仕様になっているとのこと)せり出した形状をした壁面で、体とのインターセクションが発生する場合、体の各ジョイントからのレイ・キャストにより、各部分単位でオフセットがかかる様子がデモンストレーションされた。

・ホースIK
イレギュラーな使い方として馬のIKシステムにも応用している。これはコントロールが難しかったそうだが、バンキングや複雑な地形に対応した重心の移動などに対応したアニメーションを生成することができたとのこと。

ほかのセッションで「ミドルウェアは問題を解決するものには最適であるが、個性を出したい場合には向いていない」と述べていたが、このセッションの事例ではうまく表現したいアニメーションのみをミドルウェアで行うことにより、ある意味、それがそのタイトルの個性的な要素になっているのではないかと思わされた。

GDC2008

●The Helo3 Cinematic Process
ゲームアニメーション作成でゲーム中のアニメーションとは別に、デモシーンの作成にはこのセクション固有の課題がいろいろある。特にリアルタイムによるデモシーンは、シーン、カットによって内容の異なる、特定の演技を含んだシーケンスを再生する、実機用のデータを効率よく出力する必要がある。さまざまなタイトルにおけるこのあたりのワークフローの話は参考になることが多い。

このセッションではデモシーンの専用ツールの紹介、デモンストレーションに終始していた。これらの環境はHelo2での課題を基に新たに開発されたもの。環境はMAYAをベースとしたもので、通常の映像制作のように、キャラクタや背景のアセットをシーンに読み込み、レイアウトやタイミングの調整、ライティングをMAYAの機能で行っている。専用のウィンドウからViewingの変更や、フォーカスプレーンの表示、カメラに対するブレの表現の追加など、デモシーン作成のために必要な機能、設定を行うことができる。こうして構築したシーンに対して、ボタン1つでランタイムスクリプトを生成し、実機上での再生までが自動化されていた。
こうした開発PCと実機との連携、CGGツールでのリアルタイム・デモシーン特有のパラメータの付加、自動スクリプト生成といった環境は、規模の大小はあるものの、どの開発シーンでも行われているのではないかと思う。PS3やXBOX360といったパワフルなコンソールでは、それまでのプリレンダリングと比較して見劣りしない映像が再生できるようになった。これをデモシーンで活用しない手はないだろう。しかし、セッションで紹介されたような、開発環境を構築するための期間、人材が必要となるだろう。一方、プリレンダリングも、CG技術の進歩によって、よりクオリティの高い映像を作成できるようになっている。GCCツールの機能進化により、表現の幅も広がっている。リアルタイムデモの開発環境の構築とレンダリング時間とそれに関連する時間をトレードした場合にどちらがベストなのか、こうしたレベルでの検証も必要かもしれない。

GDC2008
GDC2008

残り1日となったということで、参加者全員でおいしいカニをいただきに。バターでローストして、少しスパイシーな味付けはうわさどおりのおいしさ。時価って言うのがちょっとドキドキ。(笑)