Animation

CG News

Wonder Studio が新しいMayaとBlender用プラグインをリリース

 

AI を使用したCGキャラクター合成サービス「Wonder Studio」が、新しいMayaとBlender用プラグインをリリースしました。

Wonder Studio には、ボーンやブレンドシェイプの名称が厳格に設定されているらしく、既存の 3D キャラクターでうまく動作するとは限らないようです。新しいプラグインは、Wonder Studio 専用に作成されていない 3D キャラクターをサイトにアップロードして使用する作業が簡単になるようです。

https://help.wonderdynamics.com/character-creation/downloads

Tips

modoでキーウェイト プリセットの作成方法

modoでキーウェイト(ハンドルの長さ)値を設定するプリセットボタンを作ったので、作成方法について書いてみます。

 

スロープとウェイト

はじめにスロープとウェイトの確認方法を紹介します。
modoでカーブのスロープとウェイトを表示するには、グラフエディターで右クリックして表示されるポップアップの「スロープとウェイト...」ボタンを押します。

 

カーブのハンドル制御はデフォルトでは「自動」になっています。ハンドルを編集したい場合は「手動」に切り替える必要があります。

カーブのハンドルは、スロープ(ハンドルの角度)とウェイト(ハンドルの長さ)であらわされます。左側のハンドルが「スロープイン」と「ウェイトイン」、右側のハンドルが「スロープアウト」「ウェイトアウト」と、合計4つのプロパティーで構成されています。

 

キーウェイトの設定方法

ハンドルの長さを編集するには key.weight コマンドを使用します。
key.weight コマンドには4つの引数があります。現在の値を編集するオプションが用意されているので便利です。

ハンドルの長さを編集するコマンド
  • key.weight 1.5 in false true
  • key.weight 0.5 in false true

 

ハンドルの長さを設定するコマンド

キーウェイトのプリセットは、以下のような値の異なるコマンドをボタンに設定しています。

  • key.weight 0.0 in false false
  • key.weight 0.1 in false false
  • key.weight 0.2 in false false
  • key.weight 0.3 in false false

 

キースロープの設定方法

キースロープの角度を編集するには key.slope コマンドを使用します。
key.slope コマンドには5つの引数があります。

 

ハンドルの角度を編集するコマンド
  • key.slope -60.0 in true true true
  • key.slope 60.0 in true true true

 

ハンドルの角度を水平にするコマンド

最後の引数は「ウェイトの調整」で、ハンドルの長さをキーの間隔に応じて自動的に調整する物のようです。

  • key.slope 0.0 in true false false
  • key.slope 0.0 in true false true

 

「スロープイン」「ウェイトイン」のプロパティを見るとわかりますが、スロープを編集するとウェイトの値も連動して変化します。詳しくはわかりませんがカーブのハンドルは、「長さ」と「角度」という単純な物ではないようですね。

 

コマンドが何かわからない場合は、こちらの記事を見てください。

ボタンにコマンドを割り当てる方法は、同じ記事内の「コマンドとフォーム」を見てください。

 

 

After Effectsではキーフレームのイージングカーブを簡単に設定するスクリプトがいくつか販売されています。アニメーションを作成する場合に便利なので普段使用しているのですが、modoにも似たようなプリセットがあったら便利かなと思って作ってみました。

値を単純に設定するプリセットなら、スクリプトを書かずに簡単に作れるのはmodoの便利なところですね。ぜひカスタマイズしてmodoを便利にしてみてください。

参考資料

2DFX demoreel oleg volotovski

海外の2Dアニメの撮影処理。日本のアニメとコンポジットと似てるけどさじ加減が違ってて面白い。

参考資料

アニメーションのデモリールを制作するための10の秘訣

「アニメーションのデモリールを制作するための10の秘訣」という記事が公開されています。リール作成の参考になりそうです。

https://www.cgchannel.com/2023/09/10-tips-for-crafting-an-animation-demo-reel/

 

優れたデモリールはアニメーターとして最初の仕事を獲得する鍵です。DNEGアニメーションのリン・ハンは、彼自身の学生リールの例を用いて、勝つリールを作成するための10の秘訣を紹介します。

プロアニメーターとしてのキャリアを追求する決心をしたとき、私は2年以上、技術を学び、アニメーションのスキルを向上させることに専念しました。幸いなことに、私のデモリールは貴重な財産となり、業界の大手企業でのポジションを確保するのに役立ちました。EA、DNEG、アゴラ・スタジオ、ウォルト・ディズニー・アニメーション・スタジオです。

この記事では、あなた自身がインパクトのあるデモリールを作成し、業界で仕事を得る可能性を高めるために役立つ、私のインサイダーヒントを紹介します。

あなたがすでに有能な3Dアニメーターであることを前提にしているので、最初のいくつかのヒントでは、リールの構成方法の基本や、リールでアピールできるその他の有用なスキルについて説明する。記事の後半では、私自身の学生デモリールの例を用いて、含めるべき最適なアニメーションの種類について説明します。

私のリールには、この技術に対する私の情熱が反映されており、この記事で共有される洞察とともに、このエキサイティングな分野への進出を目指す人々のリソースとなることを願っています。

 

1. 基本を正しく

あなたの名前、Eメールアドレス、電話番号、リールのタイトルを明記しましょう。採用担当者に、あなたが誰なのかを知るために最後までスクロールさせないこと。カバーページは3~5秒以内にまとめましょう。

自分の仕事を紹介するときは、クリップ中に画面上の簡単な説明を入れることを検討しましょう。これは、プロジェクト名や会社名、あなた自身の具体的な貢献度など、重要な情報を提供するアンダーサードやオーバーレイで行うことができます。これらの詳細は、あなたのアニメーションの文脈を提供し、視聴者があなたの役割や功績を理解するのに役立ちます。

視聴者の興味を維持するために、各アニメーションの長さは8~20秒の間に収め、リール全体の長さは1~2分を目安にしましょう。

 

2. カメラ用語をうまく使う

長編アニメでは通常、アニメーターはアニメーションを作ることだけに集中します。カメラレイアウトはレイアウトアーティストが作成します。しかし、それでもカメラ用語を学ぶ必要があります。

三分割法や被写界深度をよく理解することで、より視覚的に魅力的で、映画のようなシーンをリールに描くことができるようになります。また、カメラアングルや動きを正しく選択することで、アニメーションのストーリー性を高め、感情を伝え、雰囲気を作り、観客の注意を誘導することができます。

YouTubeには、カメラ用語に関する動画がたくさんあります。下の動画をチェックするか、「Camera Language in Film Industry(映画業界におけるカメラ用語)」などのキーワードで検索してみてください。

 

3. 2Dスキルの発揮

3Dアニメーターにとっても、絵を描くことは重要なスキルであり、アイデアを素早くスケッチし、さまざまなポーズや動きを試すことができます。
これによって、3Dアニメーションのより時間のかかるプロセスに進む前に、ショットを計画しアイデアを洗練させながら、より速く反復することができます。また、アニメーションのような業界では、視覚的なコミュニケーションの方が、声によるコミュニケーションよりも優れていることがあります。

デモリールの焦点は3D作品であるべきですが、2D作品を含めることはプラスになります。私自身のリールでは、最終的な3Dアニメーションと一緒に、下のようなショットのプランニングに使ったラフな2Dアニメーションのサムネイルバージョンを載せています。

 

4. 成功しているアニメーターのリールを研究する

売れっ子アニメーターの作品を分析することで、魅力的な作品を作るためにどんなテクニックを使っているのか、効果的なデモリールを作るためにどんな要素を盛り込んでいるのかを特定することができます。これは、あなた自身のスキルを向上させ、目立つリールを作成するのに役立ちます。

働きたい会社に採用されたアニメーターが作ったリールを研究します。例えば、Maarten Lemmensのリールは、彼がDreamWorks Animationに就職するのに役立ちました。トニー・キムギ・ドゥオンのリールは、ピクサーへの入社に役立った!ドンホ・キムは、ソニー・ピクチャーズ・イメージワークス、ピクサー、ルーカスフィルムでインターンをした。

 

デモリールにはどのようなアニメーションを入れるべきですか?

スタジオはキャラクターの動きや表情を通して、感情や個性を効果的に伝えられるアニメーターを高く評価するため、デモリールでこのスキルを示すことは非常に重要です。次の6つのヒントでは、そのために使うべきコンテンツの種類を探ります。なお、これらの要素をすべて盛り込むことは有益ですが、必須ではありません。最も重要なのは、リールの中であなたの絶対的なベスト作品をフィーチャーすることです。

また、3Dアニメーター、特に大手スタジオの仕事に応募する場合、自分でキャラクターリグを作れることを示す必要はないことを覚えておいてください。他のアーティストがオンラインで公開しているストックキャラクターを使っても構いません。

