アニメーションパイプラインにおけるリトポロジーが重要な理由

アニメーションパイプラインにおけるリトポロジーが重要な理由
🧩
 リトポロジーは、ぐちゃぐちゃになった3Dメッシュをアニメーションに使えるアセットへ変えます。

AIツールは、数分で3Dモデルを生成できるようになりましたが、たいていはトポロジーがぐちゃぐちゃです。つまり、表面に沿ったポリゴンの並び方が均一でなく、構造も貧弱ということです。見た目は問題ないように見えるかもしれませんが、アニメーションを付け始めた瞬間に壊れます。

何らかのアニメーションやレンダリングを行うなら、リトポロジーが必要になると考えてください。

どこから始めればいいかわからない場合も大丈夫です。この記事では、工程を順を追って説明し、作業を楽にするために使えるさまざまなツールを紹介します。


リトポロジーとは

💡
リトポロジーとは、既存のスカルプの上に、アニメーションで正しく変形できるように、よりクリーンなポリゴン配置を作るために、3Dモデルのサーフェス・トポロジーを作り直すプロセスです

出典:Blender Manual

たとえば、私たちは通常、ZBrushから出てきた高密度のスカルプをそのままアニメーションしません。代わりに、その上に軽量で構造化されたメッシュを構築します。

メッシュは、頂点(点)、エッジ(点と点の間の線)、面(表面)でできた3Dオブジェクトです。

リギングを考える前に、まずワイヤーフレーム表示でメッシュを確認し、高密度のかたまり、引き伸ばされたポリゴン、そしてエッジフローの混沌(エッジが表面上で辿る方向)を特定します。

キャラクターの場合、たとえば肩は三角形ではなく均等に配置したクワッド(4辺のポリゴン)で作り直すことで、腕がピンチせずに回転できるようにします。これがリトポロジーです。


リトポロジーが重要な理由

リトポロジーは、モデルのサーフェスをクリーンなジオメトリで作り直します。そしてそれは、制作をまたいでメンテナンスしやすく、再利用できるアセットが欲しいなら必要です。アニメーターは、高密度スカルプのトポロジーをそのまま下流へ渡しません。代わりに、次のアニメーターやリガーが素早く理解して変更できるように、クリーンなエッジループで再構築します。

良いリトポロジーは、変形が予測可能になるためアニメーションを簡単にします。変形とは、ジョイントが回転したときにメッシュがどのように形状を変えるかです。肘、膝、口まわりには、均等に配置したクワッドを用意し、変形を支えましょう。ジョイントの周囲に半径方向のエッジループを5〜7本配置すると、皮膚が潰れずに曲がるための十分なジオメトリが得られます。

最後に、ポリゴン密度を制御することでレンダリングコストを抑えられます。ポリゴンはジオメトリの1つの面で、数が増えるほど処理するデータも増えるため、シルエットが変化するディテールには集中し、平坦な部分は軽量にしてコストを削減します。

リトポロジーは必ず、どこかのタイミングで役に立ちます。 3Dモデルを修正する場合でも、異なるレベル・オブ・ディテール(LOD)を作る場合でも同じです。では、袖まくりして掘り下げていきましょう。


1. 3Dモデルをバックアップする

まず最初に、リトポロジーに触れる前に、毎回必ずモデルをバックアップすることが重要です

自動リトポロジーのツールは、トポロジーを最初から作り直すため、元のメッシュデータを上書き、または削除します。アーティストが長い一日の終わりにオート・レトポを走らせたあと、「新しいエッジフローのせいで肩周りの変形が壊れた」ことに気づき、しかも元のスカルプが消えてしまっている——そんなことが起こりがちです。

アンドゥに頼らないでください。クリーンな重複(コピー)を保存し、破壊的な処理を実行する前に、現在のメッシュをシーンにアーカイブしておきましょう。

制作現場では、変更を追跡・復元可能にするためにKitsuで新しいバージョンも作成します。こうすれば、リギングテストで新しいトポロジーが失敗しても、ITにファイル復元を頼む代わりに、数分でロールバックできます。

バックアップはリトポロジー作業そのものの一部として扱いましょう!2分のバージョン更新と重複保存だけで、スカルプの作業日を守れます。また、上長が「before」と「after」のメッシュを比較したいと言ったときも、パイプラインが止まらないようにできます。


2. 一般的な進め方

基本のワークフローはシンプルです。スカルプをクリーンアップし、安定性のためにボクセルでリメッシュし、構造のためにクワッドでリメッシュし、その後、肩や腰などの変形領域を手作業で微調整します。

常に最初の段階で、素早いスキンウェイトと極端なポーズでテストしてください。


3. リメッシングによる自動リトポロジー

もしクリーチャーが800万ポリゴンもの高密度で、しかもぐちゃぐちゃな三角形ばかりで入ってきたら、最初から手作業でリトポロジーを始めないほうがいいです。代わりに、まず自動のリメッシュ処理で構造を作り出します。

そのためにBlenderでは、リメッシングのアルゴリズムとしてVoxelとquadの2種類を提案しています。

出典:MediumのSofia Pahaoja

ボクセル・リメッシング(VDB Remesh)は、メッシュを3Dグリッド上の小さな立方体(ボクセル)に変換し、元のエッジフローではなく体積に基づいてサーフェスを作り直すことで機能します。

