2019/12/27

第4回リグナイト『ゲームと映像のリグの違いその①』~議論結果~

こんにちは。
BACKBONEの福本です。

今回は、
第4回リグナイト『ゲームと映像のリグの違い』
の当日の様子をお伝えします。

第1回リグナイトについてはこちら
第2回リグナイトについてはこちら
第3回リグナイトについてはこちら

今回ご参加いただきました会社様、リガーさんの数は下記となります。

  • 映像関連  :  9社
  • ゲーム関連 : 10社
  • 開発関連  :  2社
  • 学生    :  1名
    計     : 21社 + 学生1名
  • 招待枠   : 10名
  • 応募枠   : 12名
    計     : 22名

これまでは招待枠のみでの開催でしたが、
今回から招待枠10名、応募枠12名で開催させていただきました。

ご参加いただいた方は、主にリガーさん、TA/TDさん、学生さんが1名です。

 

※以下の議論内容は、各テーマの「解」ではなく、皆さまの経験談に基づく「ご意見」となります。

 

前半 『シアーとスケール / Blender等の導入』

〘シアーやスケールはどのように対応されていますか?〙

<ゲーム>

  • シアーはデータ量が増えるので基本的には扱わない
  • キーフレームの容量が増えるのでスケールは使いたくない。
  • SSCやスケールはアトリビュートをロックして逃げている。
  • スケールはゲームエンジンによって仕様などが異なる。
  • プログラマーとシアーを出力できないか試行錯誤したことがある。
    不可能ではないがデータ量が多くなる、処理負荷などの問題で中止した。
  • 疑似的なシアー表現をエンジンで再現することはある。

<映像>

  • XSIの階層スケールは最高だった。
  • 3dsMaxでは、SSCやインバーススケールのように親のスケール
    影響を切ることができるが、それより上の階層からの影響も全て切れてしまう。
  • Mayaの方がmatrixが使用できるので楽だと思う。
  • シアーとスケールは難解。
  • コントローラー開発ではまる時は大体がシアーとスケール。
  • 骨の軸さえしっかりと設定されていればmatrixで何とか対応できる
  • 部位毎にスケールできる仕様を要求されることが多い。
    シアーとスケールの対応は必須

 

◆仕様の違い
<Unity>

  • インバーススケールを持ち込むことはできません
  • Segment Scale Compensate(以後SSC)は持ち込むことはできません。
  • 3軸の均等スケールは可能です。

<Unreal Engine 4 >

  • インバーススケールを持ち込むことは可能です。
  • SSCは持ち込むことはできません。
  • 3軸の均等スケールは可能です。
  • スケールがXSIの階層スケールと似ています。

冒頭からマニアックなシアーとスケールの話で、この議論だけで前半が終了してしまいました。。。

 

BlenderやHoudiniなどは導入していますか?

<ゲーム><映像>

  • Blenderは調査検証を含めて、モデリング作業で少し使用している。
  • Blenderは気になるがまだ導入も検証もしていない(多数)。
  • Blenderは様子見(多数)。
  • BlenderはGUIが使い辛い
  • ゲームでもシミュレーション作業などでHoudiniを導入しつつある。
  • Houdiniは背景制作で使用している。
  • Houdiniは髪の毛のリダクションの自動化に使用している。
  • 特定機能だけ使う。

Blenderには興味があるがまだ様子見、といったご意見が多かったです。
シミュレーションにはマーベラスデザイナーを使用されている方もちらほら。

 

休憩 『懇親会』

 

後半 『リグ作業の担当範囲』

〘シミュレーションはどのように作業されていますか? 映像系各社 / Maya案件〙

<映像>

  • クロスシミュレーションはリガーが兼任している。
  • クロスの仕込みはシミュレーションチームが作業し、
    ショットとめり込み修正はリグチームがお手伝いしている。
  • ガチのクロスシミュレーションは使用していない。
  • SplineIKのカーブにヘアーを仕込んで簡易シミュレーションと手付けで対応している。
  • 常に人員不足なので自動化して対応している。
  • 揺らし用のリグの仕込みとパラメーターの初期設定はリガーが担当し、
    実際に揺らすのはアニメーションチーム。
  • カーブを揺らすようなセカンダリーリグの簡単なシミュレーションは、
    アニメーションチームで対応してくれる

SplineIKのカーブにヘアーを設定したコントローラーで対応されている方が多いようです。
リグを設定するよりも、nClothなどでシミュレーションしてしまった方が早い場合もありますね。

 

〘シミュレーションはどのように作業されていますか? 映像系各社 / 3dsMax案件〙