私は、Kiel FigginsRamon ArangoWonderwell Studios、Jean-Denis Haas(Animation Buffet)が作成したリグをお勧めします。

 

5. ウォーク・サイクル

ウォーク・サイクルは、キャラクター・アニメーションの要と見なされることが多いので、少なくともキャリアの初期には、あなたのリールに素晴らしいウォーク・サイクルを入れることが重要です。説得力のある歩行は、脚、腕、胴体、頭など、さまざまな体の部位の複雑な動きを伴うため、ボディメカニクスを深く理解する必要があります。

歩き方をアニメーション化するのは簡単な作業のように見えるかもしれませんが、多くの人が思っている以上に複雑で、特に若いアニメーターにとっては難しい作業です。キャラクターにはそれぞれ個性があり、それを表現するために特定の歩行サイクルが必要なのです。おとぼけであろうと、無愛想であろうと、野蛮であろうと、その歩行サイクルはその個性を鮮明に反映したものでなければいけません。

例えば、ディズニーにいた頃『ラーヤと龍の王国』のトンをアニメートする機会がありました。やりがいのある経験でしたが、トンの個性を彼の歩行サイクルに組み込むことができました。下のビデオでは、トンが幸せで満足しているのが伝わってきます。多分、彼はちょうど家事を終えて、妻と家族が待っている家に帰る途中なのでしょう。

 

6. 何を盛り込むか:非言語的パントマイムと身体性

パントマイムは、登場人物が言葉を使わずに自己表現するアニメーションの一形態です。ボディランゲージ、表情、身振り手振りのみでストーリーを伝えます。

ノンバーバル・アニメーションをリールに盛り込むことで、キャラクターの感情や意図を効果的に表現する能力が浮き彫りになります。また、キャラクターの重さやバランス、環境との相互作用を強調し、キャラクターの身体性を伝える能力もアピールできます。

私のデモリールのクリップは、TikTokで見たダンス動画をもとにアニメーションを作ることを思いつきました。しかし、インスピレーションと盗作を区別することは重要です。ユーモアをTikTokのオリジナル・クリップ以上に押し出すために、私はマイケル・ジャクソンのダンス・クリップを研究し、自分のアニメーションに取り入れられるポーズをもっと探しました。

 

7. 何を含めるか:演技と台詞

演技を通してさまざまな感情を伝えられることは、アニメーターにとって本当に重要なスキルです。感情レベルでキャラクターに親近感を持たせることができます。台詞には、キャラクターの口と話し言葉を一致させるリップシンクも含まれます。

このアニメーションでは、キャラクターを大きく動かしてポーズを変えるのではなく、彼らの呼吸をアニメーション化し、観客が彼らとつながるための静かな瞬間を作ることに集中しました。これは挑戦的なアプローチであり、私の細部へのこだわりと、キャラクターが常に動いていなくてもコミュニケーションできる方法についての理解をアピールするのに役立ちました。

 

8. 何を含めるか:複数のキャラクターの相互作用

複数のキャラクター間のインタラクションをアニメーション化することは、1人のキャラクターをアニメーション化するよりも困難です。このようなアニメーションをデモリールに盛り込むことで、複雑なシナリオを処理する能力を証明することができます。

さらに、アニメーターはエンターテイナーである必要があります。感情やアイデアをユーモアを交えて伝えることができれば、観客を飽きさせないことができますし、インタラクションはそのスキルを証明する良い方法です。

このアニメーションでは、キャラクターはあることをしているが、実は別のことを考えています。歯科医は自分の仕事に集中しているはずですが、明らかに自分の中の妄想(デート)に気を取られているます。

 

9. 何を含めるか:人間以外のパントマイム

映画では、アニメーターが人間以外のキャラクターのアニメーションに挑戦することがよくあります。

下のクリップにあるクモのリグに出会ったとき、私は新しいアニメーションのスタイルを探求し、自分の能力をコンフォートゾーンを超えて伸ばすチャンスだと思いました。ボディランゲージと表情豊かな目に大きく依存するこのリグを使ったアニメーションは、緊張を強いられましたが、同時に信じられないほど爽快でもありました。この経験を通して、型にはまらない方法で観客を楽しませる自分の能力を証明することができました。

 

10. 何を含めるか:人間以外の台詞

映画、特にアニメーション映画には、動きが大きく予想外のおふざけキャラが登場することが多いです。アニメーターとして、そのようなキャラクターを扱うのはとてもエキサイティングです。

下のクリップのトカゲは、ポーズがコロコロ変わるので、これまで手がけたアニメーションの中で最も難易度が高いです。インスピレーションを得るために、私は『アイス・エイジ4』のバックを参考にし、理想的なポーズのサムネイルをスケッチした。最終的なアニメーションは最初のイメージから変わりましたが、ストーリーとキャラクターは2Dの探求に忠実です。

さまざまなポーズを模索し、より良いアイデアが浮かんだらそれを放棄するということを繰り返しました。そうすることで、時間はかかったが、より良いアニメーションを作ることができました。そして私は、粘り強さ、そして最も重要なことですが、自分のアイデアに固執しすぎないことの大切さを学びました。

 


 

著者 リン・ハンはDNEG、ディズニー、EA、アゴラ・スタジオで活躍したアニメーター。『Wish』、NetflixのTVシリーズ『How to Train Your Dragon』、金鶏賞を受賞した長編アニメ『The Wind Guardians』などを手がける。ルーキーアワード3Dアニメーション部門優秀賞連続受賞。ウェブサイトLinkedInVimeoInstagram

CG News

Mush 3D 2.0 リリース

他のソフトウェアで作成されたアニメーションキャッシュにシェイプの修正やセカンダリ変形を追加するためのGPUベースのツール「Mush 3D 2.0」がリリースされました。
新しいマッスル・ジグル・ディフォルメタイプ、修正スカルプト形状の自動ブレンド、ゲームエンジンで使用するためのFBXフォーマットへの出力ベイクオプションが追加されました。

https://mush3d.com/

 

https://www.cgchannel.com/2023/06/luiz-elias-releases-mush-3d-2-0/

このツールは2018年にリリースされ、最初はShot Sculptという名称でした。他のDCCソフトウェアで生成されたジオメトリキャッシュ(通常はAlembic)を編集するために使用できます。

ZBrushのような小さなブラシセット(標準、移動、膨張、粘土、折り目、平坦化、さらに効果を反転させる消去ブラシ)を使って、フレーム単位でキャッシュの上に彫刻できます。

修正シェイプの強度は、タイムライン上でキーフレームを設定することができ、Mush 3Dは自動的に滑らかな遷移曲線を生成します。

修正シェイプを手動でスカルプトするだけでなく、メッシュの一部をマスクアウトして、Delta Mush、ジグル、布変形エフェクトを適用することも可能です。

このワークフローでは、メインのDCCアプリケーションで完全なシミュレーションを実行しなくても、有機的なキャラクターに対して、それっぽく見える筋肉や皮膚の変形を素早く生成することができます。

 

Mush 3D 2.0: VFXやアニメーションだけでなく、ゲームワークフローにも対応するFBXエクスポート

バージョン1.0のレイヤーベースのワークフローから、ノードグラフを搭載し、ノードの配線で出力を制御できるようになりました。手動修正では、新しいブラシタイプや、細分化されたメッシュの細分化を再構築するリバース細分化レベルのサポートがあります。また、新しい変形タイプとして、上のビデオで紹介されているMuscle Jiggleがあります。

エクスポートでは、新しいFBXパイプラインが出力をアニメーションのブレンドシェイプにベイクし、UnityやUnreal Engineなどのゲームエンジンでリアルタイムに再生することができます。

4Dキャッシュと新しいFBXパイプラインを使用する場合、キーフレームを設定することなく、スカルプトされたシェイプをアニメーション全体にブレンドする新しいオートブレンディングが可能です。

 

新機能リスト

  • ノードグラフ
  • リバースサブディビジョン レベル
  • 新ブラシ
  • マッスル・ジグル
  • FBXパイプライン
  • スカルプトとFBXパイプラインのための4Dキャッシュの自動ブレンディング

 

価格

WindowsとLinuxで利用可能。ノードロック式永久ライセンスは£450。

参考資料

株式会社モーションアクターによるイラストやゲームで利用可能な動画

株式会社モーションアクターがイラストやゲーム、アニメなどへの利用が可能な動画を多数公開しています。これは参考になりそうです。

https://www.youtube.com/@MotionActorInc/videos

 

チャンネル内の動画はトレスフリー・アレンジフリーです。
イラストやゲーム、アニメなどへの利用はご自由にどうぞ〜
(ご利用いただいた旨を紹介いただけたら嬉しいです!)

 