その結果、均等に分布したジオメトリが得られるため、穴の修正、非マニホールド形状(一定のサーフェス法線を保ったまま2D平面へ展開できない構造)、交差している部分などの修正に非常に適しています。既存のトポロジーを厳密に保持することをあまり気にせず、「新しいベースメッシュ」が必要なときはボクセルを使います。すると結果はぐちゃぐちゃになり得ます。

一方で、アニメーション向けのエッジループが欲しい場合は、クワッド・リメッシングを使えます。クワッド・リメッシングはサーフェスの曲率を分析し、スキニングの下で予測可能に変形するクワッドを生成します。QuadriFlowはモデルの形状に沿って処理します。

もちろん、この2つを組み合わせることもできます。たとえばフェイスリグの場合、ボクセルのクリーンアップの後にクワッドでリメッシュし、その上でガイドを調整して、目と口の周囲にループを強制することができます。

自動リトポロジーは、多くの場合「最初の出発点」であって最終納品物ではありません。


4. ポリビルドによる手動リトポロジー

Poly Buildツールを使った手動リトポロジーは、変形品質が最重要になるとき、特にクローズアップを担うヒーローキャラクターに対して使うものです。

Blenderでは、Poly Buildツールを使って、高密度メッシュの表面に直接新しいポリゴンを描けます。描画した各頂点はスカルプにスナップされます。

出典:Blender Nation

フェイスリグの例で言えば、アーティストはまず唇の周囲にクワッド(4辺のポリゴン)を配置して、エッジループが笑顔のラインに沿うことを確認してから、口周りを作り直すことができます。これにより、リガーはブレンドシェイプ向けに予測可能なループを得られ、極端なフォネム(音素)でジオメトリが潰れるのを避けられます。

また、Subdivision Surface ModifierやMultiresolution Modifierのような他のモディファイアを使って、特定の作業を行うこともできます。

このステップでは経験が非常に重要です。多くのアニメーターは、高品質モデルのトポロジーを研究して、その同じ原理を自分のモデルへ適用することで学びます。それは暗黙知なので、実践が鍵です!


5. リトポロジーのパフォーマンスを測る

リトポロジーは見た目(美しさ)がすべてのように思えますが、シーン内のメッシュ数を数えるなどして、数値でリトポロジーのパフォーマンスを測るのは良い習慣です。そうすれば、どれくらいの作業量が必要か評価でき、進捗も追跡できます。

BlenderではOutlinerを開き、メッシュオブジェクトがいくつあるか確認してください。そのうえで、ビューポートのオーバーレイでStatisticsを有効にすると、頂点数と面数をリアルタイムで見られます。

キャラクターモデルは軽く見えるかもしれませんが、統計では別々の衣装メッシュにまたがって12万ポリゴン(面)があることが分かる場合があります。さらに、静的アクセサリを結合し、見えない内側の面を削除するだけで、より複雑なリトポロジー作業を始める前に面数を大きく減らせることもあります。

また、LOD戦略に応じて別メッシュの数も考慮することが重要です。

LOD(Level of Detail)とは、同じアセットを異なる解像度の複数バージョンで用意し、エンジンがカメラ距離に応じてそれらを切り替えることを意味します。

メッシュ数の削減やLODの最適化も、実行時のパフォーマンスに関わるためです。そこで、肩や腰などの重要な変形領域をリトポロジーし直し、低いLODでもアニメーション中に正しく曲がるようにします。細部に時間をかけすぎずに済むよう、状況に応じて判断するのが大切です。文脈が重要です。


まとめ

AIが生成した3Dモデルにより、アイデアからメッシュまで一気に進めるスピードは驚くほど速くなりました。しかし、構造のないスピードには代償があります。クリーンなトポロジーこそが、未加工でぐちゃぐちゃなアセットを制作に耐える状態へ変えてくれます。

このガイドでは、リトポロジーとは何か、なぜメンテナンス性、アニメーション、レンダリングのパフォーマンスにとって重要なのか、そしてBlender内で段階的にどうアプローチするかを解説しました。

元のメッシュをバックアップすることがどれほど重要かはお分かりいただけたはずです。そこから、素早い結果を得るためにVoxelやQuadのようなリメッシングツールを使った自動リトポロジーを見ていきました。さらに、精度が最も重要なときに使うモディファイアによる手動リトポロジーも紹介しました。最後に、メッシュ数を分析し、LODとトポロジーのトレードオフを理解することでパフォーマンスを測る方法を確認しました。

リトポロジーは単なるクリーンアップ工程ではありません。そして、Blenderでプロセスを実演しましたが、同じ原理は主要なDCCツールすべてに当てはまります。Blenderで作業していようが、Maya、Houdini、その他の3Dソフトであろうが、基本は変わりません。

📽️
アニメーションのプロセスについてもっと学ぶには Discordコミュニティに参加することを検討してください!私たちはベストプラクティスを共有する1,000人以上の専門家とつながっており、たまに対面イベントも企画しています。ぜひあなたを歓迎したいです! 😊

この記事はいかがでしたか?

ニュースレターを購読して、さらなる考察、チュートリアル、業界ニュースをお受け取りください。