2025/01/31

第12回リグナイト『リグシステム座談会(eST,mGear,etc)』~開催レポート~

ご無沙汰しております。
BACKBONEの福本です。

2024年11月8日に開催した、第12回リグナイト『リグシステム座談会(eST,mGear,etc)』の当日の様子をお伝えします。リグナイトに関してはこちら。
リグナイト

今回は、Zoomでのオンライン開催となりました。
下記、ご参加いただいた方の業種や職種、使用されているリグシステムなどのアンケート結果になります。

 

◆アンケート結果

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

 

前半 『リグシステムの紹介』

リグシステムには、各社の内製システムや有料・無料のものなど、さまざまな種類があります。また、使用経験のあるシステムは人それぞれ異なるため、前半では事前アンケートの結果をもとに、ユーザーの多かった「eST3、mGear、Advanced Skeleton」について、福本が画面共有しながら簡単に紹介しました。以下は、リグナイト内で話された各システムの特徴です。

〘 eST3 〙

<概要>

  • リグとアニメーションのフレームワーク。
  • ボーンデジタル様とAutodesk Mayaを契約されている方に無料で提供

<機能>

  • フレームワークの機能として、高機能かつ多機能なリグ機能を搭載。
  • ピッカーやピックウォーク設定など、作業環境をカスタマイズ可能。
  • モジュラー式で部位ごとの作成、組み合わせ、カスタムリグの作成など、任意の構造での設計が可能。
  • 人型と動物型ではあらかじめ各部位が設定されたコンパウンド型のユニットが用意されている。
  • あらかじめ用意されたコンパウンド型のユニットに対応したピッカーが用意されている。
  • ジョイント軸を操作する「Joint Axis Editor」で軸の向きやセカンダリ軸を柔軟に設定することが可能。
  • その他にも、ジョイントをCurveやSurface上に固定する各種コンストレイン機能を多数搭載。
  • 「スカルプトデフォーマー」や「高速ラップ」など、形状変形に関するデフォーマー機能も多数搭載。
  • オイラー角をクォータニオンに変換する「Angle Driver」で高度な回転制御が可能。
  • 挙げるとキリがないほどの機能が搭載されている。
  • 基本的に、コントローラ、ベースジョイント、バインドジョイントの3つの階層で構築。
  • コントローラはシンプルから高機能なタイプまで幾つか用意されている。
  • ユーザーがカスタムでコントローラを作成することも可能。
  • ベースジョイントは「トグルモード」にて移動配置した後、「通常モード」に戻すことで軸が自動的に正規化される。
  • バインドジョイントは、「ツイスト」や「多重関節」などを部位ごとに選択して作成可能。
  • 全部位でスケール可能、スケールの有無も選択可能
  • 尻尾やスカートなどで使用するFKIKコントローラ(FKIKの親子関係やシミュレーションの有無などの選択可能)やデフォームに追従するTweakコントローラなど、セカンダリ用のコントローラ機能も多数搭載。
  • ピッカーを作成、カスタマイズできる機能を搭載。
  • フェイシャルに関しては、目、口、顎周辺の基本ユニットのみを搭載。
  • モーションキャプチャデータの流し込み、コントローラへのベイク機能を搭載。
  • コントローラやベースジョイントなど、部位ごとの分離と再ビルドが可能。
  • 大量生産の際に更新や追加を効率的に管理する「Librarian」機能を搭載。

<意見が多かった難点>

  • 多数のプラグインノードで設計されているため、既存のコントローラや仕組みを変更、改良することが難しい。

〘 mGear 〙

<概要>

  • オープンソースのリグシステム。
  • 公式サイトから無料でダウンロード可能。
  • コードが公開されているため、独自の機能を開発・追加可能。
  • コミュニティのサポートを活用し、最新の技術やツールのアップデートを受けられる。

