リグ設計で抑えたいポイント
Important points to keep in mind based on rig design
(株式会社ポリゴン・ピクチュアズ / スタジオフォンズ)
(Polygon Pictures Inc. / Studio Phones)
本資料は会合後にディスカッションされた内容を踏まえ記載しています。今後の会合の状況を見つつ加筆修正を含めブラッシュアップを進めていく予定です。
■概要
■Overview
キャラクターを中心に小道具や乗り物、背景など、アニメーションを付けるものにはほぼリグがセットアップされていることがほとんで、CGアニメーションではとくにこのリグシステムがアニメーションを付けていくうえで重要なシステムとなります。ここではリグの簡単な役割を軽くおさらい程度に説明し、インフラ設計上、又はパイプライン構築上抑えたいポイントを詳細に述べて行きたいと思います。
リグシステムは各社それぞれ個性的な発展を遂げてきている歴史がありますが、ここではポリゴン・ピクチュアズでのリグシステムに少し偏った内容も含まれますが、一般的なリグシステムを意識したかたちで、資料にまとめていきたいと思います。
under construction...
■キャラクターアニメーションとリグ
■Character animation and rigging
CGアニメーションにおいてキャラクターのアニメーションは制作のなかでもとりわけ重要な要素で、フェイシャルのアニメーションも含め、よりキャラクターの魅力を引き出すようなアニメーションを付けていくことになります。
アニメーションはリグのコントローラーを動かすことによりそのモデルを変形させ、それら変形させたポーズを時間軸上にキーフレームとして保持し、そのキーフレームの間をアニメーションカーブなどで補間することにより、アニメーションが作成されていきます。
特にキャラクターアニメーションにおいては、髪の毛・眉毛・目・口・鼻・指先などなど、モデルの細部についてもアニメーションを付けていくことになるため、構築されるリグは非常に複雑になり、アニメーターが調整可能なコントローラーの数は、キャラクター1体あたり500個以上となるようなことも少なくありません。
複雑に配置されたコントローラーをアニメーターが選択しやすくするために、一般的にリグツールではアニメータ用のGUIツールが用意されています。アニメーターが直感的にアニメーションを付けられるように、GUIでは実際のオブジェクトの形状にあわせてコントローラーの選択コンポーネントを配置していきます。
アニメータ用のコントローラGUI(左:Body、右:Face)
CGアニメーションではキャラクターの表情の細かな変化により、そのキャラクターの感情やストーリーを展開させていくような演出も多く、より精細に表情がコントロールできるよう、コントローラーの数も他の部位に比べ多くなっています。また表情についてはある程度ライブラリ化することが可能で、いちから表情をつくるのではなく、ライブラリからプリセットを選択し、そこから細かな表情を作成していくことが一般的です。
眉間のシワとアニメーションコントローラー
© Gamon Sakurai, KODANSHA/AJIN Production Committee. All Rights Reserved.
表情ライブラリ
© Gamon Sakurai, KODANSHA/AJIN Production Committee. All Rights Reserved.
リギングで抑えたいポイントとしては、アニメーターの創造力に応えるかたちで、自由度のある使いやすいリグを実現するとともに、リグの動作速度にも気を配る必要があります。コントローラーの数を不必要に増やしたり、非効率なリグ構成になっていると、リグの動作そのものが遅くなってしまい、アニメーターの生産性を低下させたり、作業ストレスの原因になったりもします。
リギング作業は比較的手間がかかる工程となるため、様々な自動化を行い作業を効率化していくことも大切です。近年ではモジュラーリギングという仕組みが一般的で、顔・腕・手・足などいったかたちで部分ごとにモジュール化して、個別にリギング作業を行い、最終的にそれらを組み合わせてキャラクターのリグの構築することが可能となっています。
リグを細かくモジュール化することにより、作業を分割したり、後からリグを追加するといったことが容易となり、プロシージャルにリギングを行えるため、作業がより効率的になります。
またリグはポリゴンメッシュの形状とも関係が深く、変形させたい箇所が狙った形状で変形されるように、メッシュの分割面の形状や数などの調整や、リグの骨を打つ場所(間接)などの調整が必要となります。
このようにリグはモデラーとアニメーターの間で両者のバランスを取りながら、リギングを行なっていくこととなります。
リグシステムでは、アニメーターがより直感的に操作可能で、かつ動作がリアルタイムに作業が行えることが理想的です。海外のスタジオではDCCツールを拡張するかたちではなく、それらを実現するためにインハウスで専用のリギングとアニメーションのためのシステムを開発しているケースもあります。
しかしながら、これらのシステムは万人に使いやすいかという視点よりは、スタジオとしての性能を向上する目的で、多少慣れが必要でもスキルの高いアーティストなら性能を出せていく、そのような設計になっていると思われます。またWeta DigitalのTissueやWig、DisneyのXgen(現在はMayaにも追加された)など、リグを扱うことの付随的な仕組みを多数抱えるスタジオの場合、今後ますますインハウスでの開発を強めていくことでスタジオ特有の進化を遂げていくようにも思われます。
・Premo : DreamWorks
https://dl.acm.org/citation.cfm?id=2791262
・Presto : Pixar
https://dl.acm.org/citation.cfm?id=2792583
・Weta Digital, Tech and research
https://www.wetafx.co.nz/research-and-tech/
under construction...
■リグシステムとパイプライン
■Rigging system and Pipeline
リグシステムのパイプラインでは、まずリグの自動ビルドが重要になります。モジュラーリギングシステムでは一般的な手法ですが、スクリプトなどにより決められたルールで自動的にリグを構築していきます。更にはアセットのビルドというかたちで、モデルデータ、リグデータ、マテリアルデータなど別々に作成されたデータからアセットをビルドして、ショット工程で必要となるアセットデータを自動的に作成していきます。
その際に、それぞれのデータにはバリエーションがあり、ビルド時にそれらを適宜選択して、組み合わせを変えながらビルドを行うといったことも可能にしていくことが重要です。これらのビルドのための仕組みは、モデリング、リギング、ルックデブといった各工程が別々に並行して作業をし、アセットを更新していくワークフローの構築を可能にします。
リグデータ単体としてもデータのリビジョン管理がされており、モデルデータやマテリアルデータと一緒にビルドされたアセットも同様にリビジョン管理がなされています。
アセットのビルドツール
ビルドされるアセットは、ショット工程での利用用途に応じていくつかのバリエーションがあります。どのようなバリエーションの種類が必要になるかは、スタジオごとのワークフローによって異なりますが、ポリゴン・ピクチュアズでは、レイアウト用、アニメーション用、レンダリング用といったかたちで、用途に応じたアセットがビルドされるようなパイプラインとなっています。
また、リグのデータにはモデルやマテリアルの情報は含まれていないため、一般的にリグのデータそのものはデータサイズが小さく、ストレージシステムを圧迫するようなことはほとんどありません。また各プロジェクトでは標準的なモデルとそれに対応したベースのリグをまず初めに作成し、それらを派生させるかたちで、別のキャラクターなどのリグを作成していきます。仕様策定などの試行錯誤を行うため、最初の1体目の制作には時間を要することもありますが、1体目が完成すると、あとはそれを横展開して、量産するようなかたちで生産性を高く維持していきます。
リギングをより効率的に行うために、キャラクタライズのためのツールなどを用意し、プロポーションが異なるモデルに対しても自動的に同じリグをコピーして適用するといったことを可能にし、いちど構築したリグをうまく使いまわしていくようなことも行なったりします。
リグの作業は比較的スクリプトなどによるプロシージャルな処理で作成されていく面も多く、リギングアーティストの多くはスクリプティングといったスキルが必要となり、全工程を見渡してもテクニカルな要素が強い作業となります。
リグシステムとそのパイプラインはDCCツール上に構築していくのが一般的ですが、アニメーターのためのユーザーインターフェイスや動作速度などを追求していくなかでは、DCCツールを拡張していくだけでは限界となる点もあり、インハウスのシステムとして開発し、パイプラインを構築していくことが、より理にかなったことではありますが、その開発コストやメンテナンスコストが膨大になることも予想され、費用対効果も含めたバランスの難度が高いと思われます。
under construction...
■リグシステムと今後のインフラ
■Rigging system and future infrastructure
単一マシンのCPUの性能を上げていく、複数マシンのCPUに負荷を分散していく、多くの場合、キャッシュ出力を許可する場合には複数マシンのCPUを用いることも検討でき、その際は計算クラスターとリグなどの評価時のスケジューラなどの充実を図っていくことになります。しかしながら、Xeon Phi系のように単一マシンでもかなりの性能を出せる環境が存在するため、一見それらは必要ないようにも思われます。ただし、大量のキャラクターのリグを評価し、アニメートさせてい様子をみたい場合は、計算クラスターの利用も検討されていくことでしょう。
リグとシーンアッセンブルの機能の発展により、多人数同時アニメートとしての展開も生じていくかもしれませんし、近年のインフラ技術の発展から新しい制作パラダイムが出てくるような気もしています。
会合中は、リグという一つのキーワードで議論したにも関わらず、インフラの発展やレンダリングや各種シミュレーションなどとの混在的な応用の余地などがアイデアベースで展開され、非常に活気を帯びたように思われました。
また、先の例の顔の表情のアーカイブのように、アセットの変形時の各種状態を表すデータなどの取り扱いにおいては、今後の機会学習や深層学習などへの利用も視野に入れたインフラ構築なども課題と思われ、これらは今後の会合企画にて検討していきたいと考えています。
under construction...
リギング作業は比較的手間がかかる工程となるため、様々な自動化を行い作業を効率化していくことも大切です。近年ではモジュラーリギングという仕組みが一般的で、顔・腕・手・足などいったかたちで部分ごとにモジュール化して、個別にリギング作業を行い、最終的にそれらを組み合わせてキャラクターのリグの構築することが可能となっています。
リグを細かくモジュール化することにより、作業を分割したり、後からリグを追加するといったことが容易となり、プロシージャルにリギングを行えるため、作業がより効率的になります。
またリグはポリゴンメッシュの形状とも関係が深く、変形させたい箇所が狙った形状で変形されるように、メッシュの分割面の形状や数などの調整や、リグの骨を打つ場所(間接)などの調整が必要となります。
このようにリグはモデラーとアニメーターの間で両者のバランスを取りながら、リギングを行なっていくこととなります。
リグシステムでは、アニメーターがより直感的に操作可能で、かつ動作がリアルタイムに作業が行えることが理想的です。海外のスタジオではDCCツールを拡張するかたちではなく、それらを実現するためにインハウスで専用のリギングとアニメーションのためのシステムを開発しているケースもあります。
しかしながら、これらのシステムは万人に使いやすいかという視点よりは、スタジオとしての性能を向上する目的で、多少慣れが必要でもスキルの高いアーティストなら性能を出せていく、そのような設計になっていると思われます。またWeta DigitalのTissueやWig、DisneyのXgen(現在はMayaにも追加された)など、リグを扱うことの付随的な仕組みを多数抱えるスタジオの場合、今後ますますインハウスでの開発を強めていくことでスタジオ特有の進化を遂げていくようにも思われます。
・Premo : DreamWorks
https://dl.acm.org/citation.cfm?id=2791262
・Presto : Pixar
https://dl.acm.org/citation.cfm?id=2792583
・Weta Digital, Tech and research
https://www.wetafx.co.nz/research-and-tech/
under construction...
リグシステムのパイプラインでは、まずリグの自動ビルドが重要になります。モジュラーリギングシステムでは一般的な手法ですが、スクリプトなどにより決められたルールで自動的にリグを構築していきます。更にはアセットのビルドというかたちで、モデルデータ、リグデータ、マテリアルデータなど別々に作成されたデータからアセットをビルドして、ショット工程で必要となるアセットデータを自動的に作成していきます。
その際に、それぞれのデータにはバリエーションがあり、ビルド時にそれらを適宜選択して、組み合わせを変えながらビルドを行うといったことも可能にしていくことが重要です。これらのビルドのための仕組みは、モデリング、リギング、ルックデブといった各工程が別々に並行して作業をし、アセットを更新していくワークフローの構築を可能にします。
リグデータ単体としてもデータのリビジョン管理がされており、モデルデータやマテリアルデータと一緒にビルドされたアセットも同様にリビジョン管理がなされています。
また、リグのデータにはモデルやマテリアルの情報は含まれていないため、一般的にリグのデータそのものはデータサイズが小さく、ストレージシステムを圧迫するようなことはほとんどありません。また各プロジェクトでは標準的なモデルとそれに対応したベースのリグをまず初めに作成し、それらを派生させるかたちで、別のキャラクターなどのリグを作成していきます。仕様策定などの試行錯誤を行うため、最初の1体目の制作には時間を要することもありますが、1体目が完成すると、あとはそれを横展開して、量産するようなかたちで生産性を高く維持していきます。
リギングをより効率的に行うために、キャラクタライズのためのツールなどを用意し、プロポーションが異なるモデルに対しても自動的に同じリグをコピーして適用するといったことを可能にし、いちど構築したリグをうまく使いまわしていくようなことも行なったりします。
リグの作業は比較的スクリプトなどによるプロシージャルな処理で作成されていく面も多く、リギングアーティストの多くはスクリプティングといったスキルが必要となり、全工程を見渡してもテクニカルな要素が強い作業となります。 リグシステムとそのパイプラインはDCCツール上に構築していくのが一般的ですが、アニメーターのためのユーザーインターフェイスや動作速度などを追求していくなかでは、DCCツールを拡張していくだけでは限界となる点もあり、インハウスのシステムとして開発し、パイプラインを構築していくことが、より理にかなったことではありますが、その開発コストやメンテナンスコストが膨大になることも予想され、費用対効果も含めたバランスの難度が高いと思われます。
under construction...
単一マシンのCPUの性能を上げていく、複数マシンのCPUに負荷を分散していく、多くの場合、キャッシュ出力を許可する場合には複数マシンのCPUを用いることも検討でき、その際は計算クラスターとリグなどの評価時のスケジューラなどの充実を図っていくことになります。しかしながら、Xeon Phi系のように単一マシンでもかなりの性能を出せる環境が存在するため、一見それらは必要ないようにも思われます。ただし、大量のキャラクターのリグを評価し、アニメートさせてい様子をみたい場合は、計算クラスターの利用も検討されていくことでしょう。
リグとシーンアッセンブルの機能の発展により、多人数同時アニメートとしての展開も生じていくかもしれませんし、近年のインフラ技術の発展から新しい制作パラダイムが出てくるような気もしています。
会合中は、リグという一つのキーワードで議論したにも関わらず、インフラの発展やレンダリングや各種シミュレーションなどとの混在的な応用の余地などがアイデアベースで展開され、非常に活気を帯びたように思われました。
また、先の例の顔の表情のアーカイブのように、アセットの変形時の各種状態を表すデータなどの取り扱いにおいては、今後の機会学習や深層学習などへの利用も視野に入れたインフラ構築なども課題と思われ、これらは今後の会合企画にて検討していきたいと考えています。
under construction...