アンチャーテッド2 「キャラクターアニメーションパイプライン」
本日 Autodesk Design Innovation Forum 2010に参加してきました。
今回のセミナーはアタリの内容が多かったのでかなり満足しています。ただ、唯一安藤忠雄さんの基調講演を見れなかったのが残念。大阪から東京に行くと朝9:00開始の講演は辛いですねぇ…。
今回はその中でも一番注目していたNaughty Dogのセッションのレポートを書きます。このセッションはGDC2010で講演された内容を要約した内容だったのですが、若干内容が削られていたのが残念でした。ただ、最後の項目にある"In the Future"は今回のセッションのみの内容だったので、そこは新規の情報になると思います。
追記 (2010年6月2日 13:00)
gamebusinessさんにも、レポートが上がったようですので、併せてご覧いただくと良いかも知れません
Character Creation Process
Base mesh(Clean Quad mesh)
- スカルプティング時にサブディビジョンで破綻がでないよう、全て四角形ポリゴンで整えたメッシュ
Hi-rez mesh
- 高解像度モデルのスカルプティング
- Mudboxで制作
テクスチャリング
- スカルプトのOKが出たら、そのままMudbox上でテクスチャを描き込む
Game mesh (Arbitrary Game Mesh)
- ゲームに最適化したメッシュ
- Hi-rez meshを下地にリトポロジ
- この段階では、三角形ポリゴンが入っても良い
UVの配置
NormalMapの焼付け
- Sampling Texture sXnormal
- Hi-rez meshを元に、Game Meshに焼付け
LOD(Level of Detail)
- インハウスのカスタムツールを制作
- ジオメトリを迅速にポリゴンリダクション
- ポリゴンを減らす割合(60%削減)なども決めれるようである
- 同じmeshから、低ポリゴンのデータを制作できて効率的である
→UVレシオ ツールは、ロードキルツール。LOD制作ツールはSoftimageのポリゴンリダクションに似ているなぁという印象。
Rigging(リグビルドプロセス)
- Uncharted2では、三種類のRigを利用した
- Game Skelton
- Animation Rig
- Mocap Skelton
Animation Rig
- アニメーターが動かすためのRig
- Game Skelton を制御するための構造
MocapSkelton
- Mocapデータを流し込むための骨
- アニメーションRigに焼き付け、編集できるようにするための構造で、このRigをコントロールするワケではない
Automatic Rig Builder
- 正しくRigをビルディングできる仕組み
Rig Customizaion
- アニメータごとにリグをカスタマイズできる仕組み
- コントローラーを、透明にしたり、可視化したり
- コントローラーのタイプ・形状を変更(シリンダー・カーブなど)できる
Historyツール(Save Skinning Information)
- 履歴を蓄えておける仕組み
- 頂点のウェイト情報などを蓄えておいて、meshのトポロジが変更されても壊れないようにする
FaceSetup
- フェイシャルの制御は、ジョイントベース
- 顔に使用している骨は97本
- これらをRigを利用して制御している
- 制御はブレンドシェイプ
- またRigを利用する事で、リニアではない補完を可能にしている
コンビネーションスカルプティング
- 顔のアニメーションの反転ができるなどいろいろできる
- ブレンドシェイプのミキサー
Fixer
- 顔の形状を保つための機能
- ブレンドシェイぷのミックスでできた、おかしな部分を適正値に戻すツール
- 実践では、片方の広角を上げてニヤッとした顔と、笑った顔をBlendした時のほっぺたの異常な膨らみを、Fixerを利用して修正
- 実際にどういう技術なのかは分かりませんでした。
Wrinkle Map
- 2種類のノーマルマップを用意して
- 骨の動きでマップの透過率をドリブン
- EAさんのDVD・UFC2009のセミナーでも採用されていた方法
→Historyツールは、SogtimageのGatorのような仕組みにみえましたが、UIなどを簡略化し使い易いシステムになっている印象
Animation Process
Character Manager
- ネームスペースの一貫性を保つためのツール
- いろんなデータを利用する時に崩れがちなネームスペースを、規約に基づき変換
Animation Library
- ゲーム中のアニメーションデータ、Mocapデータが一つのライブラリに登録されている
- サーチ機能も充実している
- ソーティング
- レイティング
- アニメーターがレーティングを決める
- 誰がインポートしたのかもわかる
- コメント機能
トレース(Mocap→AnimatinRig)
- Mocap Skeltonに流し込まれたモーションに、Animation Rigを追随させ、モーションを焼き付ける
- フレーム間の設定
- 焼き込むステップも決めれる
- これを利用すると、Animation RigでMocapデータのコントロールができるようになる
Key Frame Tools
- コントローラーのセレクトツール
- Rigのセレクションリストが表示される
- お気に入りのコントローラーの、グループ化も任意で行える
Prop Tool
- キャラクターが持つ小道具のためのツール
- 小物・銃などのコントローラー(拡張Rigのようなもの?)
IK Arm Context
- Animation is always in FK
- IKとFKが混在するのは、キーフレームのマネージメントが大変なので、
- FKを使う時は、FKをIKのようにコントロールできる、コントローラをつける仕組み
- FKにIKをつけるのでカーブはFKのまま
In the Future
Uncharted2では利用しなかったが、将来的に利用したい要素
Muscle System
- Mayaのデフォルト機能でもあるが、ゲームでは使えない
- リアルタイムで動き、カスタマイズしやすい機能
- ジョイントのロケートを、MuscleSystemで制御したい
- まだまだ検証中
Sketch Tool
- 最近完成
- Mayaのシーンの上に直接、手描きでスケッチが出来るツール
- これにより、修正指示が直接書き込める
- 線の幅を変えたり、線の色を変えたりする機能もある
- フレームごとに書き込めるので、アニメーションの各フレームごとにしじを出すことも可能
- カメラを動かしてもカメラに追随する
→Muscle Systemで流していた映像は、かなり低ポリゴンのオブジェクトを利用するようだったが、動きは筋肉っぽかった
まとめ
全体的に、手堅い技術で手堅いクオリティを維持しているような印象で、キャラのモデリングも、リギングも納得のパイプライン。個人的には、最後のIn the Futureで紹介されていたSketch Toolが非常に好感触。これはライムラインを持つDCCツールには是非標準機能としてつけて欲しいですねぇ。シーン上に直接指示が書き込めるのは、メンバーに意思を伝える時の効率が格段に違う気がします。特にアニメーションとか…。
あとは、Muscle Systemも興味あるなぁ。まだキッチりとMuscle Systemを導入しているゲームを見たことないですからね。非常に興味あります。