<機能>

  • モジュラー式で既存のコンポーネント(スケルトン、コントローラ、デフォーマなど)を組み合わせてリグの構築が可能。
  • コントローラはシンプルから高機能なタイプまで多数用意されている。
  • 人型と動物型ではあらかじめ各部位が設定されたガイドテンプレートが用意されている。
  • あらかじめ用意された人型と動物型のガイドテンプレートに対応したピッカーが用意されている。
  • 独自で開発したコントローラをモジュールに含めることも可能。
  • スクリプトを活用して、カスタムリグやツールを追加可能。
  • フェイシャル用のモジュールを搭載しているため、表情制御のセットアップも可能。
  • コントローラシェイプの反転や入出力、任意の箇所で形状を分離など、リグ作業用の便利機能を多数搭載。
  • RBFドライバー機能を搭載
  • デフォームに追従するSoftModコントローラを任意の箇所に自動作成する機能を搭載。
  • その他にも挙げるとキリがないほどの機能が搭載されている。
  • 基本的に、ガイド、コントローラ、ベースジョイントを1セットで管理してリグを構築。
  • 「Shifter Guide Manager」を使用し、あらかじめ用意されたモジュールを選択・調整してリグを構築する。
  • ガイドを調整後にビルドすることでコントローラの生成が可能。
  • 補助骨や追加などの際には、ビルド用のスクリプトを作成することで再現性の担保が可能。
  • ガイド調整時にペアレント先や識別子の設定などの各種詳細設定が可能。
  • ゲームやメタヒューマン向けのガイドテンプレートも搭載。
  • ピッカー(Synoptic)は「PyQt」または「PySide」にて自由に作成可能。
  • Synopticエディタを使えば、リグに合わせたGUIを設定可能。
  • モーションキャプチャデータの流し込み、コントローラへのベイク機能を搭載。

<意見が多かった難点>

  • 骨やコントローラの追加をする際はガイドを再調整する必要があり、再ビルドが必要になる場合がある。
  • アセットやリグの更新を考慮する場合、ビルド前提で構築する必要がるためスクリプトの知識が必要となる。
  • 部位スケールは出来る箇所と出来ない箇所があり、シアーの処理が不十分な個所がある。

〘 Advanced Skeleton 〙

<概要>

  • 基本的には無償で使用可能なリグシステム。
  • 公式サイトから無料でダウンロード可能。
  • リグを他のアーティストやチームに渡して作業を依頼する場合(商業用途)、複数人で使用する場合や、スタジオでの使用の場合は購入が必要。
  • 他社へのリグ提供時にはその会社が購入する必要はない

<機能>

  • モジュール化されたリグ構造が採用されており、ユーザーは必要なリグ部品を組み合わせてカスタマイズ可能。
  • 骨の配置や設定などは、フロントビューから見て左側で行い右側に反転するフローで作業を行う。
  • 人型と動物型ではあらかじめ各部位が設定されたガイドテンプレートが用意されている。
  • あらかじめ用意された人型と動物型のガイドテンプレートに対応したピッカーが用意されている。
  • ガイド骨を配置、調整後にビルドすることでコントローラを生成する。
  • リグはガイド骨を元に、コントローラ、ベースジョイントの階層で構築。
  • 各関節ごとに分離されたCageモデル、Proxyモデルを自動作成する機能を搭載。
  • ツイスト骨については、直列と並列の構造を切り替えられるが、詳細な操作には注意が必要。
  • 一部の補助骨はGUI操作で自動生成することが可能
  • 補助機能として、Cageモデルの自動生成機能がありシンプルなウェイトの転送が可能。
  • モデリングの変更に対してスキンウェイトを自動で再計算して適用する機能など、スキニングに関する便利機能を多数搭載。
  • フェイシャル用のモジュールを搭載しているため、表情制御のセットアップも可能。
  • 作成したリグやコントローラの設定を他のプロジェクトに簡単にエクスポートできる機能を搭載。
  • プラグインを使用していないため、Advanced Skeletonをインストールしていない環境でもデータを開くことが可能。
  • ピッカーは独自のピッカー作成ツールで作成する。
  • モーションキャプチャデータの流し込み、コントローラへのベイク機能を搭載。

<意見が多かった難点>

  • セカンダリに関するコントローラ機能が少ない。
  • ピッカーが作り辛い。
  • モーションキャプチャデータをコントローラにベイクする際、足はFKにしかベイクできない

どのリグシステムでもテンプレートやモジュールを用いることでリグを構築することが出来ますが、いずれも特別な機能などを設定する場合には、専門的な知識やスキルが必要となります。また、どれも便利な機能が多いので、リグ作業時に必要な便利機能を部分的に使用すると作業の効率化が図れます。

 

後半 『リグシステムを使う上で、困っていること

後半は、事前アンケートでユーザーの多かったeST、mGear、Advanced Skeletonを中心に、悩みや困っていることを共有しあい、各リグシステムを比較しながら解決方法・改善策について議論しました。

〘 Advanced Skeletonで、ツイスト骨を並列にする方法はありませんか? 〙

《 課題の詳細 》

  • ツイストジョイントを並列にしたいが、デフォルトでは直列になっており意図通りの構造が作れない。