<映像>

  • クロスシミュレーションは使用せず、全て手付けで対応している。
  • アニメーターから、全ての頂点にコントローラーが欲しいと要求されたことがある。
  • クロスモデファイヤで対応している。
  • アニメ案件だとコストではなく、表現力を重視して骨への手付けで対応している。
  • Spring Magicを使用している。

3dsMaxはアニメ案件が多いようで、
シミュレーションをせずにアニメ独特の演出を表現できるように手付けで対応する、
というご意見が多かったです。

 

〘シミュレーションはどのように作業されていますか? ゲーム系各社〙

<ゲーム>

  • ジョイントベースで物理で揺れるシステムを使用している。
  • ApexClothを使用している。
  • 物理揺れの最終調整はテクニカルよりの人(TA/TD)でないと対応できないことが多い
  • ゲームでのめり込みの許容範囲は、ディレクターが良いと言えばOK
  • 骨にアニメーションをベイクして出力することもある。
  • マント用の骨など、プリセット骨があればアニメーションの共有も可能
  • モバイルだと、基本的にベイクベースじゃないと処理負荷的に厳しい。

映像制作では、めり込みはほぼ無いように修正することが多いですが、
物理での自動制御の場合は、完全にめり込みを回避するのは難しそうですね。

個人的には、ディレクターの方の判断基準をお聞きしてみたいです。

 

〘ゲーム制作のリグ作業の分担について〙

<ゲーム>

  • 骨打ちとウェイト調整まではモデラーさんが担当
    コントローラーの開発と設定はリガー、またはTA/TDさんが担当。
    骨の名前と軸に関しては、リガーが確認するようにしている。
  • 骨打ちはリガー、ウェイト調整はモデラーさんが担当
    ポーズで確認しつつモデルの修正といった作業が多い。
  • 命名規則が守られていないことが多く、チェックコストが重い。(多数)
    インフルエンス数も守られていないことも多いので、細部までチェックする。
  • リガーが骨の設計を行い、モデラーさんに仕様を伝えた上で骨打ち作業をしてもらう。
  • とんでもない位置に骨が打たれていることも多い。軸もヤバい。
  • 骨打ちもウェイト調整もモデラーさんが担当だが、
    骨に関しては入念にチェックしておきたいので自主的にチェックするようにしている。

ゲームでは、モデラーさんが骨打ちやウェイト調整を担当されている会社さんが多いようです。
近々、モデラーさんとの座談会も企画したいと思います。

 

〘作業分担について、変更の予定はありますか?〙

<ゲーム>

  • 現状はモデラーさんが骨打ちの作業を担当しているが、
    骨打ちに関してはリガーが担当するようにしたい。
  • 専門のリガーが必要

<映像>

  • モデラーさんに骨を設定して欲しい
    仮バインドしてポーズのチェックをすることで、
    プロポーションの違和感なども認識できるので。
  • ボディリグ・フェイシャルリグの分業でコストが増えてきた。
    今後は統合する予定。

骨の位置に関しては、バインドしてみないと判断できないことも多いですね。
私が骨打ちの作業をする時も、仮バインドして実際に形をみて確認しながら位置を決めています。

 

〘映像からゲームへ転職された方、どういった点で文化の違いを感じましたか?〙

<ゲーム>

  • やはり実機合わせでの制約が多く、デフォーマーが使えないのはしんどい
  • 実機で確認しながら再度モデル修正などの繰り返しも多い。
    処理負荷を考慮しての修正、変更も多いので映像とは制作フローが違う。
  • プロシージャルアニメーションも多用されている。
  • ゲームのフェイシャルは複数言語対応がおもしろい!

デフォーマーも使いたいですが、個人的にはFBXでシアーも出力、
エンジンでも読み込みができるようにして欲しいです。

 

『工数について』

〘一日8時間労働で計算した場合、アセット1体の作業工数を教えてください。 映像系各社〙

<映像>
◆[1体目1.5ヵ月+α] MAYA(モジュラーリグシステム使用)

  • 基本的には過去のアセットから流用する
    ツールやモジュールがあるので体だけで10日+α。
    流用しているが作品によりシルエットや体形がバラバラなので、
    調整に10日以上かかることも多い。
  • フェイシャルはツール化しているので、ウェイトのみの作業で5日前後。
    もちろん過去のアセットから仕様が変わると、修正や開発に数ヵ月かかることもある。
  • 体のコントローラーは基本的には他の案件と同じなので自動生成
  • 髪や服のセカンダリーは15日+α。
    アニメーターさんがショットで使う揺れものの初期パラメーター調整含む。
  • 2体目以降は体とフェイシャルを合わせて6日前後。
    セカンダリーはデザインによるので1体目と変わらず15日+αで考える