参考資料

Epic が Metahuman Animator 発表

Epic が Metahuman Animator 発表しました。 iPhone やヘルメットに取り付けられたカメラを使用して、MetaHuman キャラクターのフェイシャルパフォーマンスを再現できる機能のようです。

https://www.unrealengine.com/ja/blog/new-metahuman-animator-feature-set-to-bring-easy-high-fidelity-performance-capture-to-metahumans

 

新しい MetaHuman 機能セットが間もなく登場することをお知らせできることを大変嬉しく思います。

MetaHuman Animator を使用すると、iPhone またはステレオ ヘルメット搭載カメラ (HMC) を使用して、顔のパフォーマンスを MetaHuman キャラクターの忠実度の高いアニメーションとして再現できます。これにより、アクタのパフォーマンスの個性、リアリズム、忠実度をキャプチャし、あらゆるディテールとニュアンスを MetaHuman に転送して、Unreal Engine で生き生きとさせることができます。

 

フォトリアルなデジタルヒューマンは、真に信頼できるパフォーマンスを提供するために高品質のアニメーションを必要としますが、これを作成するための専門知識と時間は、最も熟練したクリエイターにとってさえ困難です。
既存のパフォーマンスキャプチャソリューションでは、キャラクターに対する俳優のパフォーマンスのあらゆるニュアンスを忠実に再現することは非常に困難です。真にリアルなアニメーションを実現するには、熟練したアニメーターが、通常は骨の折れる時間のかかるプロセスで結果を丹念に微調整する必要があることがよくあります。

しかし、それは変わろうとしています!

今後数か月以内にリリースされる予定の MetaHuman Animator は、AAA ゲーム開発者やハリウッド映画製作者が必要とする高品質のフェイシャルアニメーションを制作すると同時に、インディーズスタジオや愛好家にもアクセスできるようにします。すでにポケットに入れている iPhone と標準の三脚を使用すると、MetaHuman 用に信頼できるアニメーションを作成して、自分がアニメーターではなくても、視聴者との感情的なつながりを構築できます。

 

また、MetaHuman Animator は、Technoprops 社製品など、より高品質の結果を実現できるプロフェッショナル レベルの垂直型ステレオ HMC キャプチャ ソリューションとも連動します。
さらに、ボディ キャプチャにモーキャップ システムをお使いの場合は、MetaHuman Animator のタイムコード サポートにより、フェイシャル パフォーマンス アニメーションとボディ モーション キャプチャおよびオーディオとを容易に揃えることが可能になり、フル キャラクター パフォーマンスを実現できます。このオーディオを使ってリアルな舌のアニメーションを作成することもできます。

では、この機能はどのような仕組みなのでしょうか?

重要なのは、システムがアクターの顔独特の生体構造を解析し、それをターゲット キャラクターにどのように関連付けるかを理解できるようにすることです。MetaHuman Animator では、最初にパフォーマーの MetaHuman Identity、つまり同様のトポロジを持ち、すべての MetaHuman と同じ標準リグを共有するメッシュを作成します。

Mesh to MetaHuman を使ったことのある方なら、そのプロセス中に 3D スキャンまたはスカルプトから MetaHuman Identity が作成されることをご存じでしょう。そのテクノロジーを基盤とする MetaHuman Animator では、キャプチャした少量のフッテージから MetaHuman Identity を構築します。このプロセスはほんの数分で完了し、それぞれのアクタに対して一度実行するだけで済みます。

 

このステップが完了すると、次は MetaHuman Identity を使って MetaHuman フェイシャル リグの各位置をトラックして解決することで、そのパフォーマンスが解析されます。
結果として、アクタと MetaHuman の特徴の違いにかかわらず、あらゆる細かな表現がターゲット MetaHuman キャラクター上で正確に再現されます。Unreal Engine ではこのパフォーマンス処理が可視化されて、フレームごとに、アニメート化された MetaHuman Identity をアクタのフッテージと比較することができます。

もう一つのメリットとして、クリーンなアニメーション データを得られることがあります。人間のアニメーターが行うのと同じように、コントロール カーブがフェイシャル リグ コントロール上の所定の位置に確実に配置されて、意味論的に正確になり、アート面のニーズに応じて調整することが容易になります。

MetaHuman Identity を最初から使用することで、将来的に MetaHuman に変更を加える場合や、他の MetaHuman で使用する場合も、今作成しているアニメーションが引き続き機能することが保証されます。

MetaHuman Animator の処理機能は、エンジンと同様に無料でダウンロード可能な Unreal Engine 向け MetaHuman プラグイン の一部となります。iPhone をお使いになる場合、MetaHuman Animator は iPhone 11 以降に対応しており、加えて無料の iOS 向けの Live Link Faceアプリ が必要になります。このアプリは、このワークフローをサポートするための追加のキャプチャ モードで更新されます。

CG News

Cascadeur 正式リリース

AI を利用した物理ベースのキャラクター アニメーション ソフトウェア「Cascadeur」が正式リリースされました。Cascadeurは2019 年にアーリーアクセスとして発売開始されましたが、Cascadeur 2022.3を正式バージョンとしたようです。

https://cascadeur.com/

 

なぜCascadeurなのか?

Cascadeurは、ヒューマノイドやその他のキャラクターの3Dキーフレームアニメーションのためのスタンドアローンソフトウェアです。ゼロからアニメーションを作ったり、アニメーションを編集したりすることが、これほど簡単で楽しいことはかつてありませんでした。AI支援ツールにより、キーポーズを素早く作成し、瞬時に物理的な結果を確認し、二次的なモーションを調整することができます。しかも、どの時点でも完全なコントロールを維持したままです。

 

簡単なリギング

クイックリギングツールにキャラクタのジョイントをドラッグ&ドロップすると、リグが自動的に生成されます。Daz3d、Character Creator、Mixamo、Unreal Engine、Metahuman、Player.meの標準スケルトンをワンクリックでリグ化できます。自動生成されたリグをカスタマイズしたり、ヒューマノイド以外のキャラクタ用に独自のリグを作成することも可能です。

 

AIで簡単ポーズ

ニューラルネットワークを搭載した独自のインテリジェント・リグにより、より簡単かつ迅速にポーズを作成することができます。主要なコントロールポイントを動かすだけで、AIが自動的に体の残りの部分を配置します。どのポイントも自由に動かせるので、仕上がりを完全にコントロールすることができます。

 

簡単な物理演算

AutoPhysics Toolを使えば、アニメーションをできるだけ変更せずに、リアルで自然なモーションを実現できます。提案されたアニメーションは、あなたのキャラクターの緑色のインスタンス上に表示されます。結果に満足したら、それを簡単にキャラクタにスナップすることができます。

 

セカンダリモーションで生命を吹き込む

専用ツールで簡単に二次モーションを追加できます。ボディパーツごとに、好きな間隔でエフェクトをカスタマイズできます。シェイク、バウンス、オーバーラップで、あなたのアニメーションを生き生きとしたものにしましょう。

 

豊富なアニメーションツール

カスケードには、軌跡、ゴースト、コピーツール、トゥイーンマシン、IK/FK補間、グラフエディタ、ビデオリファレンスインポート、カメラなど、様々なアニメーションツールが搭載されています。私たちは、すべてのツールを使いやすくするために、常に新しいものをソフトウェアに追加しています。

 

Cascadeurで学ぶ

カスケードゥールで3Dアニメーションのテクニックを学ぶためのオンラインチュートリアルシリーズをご用意しました。

 

価格

2022 年 12 月 31 日まで 25% OFFです。

Tips

modoでMDDファイルを逆再生する方法

modoでMDDファイルを逆再生する方法について書いてみます。

modoには複数のアニメーションキャッシュ機能があります。
パーティクルキャッシュの場合はCSV Point CacheやRealflow Particle、ジオメトリキャッシュの場合はMDD InfluenceやAlembic ストリーミングデフォーマを使用します。

キャッシュアニメーションを逆再生したい場合、大抵は「オフセット」をいじれば逆再生できるのですが、MDD Influenceには「オフセット」がありません。
MDD Influenceを逆再生する場合は、「開始フレーム」にキーを設定して終了したいフレーム数から0になるように設定します。

サンプルファイル

スケマティックではチャンネルの制御がわかりやすいように、加算ノードを使用してアニメーションさせています。

 

ちなみに日本語のプロパティはチャンネル名の多くがズレてる気がするので注意が必要です。「終了フレーム」が「開始フレーム」です。スケマティックでは正しいチャンネル名が表示されるようでした。

 

参考

CG News

Sculptron 2022.1 XB1