《 解決方法・回答 》

  • 「Unreal Joints」タブの「Rename to Unreal」を実行すると並列になる。
    リグを組んだ後でも実行可能で、「Rename to Unreal」項目の下にある「Restore」を実行すると元の直列構造に戻せる。ただし、この操作でジョイント名がUnreal Engineの命名規則に変更されるため注意が必要。

ツイストジョイントは、直列と並列で補助骨やその他の設定方法が変わってくるので、設計する構造によって切り替えて運用できるのは有難いですね。


〘 mGearで既存以外のコンポーネントを作るのに、容易な方法はありませんか? 〙

《 課題の詳細 》

  • 現状カスタムステップを使って作成しているが、もっと容易な方法が知りたい。
  • 特定のアセットにカスタマイズしたものになり、他のアセットでは使いづらくなってしまう。
  • アニメーターからの追加機能の要望に対応できない場合があり、別途カスタムする作業負荷が発生する。
    カスタムコンポーネントを作った後のmGearのバージョンアップデート時が大変になる。
    アップデート時にその差分を自分の目で確認してマージする必要があったことがあった。

《 解決方法・回答 》

  • 社内の開発部隊に任せているのでわからない。
  • etc…

具体的な解決方法は挙がりませんでしたが、同じ悩みを抱えている方が多い印象でした。

 

〘 スケールやストレッチに関する挙動が想定通りになりません。

《 課題の詳細 》

eST3

  • スケールに対しては全て正常に機能するように設計されている。
  • 上腕にスケールを入れた状態で手首や肘を回転させてもシアーが発生しない。
  • 上腕にスケールをかけた状態でIKで腕を伸ばそうとしても腕全体が曲がらず、問題なく伸びきる。

<mGear>

  • 上腕が一軸のスケールしかサポートされていない。長さを伸ばすことはできても腕を太くすることができない。柔軟な制御をしたいとアニメーターの要望を受けたことで、別途カスタムで作る必要があった。
  • 上腕にスケールを入れた状態で手首や肘を回転させるとシアーが発生する。

Advanced Skeleton

  • 上腕にスケールを入れた状態で手首や肘を回転させると、補助骨のみシアーかかる。
  • 上腕にスケールをかけた状態でIKで腕を伸ばそうとすると、腕全体が曲がったまま伸びてしまう。


《 解決方法・回答 》

<mGear>

  • 改良するしかない。
  • カスタムでシアーしないモジュールを作ったことがある。

Advanced Skeleton

  • 改良するしかない。

この議題の際は、画面共有をしながら各リグシステムの挙動を確認しました。一軸スケール時のシアー問題については、構造自体を変更しないと解決できないこともあるので難しいところですね。。。ゲーム用のエンジンへの出力が必要なリグの場合、一軸スケールに関してはスケールではなく移動制御で対応されている方もいるようです。

 

〘 ツイストさせたときに吸収している骨で三軸入ってしまう問題がありますが、どう対応していますか?

《 課題の詳細 》

<mGear>

  • 肘(前腕骨)を曲げて上腕骨を三軸で制御すると、肘の骨に一軸(曲がる方向の軸)だけではなく三軸の値が入る問題が発生する。肘や膝周りの補助骨は曲がる一軸をドライバーにして設定することが多いため、三軸の値が入ると補助骨の挙動が安定せずデフォームが崩れる。またゲームエンジン内での処理でも厄介になる。

Advanced Skeleton

  • mGearと同様に発生する。


《 解決方法・回答 》

  • 別途用意したリグを噛ませて吸収している。

<mGear>

  • Division=1にしてビルドするとツイスト骨が作成されず、三軸の値が入らないようになる。ただしこの場合、ツイスト骨を自前で追加する必要がある。

肘と膝に三軸の値が入ってしまうのはかなり厄介なので、標準モジュールで改善していただきたいところですね。モーションキャプチャーのデータでも肘と膝に三軸の値が入っている事が多いですが、そういった場合、私はモーションビルダーで一軸のみの挙動に変換、またはその手法を先方に伝えて対応することが多いです。

 

〘 ビルド後にメッシュがバインドされた状態で肘の長さや関節の長さを変えたい場合、容易な方法はありませんか?

《 課題の詳細 》

  • 肘や関節の長さを変更する場合はビルドし直す必要があり、既存のスキニングや設定がリセットされてしまう。ビルドし直すと再設定が必要になるため、手間がかかる。

《 解決方法・回答 》

  • 自作スクリプトで骨の追加や変更を管理し、再ビルド時の手間を軽減する。

Advanced Skeleton

  • 「フィットスケルトン」を使うと修正後にリビルドが可能でウェイト情報が保持される。