◆[1体目1ヵ月+α] MAYA(モジュラーリグシステム使用)

  • 過去のアセットから流用する。
  • 補助骨などは全てスクリプト、ツール化されている
  • 体のウェイト調整で2~3日。
  • 規格が大きく変わるものは、修正や開発に10日以上かかることも多い。
  • 体のコントローラーは基本的には他の案件と同じなので自動生成
  • セカンダリーは10日+α。
  • フェイシャルリグはウェイト調整のみで1体5日前後。
  • フルスクラッチだと別で開発工数としてガッツリ確保。

◆[1体2週間+α] MotionBuilder / MAYA

  • MotionBuilder用のリグ設定で2~3日。
  • 補助骨などはありものを流用
  • Maya用のリグで5日前後。
  • シミュレーションもリグチームが担当するので、服にコントローラーは設定せず、
    シミュレーションで対応と割り切ることで効率化を図っている。
  • クロスの仕込みで5日前後。

◆[1体目 1~1.5ヵ月] 3dsMax

  • 受託仕事だと求められるクオリティにより差はあるが1体目 1~1.5ヵ月。
  • 2体目以降は5日+α。ものによる。
  • 3dsMaxだとモディファイヤでアニメーターさんが調節できるので、
    デフォームを詰めて作業しないことも

◆[1体目 7日] 3dsMax

  • 骨打ちとスキンは2~3日。
  • 通年コントローラ開発をしているので、コントローラー設定に関しては1体3~4日。
  • フェイシャルはショット側でツイークコントローラを作成するツールを開発。
    アニメーターさんに活用してもらっているので、リグ工数削減に繋がっている。

コントローラや補助骨などは、過去案件で開発したものやツールを流用している方が多かったです。
服や髪に関してはアセット毎にユニークなものが多いので、どうしても工数がかかるようです。

作業工数は案件や内容にもよるので、上記の工数のお話はあくまでも1例として。

 

〘一日8時間労働で計算した場合、アセット1体の作業工数を教えてください。 ゲーム系各社〙

<ゲーム>
[1体目 2~3か月]

  • 開発期間が長いので、1体に対しての工数を試算するのが難しい。
  • まずは実機に出力することが優先される。
  • 命名規則や骨向きのルールを決めて、
    最低限動かせるプロトタイプとして2~3日で出す。
  • その後、本格的に試行錯誤して作る期間として2~3か月。
  • 人型以外は汎用性持たせてライブラリを作って流用。
    デザインによるが1体1~7日。

[1体 7日]

  • 既にあるモジュールと骨数が一致してれば、
    モジュールベースで作成したものの調整がメイン作業。
  • 人型のコントローラー設定で0.5~1日。+セカンダリーをデザインにより追加。
  • ユニークなモンスターなどの場合は1~5日と幅がある。
  • フェイシャルはモデラーがツィーク骨を作って表情を作成する。
    それをターゲットにしてコントローラーを作成する。
    コントローラーはツール化しているので1日+α。

作業工数は案件や内容にもよるので、上記の工数のお話はあくまでも1例として。

 

〘工数の話 映像系〙

<映像>

  • 1体当たりで考えると作業工数が積みあがってしまうので、
    人だけ押さえてマイルストーンを設定する。
    ほかのタスクも対応しながら、フェイシャルリグ開発に半年ぐらいの期間をおさえる。
  • テクニカル系の人は様々な業務に日々対応している。
    一つの業務、プロジェクトに専念しての開発は難しい

    他セクションや制作はその点を考慮してスケジューリングしてほしい
  • モデラーさんやアニメーターさんとのやり取りもあるので、
    ある程度の期間を抑えてコントローラーを開発したい。
  • アニメーターさんからのフィードバックが多いので、長めに期間を押さえる
  • 別案件の対応をしながら作業できる期間を押さえておく。
  • 与えられた工数では、アニメーターさんからの要求に対応できない。
  • 効率化のための開発期間を設けて欲しい
  • 8時間労働の工数で見積って欲しい
  • クリーチャーや特殊なアセットは数ヵ月かかることもある。

長編や大量のアセットが発生する場合、
1体目でシステム化してしまえば後は流用で工数を抑えることが出来るので、
プリプロや効率化のための開発期間はとても重要だと思います。
クォリティを統一化することも出来ますね。

 

〘工数の話 ゲーム系〙

<ゲーム>

  • 開発期間が長いので、リガーは出力のバグを探っていたり
    アニメーターさんのサポートしたり、リグではないことをしている。
  • スクリプトが書けないとしんどいので、自分のために覚えた。
  • そんな状況なので新人の育成や教育が難しい
  • ゲームは途中で仕様ががらっと変わって、再出力が発生することがある
  • 制作中も、差し替えは発生するものだと考えて制作している。