Sculptron 2022.1 がリリースされました。XB1 リリースでは他のソフトウェアからエクスポートされたグルーミング ヘアのサポート、より多くのスカルプティング ブラシ、アニメーション キャッシュにセカンダリ モーションを追加するために使用できる新しいモディファイア、トゥーン マテリアルが追加されたようです。

https://render.otoy.com/forum/viewtopic.php?f=33&t=79914

 

Sculptronとは?

Sculptronは、GPUベースのスカルプト・アニメーションアプリケーションです。
Sculptronの主な目標は、3Dアニメーションを扱うために考案された強力なスカルプトツールをアーティストに提供することです。ZBrushや、静的なモデルの編集に使用できる同様の特殊なスカルプトアプリケーションの代替品ではありません。Sculptronは、新しいデフォーマとアニメーション機能のセットとともに、アニメーションワークフローにスカルプトを導入しています。

スカルプトロン 2022.1 XB1

Sculptronは、強力で非常に専門的なキャッシュ編集および3Dアニメーションシステムにすることを目的として、重要な機能の幅広い実装の可能性を高めるために、深く再設計されました。
まだXB状態ですが、このビルドはかなり安定していることがわかります。もし、クラッシュやバグを見つけたら、報告してください。

 

What's new

コンテンツ管理

コンテンツ管理を導入し、Sculptronでのデータ編成を容易にしました。
Sculptronで作業する場合、現在のプロジェクトのコンテンツパスを定義することが重要になりました。

「ディレクトリの作成」をクリックすると、データ(オブジェクト、キャッシュ、画像など)が保存される適切なフォルダ構造が作成されます。
コンテンツパスを変更した後は(一般的には、環境設定のどのオプションも)、ファイルメニューの環境設定の保存オプションを使用して、必ず設定を保存してください。

警告:"リンク "オプションは現在、クラッシュの原因となっています。このビルドでは使用しないでください。

ファイル形式
  • OBJ
  • LWO (新規)
  • Alembic (強化)
  • MDD

Alembicのインポート/エクスポートは、以前よりもはるかに堅牢になりました。
選択されたものだけをエクスポートすることが可能になりました(何も選択されていない場合は、すべてのアイテムがエクスポートされます)。

Alembicオブジェクトシーケンス(トポロジー変更)がサポートされました。
ソース 3D パッケージで可能な場合、静的またはアニメーション化されたジョイントとヌルを Sculptron static/animated Nulls としてインポートできるようになりました。
また、アニメーション化されたCameraもインポートできます。

非常に重要なのは、カーブを読み込むことができるようになったことです。これにより、ヘアキャッシュを使ったアニメーションスカルプトが可能になりました。

また、メッシュに保存された頂点マップ(モーフとウェイトマップ)をスカルプトレイヤーで使用可能なモーフとFalloffマスクとして使用できるよう、LWOインポートを導入しました。
バーテックスマップをペイントしてSculptronに保存する機能は、近いうちに(おそらくRC状態のときに)追加される予定です。

OBJインポートも改善され、より堅牢になったはずです。

 

ブラシ

  • ブルージュ
  • クレイ
  • クレイチューブ
  • クリップ(新規)
  • デルタマッシュ
  • Flatten (強化)
  • ヘアークランプ (新規)
  • ヘアーコーム (新規)
  • ヘアムーブ (新規)
  • マスク (新規)
  • 移動
  • ムーブエラスティック (新規)
  • ピンチ
  • 平面トリム
  • 復元
  • 回転 (新規)
  • 拡大縮小 (新規)
  • スムース
  • スムージング
  • 標準
  • 渦巻き

利用可能なブラシが改良され、特にアニメーション・カーブスカルプトに特化した新しい重要なブラシも追加されました。
カーブはAlembicまたはLWOフォーマットでインポートできます(ZBrushはLWOでFibermeshをエクスポートできます)。
ヘアスカルプティングに特化した3つのブラシを作成しました(他のブラシもカーブに適している場合は、何らかの形で機能することがあります。) ヘアークランプ、ヘアコーム、ヘアムーブです。
ブラシオプションに新しいカーブタブがあり、カーブでブラシを使用する際のジオメトリの挙動を定義することが可能です。

マスクブラシにより、メッシュの領域をマスキングできるようになりました。

 

マテリアル

PBR および MatCap マテリアルにいくつかの改良が加えられました。
また、セル画制作で Sculptron を使用するアーティスト向けに、新しいトゥーン マテリアルとエッジを追加しました。

 

ライト

エリアとスポットの2種類のライトタイプを追加しました。

 

デフォーマー

カメララティスデフォーマは、現在のカメラの前にグリッドを追加します。このグリッドを変形させると、カメラ格子効果が適用されているメッシュが変形します。

Jiggle は適用されたメッシュに揺れ動くエフェクトを追加します。特にウェイトマップが使用されている場合、二次的な動きを加える必要がある場合に非常に便利です。

モーションブラーは、そのアニメーションに従ってメッシュを変形させ、よく知られているカメラモーションブラーがメッシュの形状に直接作用するのをシミュレートします。
この例では、ヘリコプターのローターブレードがアニメーションしています。これは、Motion Blur デフォーマを追加する前の状態です。

モーションブラーデフォーマー適用後。

Push は法線に沿って頂点を変位させます。

この例では、テクスチャフォールオフ(ノイズジェネレータを使用)がプッシュデフォーマに追加されています。また、Texture Falloff の "In Falloff" に Radial Falloff が追加されています。

 

Falloffs (新)

デフォーマの「フィルタ」として使用できるフォールオフをいくつか追加しました。

カーブの長さ保持は、アニメートされたカーブの長さを一定に保つのに役立ちます。カーブをスカルプトする際には、他のデフォーマの後に適用する必要があります。

 

ユーティリティコマンド

Fit to Bounding Boxは、デフォーマの参照のバウンディングボックスのサイズを、デフォーマが割り当てられているメッシュのバウンディングボックスに適応させます。

Convert Deformers to Sculpt Layerは、スタック内のデフォーマをスカルプトレイヤーに変換するために使用されます(この場合、最初のデフォーマから現在選択されているデフォーマまでが対象となります)。
変換されたデフォーマは無効になり、新しいスカルプトレイヤーが作成されます。

Convert Deformer to Sculpt Layerも同様ですが、現在選択されているデフォーマのみに対して行われます。

 

 

オーディオ対応

プリミティブメニューから、オーディオファイル(MP3またはWavフォーマット)を読み込むことができるようになり、オーディオとアニメーションの同期を伴うプロジェクトでリファレンスとして使用することができます。

 

ディスクへのレンダリングとOctaneでのレンダリング

Render to Disk オプションを使用すると、現在のシーンのアニメーションプレビューを生成することができます。
ビデオは、カメラのプロパティで定義された解像度を使用して生成されます。

Octaneのライセンスを持っている場合、Sculptronの現在のシーンがOctaneでレンダリングされるのを見ることができます。
この実装はまだ非常に原始的なもので、今後のビルドで改善される予定です。

このサイクルでは、次のような実装も行います。

  • バーテックスマップペイント
  • 布ブラシと布モディファイア
  • 可変トポロジーメッシュスカルプティング

ご期待ください。

参考資料

バンダイナムコ研究所が3000を超える3Dモーションデータを無料公開

バンダイナムコ研究所が、3000を超える3Dモーションデータ(BVH)を公開しました。日常の動作、格闘、ダンスや、アクティブ、疲れ、幸せなどは様々なスタイルが提供されています。ライセンスはCC BY-NC-ND 4.0で、研究および個人使用のために無料で利用できます。

ライブラリにはBlenderでデータを視覚化するための無料のスクリプトが付属しているそうです。

https://www.bandainamco-mirai.com/news_20220428/
https://github.com/BandaiNamcoResearchInc/Bandai-Namco-Research-Motiondataset/blob/master/README_Japanese.md

 

株式会社バンダイナムコ研究所(以下、バンダイナムコ研究所)は、AI技術(機械学習と深層ニューラルネットワーク分類技術など)の研究開発に使用できる3Dモーションデータセットを、4月28日よりGitHubにて無料公開いたします。

バンダイナムコ研究所では、メタバース及びxR技術など三次元モーションを使用する研究開発を手がけています。現在、ゲームや映像に登場するCGキャラクターは、事前にアクターの方々に演技していただき、その動きをデータ化し再現させるモーションキャプチャ技術や、専門のクリエイターが手作業により制作することがほとんどです。

しかし、今後メタバースをはじめとしたコンテンツの規模が拡大すると、個性的なキャラクターや多彩なモーションが必要不可欠になり、従来の制作過程では限界を迎えることが予想されます。

一方、このようなAIを用いたモーション研究開発は、性別や動作、演技といった様々なパターンのモーションの「データセット」が必要で、しかも入手しにくいことから、世界的に見ても研究開発が進んでいないのが現状です。