「ビルドし直すしかないのではないか」というご意見が多数の中、リグシステムによっては解決方法となる機能が備わっているなどのご意見もあって大変興味深い内容でした。

 

〘 スクリプト作成に関する教育が難しいと考えていますが、どう対応していますか?

《 課題の詳細 》

  • スクリプト作成の教育が難しく、作業負担がリーダークラスに集中している。
  • 若い世代ではリグやスクリプトに対する敷居が下がりつつあるが、採用時にスクリプト経験を重視する方針が問題になることがある。

《 解決方法・回答 》

  • 外注先とは長期的な協力関係を築き、習熟度を上げる。
  • モジュールやパラメータ設定だけでリグを構築できるシステムを開発し、スクリプト負担を軽減する。

リグを組むだけであればスクリプトが書けなくても作業を進めることはできますが、反復作業などでスクリプトを活用しないと数倍の労力がかかるといったことも多いので、スクリプトは書けた方が良いですね。スクリプトのトレーニングを受けたとしても実際にツールなどを書いてみないと習得できないと思うので、最初は冗長な書き方でも良いので、とにかく自分で書いて書いて書きまくるのが良いと感じます。※個人的な意見です。

 

〘 Advanced Skeletonで、左右非対称のリグを作る方法はどう対応するのがよいですか?

《 課題の詳細 》

  • 左右非対称のリグを作りたいが、デフォルト設定では左右対称が基本となっている。

《 解決方法・回答 》

  • 「ノーミラー」ラベルを使い左右対称処理を無効化し、右側の骨を独自に作成して設定してビルドする。
  • 他のリグシステム(mGear 等)では非対称処理が簡単にできる。

どのリグシステムでも非対称のリグは構築できるようです。

 

〘 手首のTranslateとRotateのコントローラが1つに統一されているほうが便利だと感じていますが、別々であることが多いのには理由があるのでしょうか?

《 課題の詳細 》

  • アニメーターとしては、1つのコントローラで移動と回転を同時に操作できる方が効率的と感じる。コントローラを切り替える手間が作業スピードを下げ、不便に感じる。
  • アニメーターにアンケートを取った結果「一体化した方が良い」という意見が多数あった。

eST3

  • TranslateとRotateのコントローラが別々になっている。

<mGear>

  • 設定によっては一体化することができる。コントローラの切り替えなしでTranslateとRotate両方の操作が可能になる。


《 解決方法・回答 》

  • リガーとしては1つのコントローラに統一するのが困難な場合がある。
  • 1つのコントローラでTranslateとRotateを制御した場合、手首の挙動はそのコントローラの向きに固定されるので、移動制御した際、手首の向きを親の肘の向きに合わせるといったローカル挙動の再現ができないといった理由がある。
  • アニメーターの好みによってコントローラの仕様を柔軟に対応できるようにするのが良い。

アニメーターの方にご意見をいただくことで、アニメーターとリガー両者の視点の考えを聞くことができて、とても有意義な議論だったと思います。

 

フリータイム 『学生へのアドバイス

ご参加いただいた学生の方の制作物に対して、議論枠の皆様にアドバイスをいただきました。

〘 学生の方へのアドバイス

  • まず初めは、ウエイトの破綻や曲げたときの形状の違和感を修正するのが良い。
  • 基本的なウエイトを設定できたら、第2フェーズとして肘を曲げたときにやせないように補助骨を入れるのが良い。
  • ツイストさせたときは根元からグラデーションがかかるように回すようにすると良い。
  • 手首をツイストさせたときに、手首のところだけ回るが服の袖は追従させないことで自然に見えるケースがある
  • どのようなシルエットを求めるのかというアニメーター寄りの視点を持つのが重要。
  • 作成したケージに設定したウエイトを転送する、という方法を取ると時間をかけずにグラデーションをかけたようなウエイト設定ができる。
  • フリップが多発するなどのクリティカルな問題は、内部処理を正確に分析して判断する必要がある。学生にとっては時間を要するため再ビルドする(作り直す)のが良い。

どのような段階を経てどのような手法でウエイトを設定するのが良いかなど、様々なアドバイスが交わされていました。

 

◆おわりに

今回は各種リグシステムについて議論しましたが、とても興味深い内容が多く、参加された方からも好評の会でした。内製のリグシステムについても紹介したい、といったご意見も多数でておりましたので、今後、内製リグシステム座談会も企画したいと思います。(次回かな?!)
次回のリグナイトは4月頃の開催を予定しています。自社のリグシステムまたは自作のリグシステムを紹介したい!といった方はぜひご連絡くださいませ!

ではまた。

 

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


ブログTOPへ戻る