差し替え作業はスクリプトで対応することも多いので、スクリプトは習得した方が良さそうですね。

 

『更新のタイミングについて』

〘アセットやツールの更新はどのように運用されていますか?〙

<ゲーム><映像>

  • アセットはリファレンスして使用している。(多数)
  • 常に最新のものが提供されている状態。
  • アセットはパイプライン上でバージョン管理をしている。
  • 作業ファイルもモデル、リグのバージョンをそれぞれバージョン管理している。
    ビルドスクリプトで最新のデータを読み込んで構築する。
    共通領域で保存しているので引継ぎなども可能。
  • ツールの古いバージョンも使いたいと言われると複雑に分岐させるしかなく頭痛の種。
  • 最初のシーケンス終了後、バージョンロックして以後の作業とは切り離す
    完了した個所への変更がかからないようにしている。
    仮に変更をかけたい場合も、その部分にだけパプリッシュしなおすことが可能。
  • 他会社さんにツールを貸し出す時の為に、専用のバージョン管理システムを開発した。
  • プラグインにバグがあっても、現状使用しているリグが壊れるような更新はしない
    デフォルト挙動はバグがある状態のままにする。
    バグフィックス機能をON/OFFで切り替えられるようにアトリビュートを追加し、
    ユーザー側で選択できるように対応している。ツールを更新する際も同様。

リグやプラグインにバグがあったとしても、
使用されている方の作業を配慮して柔軟な対応をされているのは素晴らしいですね。

多くの参加者が感嘆の声を上げていました。

 

『フリータイム』

ご参加いただいた学生の方からご質問がありましたので、
議論枠の皆様にアドバイスをいただきました。

〘命名規則はどうやって決めているのですか?〙

<ゲーム><映像>

  • 会社やプロジェクトによって変わります。
  • 宗教的なものが存在しており、考え方が色々あります
  • 規則に一貫性があり、説明できるものにする。
  • プログラマー目線で考えて決める。
  • 規則性が無いとプログラム処理する時に苦労する

 

◆以下宗教

  • 部位の名前を英語にする派(upArm など)
  • 日本人なんだからローマ字派(ude など)
  • アルファベットで数える派(beltA、beltB など)
  • 数字で数える派(belt1、belt2 など)
  • アッパーキャメルケース派(UpArmBelt など)
  • ローワーキャメルケース派(upArmBelt など)
  • スネークケース派(up_arm_belt など)
  • 左右の識別子は大文字の「L」「R」派(arm_L など)
  • 左右の識別子は小文字字の「l」「r」派(arm_l など)
  • 左右の識別子は「Left」「Right」派(arm_Left など)
  • 左右の識別子は「left」「right」派(arm_left など)
    ・・・などなど

なかなかマニアックなご質問でしたが、学生時代にしっかりと各ノードに名前を付けて
データの体裁にも気を配るよう習慣化しておくとプロの現場に入った時に重宝されると思います。

リグの仕様は色々な考え方がありますが、正直、正解はないと思います。

各社さんのパイプラインや案件に最適化されていたりするので、
自分でルールを決める時は、最低限、説明できる規則性があれば良いのではないでしょうか。

 

〘どのような勉強法がありますか?〙

<ゲーム><映像>

  • とにかくノードを繋いで遊んでみる
  • 社内に外国人が多いと、リグの文化も色々あり勉強になることが多い。
  • Youtubeなどにアップされている動画を片っ端からみて勉強する
  • フリーのリグデータをダウンロードして解析する。
  • セミナーに参加する。

リグに関する著書が少ないですが、海外のWebサイトには凄くためになる記事が多いですよ。

 

『学生さんへの質問』

〘どうやってリグの勉強をしていますか?

<学生>

  • Mayaリギング -正しいキャラクターリグの作り方- 」を読んで勉強しました。
  • 本やネットのブログ記事などを参考にしています。

学生の頃、私もリグの勉強にはとても苦労しました。
個人的には「マヤ道!」という著書がお勧めです。

 

おわりに

今回は主にリガーさん中心にお集まりいただいたので、
かなりマニアックなお話や苦労話で盛り上がりました。

予定していた議題はほぼ進まず。。。次回も同じテーマで開催します。

次回のリグナイトは、来年の3月頃を予定しています。
ご興味のある方は、ぜひご参加下さいませ。

では。

 

※免責事項※
本記事内で公開している全ての情報について、その完全性、正確性、適用性、有用性等いかなる保証も行っておりません。
これらの情報のご利用により、何らかの不都合や損害が発生したとしても、当社は何らの責任を負うものではありません。
自己責任でご使用ください。

 



ブログTOPへ戻る