バンダイナムコ研究所では、昨年から、AI技術を活用して多彩なキャラクターモーションを生成するという研究に着手してきました。また、AI研究に今後多くの技術者が携わることでイノベーションにつながると確信しており、現在、自社で機械学習と深層ニューラルネットワーク分類技術に使用しているデータの一部をAI研究に使用できるセットとして無料で公開することにいたしました。

これにより、AI研究全体の技術の底上げやゆくゆくはエンターテインメント業界の発展につながることを期待しています。

 

【データセット内容】

名称:Bandai Namco Research Motion Dataset
公開場所:https://github.com/BandaiNamcoResearchInc/Bandai-Namco-Research-Motiondataset
セット内容:

  • データセット1 …歩行や走行、格闘やダンスなどの17種類の動作に対して、男性、女性や感情など15種のスタイルの演技モーションを収録した総計36,673フレームのモーションデータセット
  • データセット2 …歩行や、走行、手を振るなど10種の運動に対して、男性、女性、子供、老人などの属性の7種のスタイルのモーションを収録した総計384,931フレームのモーションデータセット

※非商用目的で研究やAIの検証などで利用できるライセンスになっています。

参考資料

AI-Driven, Physics-Based Character Animation

NVIDIAが開発してるAI主導の物理ベースキャラクターアニメーションだそうです。自然言語を使用してキャラクターに指示できるのは面白いですね。

敵対的強化学習により、リアルで応答性の高い行動を自動的に合成する物理シミュレーションキャラクターを開発することができます。

キャラクタは、まず人間の動作データを模倣して複雑な運動技能を学習させます。キャラクタが豊富なスキルのレパートリーを獲得すると、それらのスキルを再利用して、自然でリアルな方法で新しいタスクを実行することができるようになります。

このモデルにより、面倒な手動アニメーションや実際の俳優からの新しいモーションデータを必要とせず、新しいシナリオのためのモーションを生成することができます。

Tips

modoのキャラクターアニメーションのパフォーマンス

modoのキャラクターアニメーションのパフォーマンスについて書いてみます。

 

はじめに

modoはキャラクターアニメーションのパフォーマンスが遅いという問題があります。この問題を改善するためmodoは段階的にパフォーマンス改善しています。

modo 15.1になってMaya、3dsMax、LightWaveなど、他の3Dソフトで見かけるアニメーションパフォーマンスを改善する機能が一通り搭載されたように思います。

ハイポリのサブディビジョンメッシュを滑らかにアニメーションできるような改善には至っていませんが、現時点でアニメーションを作成する場合に、どのような所に注意した方がよいのかまとめてみたいと思います。

 

アニメーション再生が遅い原因は?

modoのアニメーション再生が遅い原因でよく言われるのが「デフォーマの計算が遅い」です。
リグ単体では早いのに、スケルトンにバインドした場合や、デフォーマを追加した場合にパフォーマンスが遅くなるので「デフォーマの計算が遅い」と言われていました。

しかし、開発者の方の発言によるとmodoのデフォーマはマルチスレッドで計算しており、実際の原因はグラフィックボードに送信するためのデータ生成(メッシュの細分割、三角形のインデックスの生成、法線計算、位置の計算)がボトルネックになってるとのことです。
この計算はデフォーマを使用していると毎フレーム発生するので、デフォーマ計算が遅いと思われていました。

modo 13.1ではボトルネックを解消するためサーフェス計算が新しく書き直されましたが、サブディビジョンサーフェースやカーブなど、一部のポリゴンタイプはまだ作業中です。(この書き換えによってデフォーマキャッシュが使用できなくなったのが残念です)

 

GPUを強化すれば早くなる?

グラフィックボードに送信するためのデータ生成がボトルネックということは、強力なグラフィックボード(GPU)にすればアニメーションのパフォーマンスがよくなるのでしょうか?

残念ながら劇的に速くなくことはありません。昔からmodoのビューポートパフォーマンスは、GPUよりCPUの速度の方が重要だと言われています。Windows10のタスクマネージャーを使用するとGPUの使用率を見ることができますが、modoはGPU使用率が低いことがわかります。

 

もちろんGPUレンダラーのmPathや、NVIDIA OptiXデノイザなどGPUを使用する機能を使う場合はGPUの性能が重要になりますが、modoのアニメーション再生やビューポートパフォーマンスには大きな影響はありません。

ゲームエンジン的なアプローチのアドバンストビューポートを使用するとGPU使用率が上がりますが、デフォルト表示に比べてアドバンストは描画速度が遅いのでアニメーション作成に使用するのはお勧めしません。

 

恐らくボトルネックになるサーフェス計算がCPUでおこなわれているため、modoではGPUよりもCPUのクロック数が高い方がパフォーマンスへの影響が大きいのかなと思います。以上のことから、modoでアニメーションを速くするには以下の2つが重要になります。

  • クロック数の高いCPUを使用する。またはCPU使用率(計算量)を下げる
  • GPUに転送するデータ生成量を減らす

modoに限らず3DCG全般で同じ事が言えますね。

 

キャラクターアニメーションのパフォーマンスをよくする方法

前置きが長くなりましたが、modoでキャラクターアニメーションの再生パフォーマンスを速くした場合は以下の点に注意するといいです。

  • サブディビジョンはOFFの状態でアニメーションを作成すると軽い
  • サブディビジョンを使用する場合はSub-D、またはOpenSubdivを使用する
  • 速いリグを使用する
  • 複数のキャラクターが登場するシーンは、シーンを分けて作る
  • メッシュに依存したリグは避ける
  • 「メッシュスムージング」「シェーダーツリーを使用」をOFFにする
  • ディスプレースメントやバンプを使用する場合は、レイヤーの「GL 表示」をOFFにする
  • プロキシメッシュや代理メッシュを使用する

 

以降ではキャラクターアニメーションのパフォーマンステストについて書いてみます。

 

アニメーションのパフォーマンステスト

キャラクターアニメーションを速くする方法をまとめるにあたり、「ポリゴン数」「リグの速度」「ビューポートの表示」の設定を切り替えて、アニメーション再生のパフォーマンスをテストしました。

自分のPC環境でファイルをダウンロードして検証できるように、modoで代表的なリグであるCharacterBoxとACSのサンプルシーンを使用しました。

テスト環境

modo 15.1v1

 

フレームレート

アニメーション再生のパフォーマンスはGLメーターで表示されるフレームレートを参考にします。

 

リアルタイムで再生 OFF

「リアルタイムで再生」はOFFにします。

「リアルタイムで再生」はシーンのフレームレートを維持するように再生するオプションで、ONの場合はアニメーションの再生速度が低下した場合にフレームをスキップすることで、シーンのフレームレートを維持しようとします。

OFFにするとシーンのフレームレートに関係なく、再生可能な最高のパフォーマンスでアニメーション再生します。アニメーションの再生速度が低下した場合でも毎フレーム描画するので、パフォーマンスを調べる場合は「リアルタイムで再生」をOFFにする必要があります。

 

一口にキャラクターアニメーションと言っても「ポリゴン数」「リグの速度」「ビューポートの表示」など様々な要素で構成されています。
個々の要素ごとに分解して何がどのくらいアニメーションに影響を与えているかテストしたので、キャラクターアニメーションの参考にしてください。

 

デフォルト状態のパフォーマンス

まずはmodoデフォルト状態のパフォーマンスです。

モデルのポリゴン数を近くするため「Human.lxo」はサブディビジョンレベルを3から2に変更、「Bolo_Walk.lxo」は1から2に変更しました。
ポリゴン数は「Human.lxo」が59,296トライアングル、「Bolo_Walk.lxo」が33,600トラインアングルです。

 

画面キャプチャーしてるので、少しフレームレートが遅くなってます。また、記載してるフレームレートはおよその値です。

85FPS。

34FPS。

 

 

ポリゴン数

ポリゴン数の違いによるパフォーマンスをテストしました。

ポリゴン数が多ければ当然遅くなるのは予想できますが、サブディビジョンサーフェースを使用した場合と使用しない場合、サブディビジョンの種類でどのような変化があるかテストしました。

アニメーション用途ではSub-D、OpenSubdivが適していそうです。

Sub-D、PSub、OpenSubdiv

ゲームのようなリアルタイム向けモデル以外は、サブディビジョンサーフェースを使用する場合が多いのではないでしょうか。
modoには3種類のサブディビジョンが搭載されていますが、各サブディビジョンでのアニメーション速度をテストしました。

  • Sub-D : modoオリジナルのサブディビジョン Tab
  • Catmull-Clark(通称PSub) :ピクサーからライセンスしているサブディビジョン Sift + Tab
  • OpenSubdiv : Catmull-Clarkのオープンソース版。GPU計算に対応ししている

サブディビジョンサーフェースはポリゴンを細分割して、曲線的なモデルを作成する機能です。Sub-DとCatmull-Clarkでは分割アルゴリズムが異なるので、サブディビジョンレベルによってポリゴンの増加量が違います。

 

Sub-D

サブディビジョンレベル 0 (ケージ ON)

79FPS。レベル 0よりレベル1の方がフレームレート出るので、レベル 0は最適化されていない等の問題がありそうです。

 

33FPS。レベル 0からレベル5までフレームレートに大きく変化がないので、このような単純なモデルの場合サブディビジョンよりACSのリグ計算がフレームレートのボトルネックになっていると思われます。

 

サブディビジョンレベル 1

98FPS。

33FPS。

サブディビジョンレベル 2

88FPS。

32FPS。

 

サブディビジョンレベル 3

74FPS。

31FPS。

 

サブディビジョンレベル 4

59FPS。

29FPS。

 

サブディビジョンレベル 5

49FPS。

28FPS。

 

Catmull-Clark

サブディビジョンレベル 0 (ケージ ON)

69FPS。

33FPS。

 

サブディビジョンレベル 1

74FPS。

32FPS。

 

サブディビジョンレベル 2

39FPS。

25FPS。

 

サブディビジョンレベル 3

18FPS。

18FPS。

 

サブディビジョンレベル 4

7.4FPS。

9.7FPS。

 

サブディビジョンレベル 5

2.3FPS。

3.7FPS。

 

OpenSubdiv 3.0

演算には「マルチスレッド」を使用しています。「CPU」より「マルチスレッド」の方がわずかにパフォーマンスがよかったのですが、1CPUしか使用しないようです。

本来はGPUが最もパフォーマンスがいいはずなのですが、PC環境のせいでGPUを設定するとmodoがクラッシュするため、GPUを使用してテストできませんでした。

 

サブディビジョンレベル 0 (ケージ ON)

80FPS。

35FPS。

 

サブディビジョンレベル 1

104FPS。

36FPS。

 

サブディビジョンレベル 2

83FPS。

34FPS。

 

サブディビジョンレベル 3

46FPS。

29FPS。

 

サブディビジョンレベル 4

17FPS。

18FPS。

 

サブディビジョンレベル 5

4.8FPS。

7FPS。

 

サブディビジョン OFF

サブディビジョン OFFの状態で、Catmull-Clarkを使用して細分割したモデルをアニメーションしました。

 

サブディビジョンレベル 0 相当

110FPS。

34FPS。

 

サブディビジョンレベル 1 相当

69FPS。

32FPS。

 

サブディビジョンレベル 2  相当

26FPS。

19FPS。

 

サブディビジョンレベル 3 相当

7.3FPS。

7.3FPS。

 

サブディビジョンレベル 4 相当

1.7FPS。

1.9FPS。

 

サブディビジョンレベル 5は重すぎるので省略です。フレームレートのテストを表にすると以下のようになります。

 

ポリゴン数増加のテスト結果

サブディビジョンレベルによるポリゴン分割数

サブディビジョンをONにすると、元のポリゴン数がサブディビジョンレベルに応じて細分割されます。サブディビジョンレベルを3以上にした場合、Sub-DよりCatmull-Clarkのほうがポリゴン数が多くなる。

Sub-D
Catmull-Clark
サブディビジョンレベル 1
4 倍
4 倍
サブディビジョンレベル 2
16 倍
16 倍
サブディビジョンレベル 3
36 倍
64倍
サブディビジョンレベル 4
64 倍
246倍
サブディビジョンレベル 5
100 倍
1024倍

 

Human.lxoのフレームレート

サブディビなし
Sub-D
Catmull-Clark
OpenSubdiv
サブディビジョンレベル 0
110 FPS
79 FPS
69 FPS
80 FPS
サブディビジョンレベル 1
69 FPS
98 FPS
74 FPS
104 FPS
サブディビジョンレベル 2
26 FPS
88 FPS
39 FPS
83 FPS
サブディビジョンレベル 3
7.3 FPS
74 FPS
18 FPS
46 FPS
サブディビジョンレベル 4
1.7 FPS
59 FPS
7.4 FPS
17 FPS
サブディビジョンレベル 5
49 FPS
2.3 FPS
4.8 FPS

Bolo_Walk.lxoのフレームレート

サブディビなし
Sub-D
Catmull-Clark
OpenSubdiv
サブディビジョンレベル 0
34 FPS
33 FPS
33 FPS
35 FPS
サブディビジョンレベル 1
32 FPS
33 FPS
32 FPS
36 FPS
サブディビジョンレベル 2
19 FPS
32 FPS
25 FPS
34 FPS
サブディビジョンレベル 3
7.3 FPS
31 FPS
18 FPS
29 FPS
サブディビジョンレベル 4
1.9 FPS
29 FPS
9.7 FPS
18 FPS
サブディビジョンレベル 5
28 FPS
3.7 FPS
7 FPS

 

サブディビジョンレベルを上げれば当然パフォーマンスが低下する結果になりましたが、いくつか興味深いことがわかりました。

 

OpenSubdivとSub-Dのパフォーマンスがよい

今回テストしたモデルではOpenSubdivとSub-Dのパフォーマンスがよいようです。

modoにはOpenSubdivがオープンソースとして公開される前に、ピクサーから直接ライセンスしたCatmull-Clarkを独自に実装していました。このCatmull-ClarkはOpenSubdivよりトポロジー編集が速い物だとのことですが、やはりアニメーションの再生では、OpenSubdivの方が高速なようです。

Sub-Dも決して遅くないので、アニメーションではOpenSubdivかSub-Dを使用するのがよさそうです。ただしOpenSubdivは少し動作が不安定でクラッシュしやすいように感じました。

 

サブディビジョンレベル 0より、レベル1の方がフレームレートが高い

modo 15.1でサブディビジョンレベルを0に設定すると「ケージ」が有効になる機能が追加されましたが、サブディビジョンレベル 0より、レベル1の方がフレームレートが高いです。

バグなのか最適化が進んでないためか原因はわかりませんが、パフォーマンスを重視する場合はレベル 0を使用せずに、TabでサブディビジョンをOFFにした方がよいです。

 

サブディビジョンはフリーズしない方がよい

modoはTabで非破壊的にサブディビジョンを適用することができますが、サブディビジョンをフリーズするよりも、Tabで非破壊サブディビジョンを使用した状態の方がパフォーマンスがよいようです。

modo 13.1でサーフェス計算コードの書き直しがおこなわれ、場合によっては3倍高速化しているとのことです。サブディビジョンよりもサブディビジョンをフリーズした方がパフォーマンスがよくなる場合があるかと思いましたが、非破壊サブディビジョンを使用した方がいいようです。

 

サブディビジョンレベルを上げてもそれほど遅くならない

サブディビジョンレベルを上げるとポリゴン数は指数関数的に増えますが、FPSは思ったより落ちないようです。

 

リグの速度

キャラクターアニメーションでは、使用するリグの計算速度も重要です。

アニメーション作成では何度も再生しながらタイミングを調整します。どんなに便利な自動制御が組み込まれたとしても、リアルタイムで再生できないリグには価値がありません。静止画の場合でも動作が速いほうがトライアンドエラーがしやすくなるので、リグの速度は重要です。

ここではCharacterBoxとACSを使用してリグの速度を測る方法を紹介したいと思います。リグの速度は全てのアイテムを非表示にするとわかります。

 

リグなしの速度

まずはリグをベイクした状態の速度を見てみます。CharacterBoxもACSもリグをmodo標準のスケルトンにベイクすることができます。
ここではフレームレートの変化がわかりやすいように、サブディビジョンレベル2でフリーズしたメッシュを使用しました。

Human.lxo

  • メッシュとスケルトン表示 25FPS
  • スケルトンだけ表示 420FPS
  • 全て非表示 590FPS

 

Bolo_Walk.lxo

  • メッシュとリグ表示 28FPS
  • スケルトンだけ表示 250FPS
  • 全て非表示 490FPS

 

2つのシーンでフレームレートに差が出てるのは、データの違いによる物です。
Human.lxoはポリゴン数が多いのでメッシュを表示してると遅い。Bolo_Walk.lxoは指にスケルトンが仕込まれてるので、スケルトン表示のとき遅い。ということだと思います。

 

リグの速度

リグが動いてる状態でメッシュやリグ、コントローラーを全て非表示にするとリグの速度がわかります。

  • メッシュとリグ表示 23FPS
  • リグだけ表示 160FPS
  • 全て非表示 200FPS

 

Human.lxo に指を追加

  • メッシュとリグ表示 22FPS
  • リグだけ表示 86FPS
  • 全て非表示 114FPS

  • メッシュとリグ表示 19FPS
  • リグだけ表示 44FPS
  • 全て非表示 49FPS

 

CharacterBoxは指を追加すると114FPS。ACSはおよそ49FPSがリグ速度の上限だとわかります。
リグ機能が異なるのでリグその物の速度を比べることは難しいですが、CharacterBoxやACS3は必用に応じてリグを追加できるので、リグのパフォーマンスを制御しやすいかもしれません。

 

デフォーマの計算速度

メッシュを非表示にしただけだと恐らくデフォーマの計算が走った状態ですが、メッシュを非表示にした場合と大きな違いはありませんでした。もしかしたらメッシュを非表示にするとデフォーマ計算を省くなど、最適化されてるのかもしれません。

  • デフォーマON 20FPS
  • デフォーマOFF 150FPS
  • リグだけ表示 160FPS(デフォーマONでメッシュ非表示にした場合とほぼ同じ)
  • 全て非表示 200FPS

 

またメッシュを参照するコンストレイントを使用していると、メッシュを非表示にしてもパフォーマンスが変わらない場合があります。

例えば下の画像はLocatorをポリゴンコンストレイントと、位置コンストレイントを使用したものです。ポリゴンコンストレイントを使用していると、メッシュを非表示にしてもフレームレートが遅いままです。Locatorを非表示にするとフレームレートが上がります。

リグとメッシュに依存関係がある場合は、フレームレートがメッシュの表示速度の影響を受けるようです。

 

ちなみに、CharacterBoxに自動制御を組み込んでカスタムした自作リグの場合、補助スケルトンを表示した状態だと14.5FPSでした。

このリグはアニメーション用途ではなくて、どこまで自動制御組み込めるのか色々テストしていた物なのです。IK計算後の角度を使用してスケルトンを自動制御してるのですが、IKのようにワールド座標で計算された角度に連動してスケルトンを制御しようとすると、徐々にパフォーマンスが低下するようです。1関節につき5~6アイテム動いてるので、数が多いというのもあります。

 

 

 

複数リグの速度

シーンに複数のリグがある場合の速度をテストしました。

modoはデフォーマなどマルチスレッドに対応してる機能がありますが、チャンネルモディファイヤは並列処理に対応していません。シーンに複数のリグがある場合、どのようになるのかテストしました。

やはりリグの並列処理に対応していないため、数に応じて速度が低下しました。

 

Human.lxoは指を追加して実際に使用するリグ構造に近い状態にしました。

リグ1体
  • メッシュとリグ表示 59FPS
  • リグだけ表示 86FPS
  • 全て非表示 114FPS

  • メッシュとリグ表示 35FPS
  • リグだけ表示 45FPS
  • 全て非表示 49FPS

 

リグ2体
  • メッシュとリグ表示 31FPS
  • リグだけ表示 46FPS
  • 全て非表示 65FPS

  • メッシュとリグ表示 17FPS
  • リグだけ表示 22FPS
  • 全て非表示 24FPS

 

リグ3体
  • メッシュとリグ表示 20FPS
  • リグだけ表示 31FPS
  • 全て非表示 43FPS

  • メッシュとリグ表示 11FPS
  • リグだけ表示 14FPS
  • 全て非表示 15FPS

 

リグ4体
  • メッシュとリグ表示 15FPS
  • リグだけ表示 23FPS
  • 全て非表示 32FPS

  • メッシュとリグ表示 8FPS
  • リグだけ表示 10FPS
  • 全て非表示 11FPS

 

リグ5体
  • メッシュとリグ表示 12FPS
  • リグだけ表示 18FPS
  • 全て非表示 26FPS

  • メッシュとリグ表示 6.8FPS
  • リグだけ表示 9FPS
  • 全て非表示 9.6FPS

 

複数リグのテスト結果

Human.lxoのフレームレート

メッシュとリグ
リグ
全非表示
リグ1体
59 FPS
86 FPS
114 FPS
リグ2体
31 FPS
46 FPS
65 FPS
リグ3体
20 FPS
31 FPS
43 FPS
リグ4体
15 FPS
23 FPS
32 FPS
リグ5体
12 FPS
18 FPS
26 FPS

 

Bolo_Walk.lxoのフレームレート

メッシュとリグ
リグ
全非表示
リグ1体
35 FPS
45 FPS
49 FPS
リグ2体
17 FPS
22 FPS
24 FPS
リグ3体
11 FPS
14 FPS
15 FPS
リグ4体
8 FPS
10 FPS
11 FPS
リグ5体
6.8 FPS
9 FPS
9.6 FPS

 

チャンネルモディファイヤは並列処理に対応していないので、リグの数に応じてフレームレートが下がることがわかりました。

CharacterBoxはリグのみ表示した場合と、全て非表示にした場合のフレームレートに差があります。CharacterBoxはスケルトンにプロシージャルメッシュを使用してるせいなのか、リグのみ表示してる場合に描画コストが発生してるようです。
逆にACSはフレームレートに差がないため、ロケータのカスタムシェイプ表示はそれほど描画速度に影響がないことがわかります。

CharacterBoxはシーンに3体リグを配置しても30FPSを維持できそうですが、ACSはシーンに2体配置するとリアルタイムでのアニメーション再生が難しくなりそうです。ACS3ならもっと軽くなってるかも知れません。リグは好みによる部分が大きいので、自作リグなどを含めて速度は気にしたいところです。

 

リグをベイクした状態だと5体でも30FPS出ます。modoでも工夫次第ではアイドルアニメのダンスシーンを処理できるかもしれませんが、普通に別々のシーンでアニメーションを作成した後に、シーンを合成するのがスマートだと思います。

 

ビューポートの設定

ビューポートのスタイルやオプションを変更してアニメーションの再生パフォーマンスをテストしました。フレームレートが高い方がパフォーマンスの変化がわかりやすいのでHuman.lxoを使用しています。

パフォーマンス

ビューポートプロパティの表示属性タブには「パフォーマンス」というパフォーマンスに影響する表示をOFFにするオプションがまとまってます。

データによりますが、これらのオプションをOFFにするとビューポートのパフォーマンスをよくすることができます。

 

ファー

ファー マテリアルのガイドをOFFにすることができます。

  • ファー ON 21FPS
  • ファー OFF 86FPS

 

ディスプレースメント

ディスプレースメントマップをOFFにすることができます。複数のテクスチャを一時的にOFFにしたい場合に有効なオプションです。

  • レイヤー OFF 86FPS
  • ディスプレースメント ON 16FPS
  • ディスプレースメント OFF 43FPS

 

実はこの「ディスプレースメント」や、初期設定の「GLでのディスプレースメント有効」をOFFにしてもあまり速くなりません。ビューポートでディスプレースメントを表示しなくていい場合は。テクスチャーレイヤーの「GL 表示」をOFFにする方がパフォーマンスが上がります。

 

メッシュスムージング

ポリゴンのスムージング計算を無効にしてフラットシェーディングにします。ポリゴン数の多いモデルで効果があります。

サブディビジョンを適用したメッシュには効果がありません。modoのサブディビジョンは細分割時に自動的にスムージングを適用するので、サブディビジョンを使用した段階でスムージング計算が走ります。

画像はサブディビジョンレベル 3でフリーズしたモデルです。

  • メッシュスムージング ON 5.9FPS
  • メッシュスムージング OFF 7FPS

 

 

以前、自作のモデルでメッシュスムージングのオプションが凄く効果的だった記憶があるのですが、どんな条件だったか出てこないので、思い出したら追記します。

 

シェーダーツリーを使用

シェーダーツリーの計算を省略します。テクスチャの多い複雑なモデルで効果があります。

マテリアル数が少なく、テクスチャが使用されてないモデルでは効果が薄いです。

  • シェーダーツリーを使用 ON 85FPS
  • シェーダーツリーを使用 OFF 86FPS

 

modoのシェーダーツリーはとても便利です。複数のマテリアルに同じテクスチャを一度に適用できたりマテリアルのオーバーライドが簡単で、階層構造で管理するマテリアルシステムの完成形というくらい素晴らしい機能なのですが、modoのパフォーマンスが悪い原因として上げられることが多いです。

今回調べてみたら大きな速度低下はありませんでしたが、いくつか気になる点をまとめてみました。

 

テクスチャを使うと速度が低下する

あたり前ですがテクスチャを使うと少しフレームレートが低下します。ディスプレースメントを使用すると特に速度が低下しますが、バンプもそれなりに速度低下します。

ディスプレースメントとバンプ以外は、どのレイヤーエフェクトを使用しても低下率はだいたい同じです。「ディゾルブ」のようにビューポートで効果が確認できないものや、「ポーリュームサンプル密度」のようにレンダリングでも効果のないエフェクトでも、一律フレームレートが低下します。

テクスチャを一度でもビューポートに表示するとそれ以降は若干パフォーマンスが低下し、シーンを読み直すと改善します。

ディスプレースメントとバンプを表示すると、それ以降ディスプレースメントやバンプ以外のテクスチャに切り替えてもフレームレートが落ちたままになります。

  • レイヤーなし 85FPS
  • 一度テクスチャを表示した後レイヤーをOFF 67 FPS
  • ディフューズ 65FPS
  • スペキュラ色 65FPS
  • バンプ  40FPS
  • ディゾルブ 41FPS  (バンプを表示しない場合は65FPS)
  • ボリュームサンプル密度 41FPS (バンプを表示しない場合は65FPS)

 

テクスチャ解像度を変更しても速度は一定

初期設定にはビューポートの「テクスチャ解像度」の設定があります。テクスチャ解像度を変更しても速度は低下しませんでした。テクスチャを多く使用してるシーンでは違いが出るかもしれません。

  • テクスチャ解像度 64 66FPS
  • テクスチャ解像度 2048 66FPS
  • テクスチャ解像度 4096 66FPS

 

複数のテクスチャを使用しても速度は一定

複数のテクスチャを適用しても速度は低下しませんでした。

 

テクスチャを選択すると速度が低下する

シェーダーツリーでテクスチャを選択するとわずかに速度が低下します。ドラッグアンドドロップのような操作は更に速度低下します。ディゾルブなど一部のエフェクトは選択したテクスチャをビューポートに表示するので何か処理が走ってるのかも。

特に必要のない場合は、シェーダーツリーでは選択を解除した方が少しパフォーマンスがよくなるかもしれません。

  • 非選択 85FPS
  • 選択 77FPS

 

今回テストした範囲では大きなパフォーマンス低下は確認できませんでした。テクスチャ表示やディスプレイスやバンプの速度が妥当なのかわかりませんが、表示する要素が増えると相応に処理が発生するのは理解できます。

シェーダーツリーは機能の特性上、少しの変更でもツリー全体を更新する必用があるらしく、特にマテリアルの数が多い場合にパフォーマンスを低下させることが多い言われています。
Vrayのようにビューポートを更新しないマテリアルはパフォーマンスがいいようなので、アニメーションで使用する場合は「GL 表示」をOFFにして必用なレイヤーだけビューポートに表示する使い方が適してそうです。

 

表示スタイル

ビューポートの表示スタイルを変更して、速度に変化があるかテストしました。表示スタイルの違いがパフォーマンスに影響することはないようです。

 

アドバンスト表示は遅いですが、他の表示スタイルの速度は大きく変わりませんでした。メッシュがビュー全体を覆うようにズームした場合は、ワイヤーフレームの表示がわずかに速いようです。

 

ワイヤーフレームオーバーレイ

modoはメッシュにワイヤーフレームがうっすらと表示されています。他にもビューポートで表示する様々な表示を切り替えたらパフォーマンスに影響するかテストしました。

昔使ってたソフトではワイヤーフレーム表示を使うと遅くなることがあったのですが、modoでは特に問題になることはないようです。

サブディビジョン2でフリーズしたメッシュ。

 

アニメーションを速くする工夫

ここまではmodoの機能を使用したパフォーマンス改善をテストしました。テスト結果からよりアニメーションを速くするための工夫を紹介します。

プロキシメッシュ

メッシュを関節ごとに個別のアイテムに分割して、スケルトンにダイナミックペアレントする方法です。

サブディビジョンレベル 4でフリーズしたメッシュ(948,736ポリゴン)だとフレームレートが1.6FPSしかでません。同じポリゴン数でも関節ごと個別のアイテムに分割して、スケルトンにペアレントすることで高速にアニメーション再生することができます。

  • メッシュ 1.6FPS
  • リグのみ 120FPS
  • プロキシメッシュ  100FPS

 

プロキシメッシュを使用する方法はPCスペックの低かった時代からある定番ですが効果が高いです。この方法の弱点は以下の通り。

  • メッシュを用意するのが若干めんどくさい
  • めり込みなど細かな変形の確認がめんどくさい
  • モーフを使用したアニメーションの確認に弱い

逆にキャラクターアニメーションではなく、メカニカルな物ならパフォーマンスを気にすることなくアニメーション生成できそうです。

プロキシメッシュを簡単に作成する機能があれば便利なんですけどね。ACS3にはプロキシメッシュを作る機能が搭載されてるようです。

 

保留される評価の代理メッシュ

modo 15.1で追加された保留される評価の「代理メッシュ」機能を使用する方法です。この機能はメッシュを複製してサブディビジョンをOFFにするだけで、簡単に代理メッシュを設定できるのでお勧めです。

画像では速度差がわかるようにサブディビジョンレベル1でフリーズしたメッシュにサブディビジョンを適用したモデルを使用しました。
そのままアニメーションすると32FPSくらいですが、アイテムを複製してサブディビジョンをOFFにしたアイテムを「代理メッシュ」に指定すると65FPSくらいの速度になります。

 

代理メッシュがわかりやすいように色を変えてみました。タイムラインスクラブやアイテム編集中だけ軽いメッシュに置き換わります。切り替わるタイミングで若干ラグが発生しますすが、ユニークな機能で再生パフォーマンスを改善する効果が高いと思います。
逆に編集中の操作を軽くしたい場合は、15.1で追加されたメッシュオペレーターの「評価の保留」の効果が高いです。

 

デフォーマを適用したメッシュを使用するとパフォーマンスが落ちてしまうという根本的な問題は解決することはできませんが、サブディビジョンを使用しない描画の速い代理メッシュを使用することで快適にアニメーションを作成することができるようになます。

プロキシメッシュ並みの早さすることはできませんが、モーフやデフォーマの影響も確認する事ができるので便利です。

 

複数アイテムにわける

Human.lxoは1オブジェクト1メッシュのモデルです。メッシュを複数のアイテムに分けてパフォーマンスを確認しました。

サブディビジョンレベル3でフリーズしたメッシュで、マッスルやモーフデフォーマを削除した状態のモデルです。

デフォルトは10FPS。

 

メッシュを頭、胸、腕、腰、脚の5アイテムに分割した場合。正規化フォルダは1つで、12.3FPS。

 

メッシュを5アイテムに分割し、更に正規化フォルダをアイテムごとに5つに分けた場合、11.9FPS。

 

1アイテムに全てのメッシュをまとめるより、適度にアイテムを分けた方がわずかにパフォーマンスがいいようです。デフォーマが並列処理されるぶんだけ、速度が上がるのかもしれません。

アイテムごとに正規化フォルダをわけてインフルエンスを入れた場合は、わずかにパフォーマンスが落ちました。正規化処理が複数発生するからでしょうか。

アイテムを分けた方がパフォーマンスがいいのはmodoに限らず、どの3Dソフトで同じですね。

 

ソース制限

正規化フォルダには1頂点に影響するウェイト数を制限するソース制限機能があります。この機能を使用した場合のパフォーマンスをテストしました。

ソース制限OFF、11.4FPS。

 

ソース制限3、10.3FPS。

 

ソース制限1、10.2FPS。

 

ソース制限はゲームエンジンの仕様に合わせるための機能なので、計算が速くなるイメージでしたが、実際にはわずかにパフォーマンスが下がるようです。

画像では複数の正規化フォルダを使用してテストしていますが、1メッシュ1正規化フォルダの場合でもわずかに遅くなります。しきい値を大きく設定しても速度に大きな変化がないので、ソース制限の計算コストぶんだけパフォーマンスに影響があるのかもしれません。

 

まとめ

modoでキャラクターアニメーションを作る場合は、プロキシメッシュか代理メッシュを使うのが最も効果があることがわかりました。

今回いろいろテストしたことで、これまで漠然と使ってたオプションが、どのようにパフォーマンスに影響しているのかわかりました。
modoのアニメーション機能はわりと使いやすくて高機能です。デフォーマを使用したメッシュのアニメーションパフォーマンスが低い問題は、ぜひ対処して欲しいですね。そういった意味では「代理メッシュ」はmodoの問題点をフォローするいい機能追加だったように思います。

本当は自作のモデルで代理メッシュをテストしたかったのですが、15.1でリレーションシップにバグが発生していてファイルを開くことができないので試せませんでした。バグが修正されたらテストしてみたいと思います。

もっと複雑なモデルだとパフォーマンスを下げる要因がより複雑になると思います。もしパフォーマンスの問題に遭遇したら、この記事で書いたことが何らかのヒントになったなら嬉しいです。