AIゲーム開発研究室
第14回 4面図の正確性とAI時代の3Dモデリング工程
AIゲーム開発研究室
3Dモデル制作ドキュメント
第14回
4面図の正確性とAI時代の3Dモデリング工程
研究代表 大川 博
主任研究員 Arc(ChatGPT)
はじめに
前回までに、5人のキャラクターを3Dモデル化するためのTポーズ4面図を制作した。
今回は、その中からリンを使用してTripoによる3Dモデル生成を行う。
リンのTポーズ4面図には、今回の検証に適した特徴があった。
正面と背面では両腕が水平に伸びたTポーズになっているが、側面では腕の見え方が完全には一致していない。
また、大きく巻いた尻尾や黄色いバッグについても、4方向の画像間で位置や形状に若干の不整合がある。
そこで今回は、これらをあえてそのままTripoへ入力し、
4面図に多少の不整合があった場合、3D生成AIはどこまでそれを補完できるのか
を検証することにした。
さらに、生成後に発見された問題に対して、Smart Mesh、Mesh Edit、Free Retry、Segmentationなど、Tripoに用意されている修正・生成機能も実際に試した。
その結果、今回の実験から二つの重要な成果が得られた。
一つは、
3D生成AIを使用する場合でも、入力する4面図の正確性が極めて重要であること。
もう一つは、
最初からゲーム用の低ポリゴンモデルを生成するのではなく、まず高精細モデルを生成し、その後ゲーム用ポリゴン数まで大幅に軽量化する
という、AI時代の新しい3Dモデリング工程の可能性である。
1.リンのTポーズ4面図から3Dモデルを生成する
最初に、リンのTポーズ4面図を4枚の画像に分割し、TripoのMulti-viewへ入力した。
今回は、最初からゲーム用の軽量モデルを作るのではなく、まず可能な限り高品質なモデルを作る。
そのためHDモデルを使用し、高品質設定で生成した。
生成されたモデルは約190万Facesとなった。
完成したモデルを確認すると、リンの顔や身体、大きな尻尾などが高い品質で立体化されていた。
しかし今回重要なのは、単純な造形品質ではない。
4方向画像の不整合をTripoがどのように解釈したのか。
そこを詳しく確認することにした。
2.曖昧だった腕は正しいTポーズになった
最初に確認したのは腕である。
元の4面図では、正面と背面は明確なTポーズになっている。
しかし側面図では、腕の見え方が正面・背面と完全には一致していない。
そのため、
この状態から本当にTポーズとして立体化できるのか
が最初の検証項目だった。
結果は成功だった。
生成された3Dモデルでは、左右の腕が水平に伸び、きれいなTポーズになっていた。
Tripoは単純に各方向の画像をそのまま立体化するのではなく、複数の画像から形状を判断し、Tポーズとして成立するように補完したと考えられる。
Tポーズは3Dキャラクター制作で広く使用される基本姿勢である。
そのため、Tripoが学習しているTポーズに関する情報が、今回の補完に影響した可能性がある。
ただし、これは生成結果からの推測であり、Tripo内部の処理を確認したものではない。
3.尻尾の先端が二つに分かれた
腕では柔軟な補完が行われた。
しかし、リン固有の形状では同じ結果にはならなかった。
リンには、大きく巻いた特徴的な尻尾がある。
生成された3Dモデルを見ると、尻尾全体の形状はかなり良好に立体化されていた。
ところが、巻き込んだ先端部分を詳しく確認すると、
尻尾の先端が左右二つに分かれていた。
大きな尻尾を複数方向から描いたことで、それぞれの画像に現れた先端部分の位置関係を、一つの形状として完全には統合できなかったと考えられる。
ここでも重要なのは、Tripoが勝手に原画を無視したわけではないということである。
むしろ、
4面図に描かれている情報を忠実に3D形状として成立させようとした結果
と考える方が自然である。
4.バッグは3個生成された
バッグについても同様の問題が発生した。
リンのデザインでは、本来、左右に一つずつバッグが存在する。
ところが生成された3Dモデルでは、
左側に2個、右側に1個
合計3個のバッグが生成された。
4方向画像では、見る方向によってバッグの位置が異なる。
人間であれば、それらを同じバッグを別方向から見たものとして理解できる。
しかし今回のTripoは、一部の情報を同一のバッグとして統合せず、別の形状として生成した。
さらにベルトについても、身体へ溶け込むような形で生成された部分が確認された。
腕ではAIによる補完が成功した一方、バッグでは原画の位置情報が強く反映された。
5.AIは原画の間違いを必ず直してくれるわけではない
ここまでの結果は非常に興味深い。
腕については、多少の不整合があっても正しいTポーズとして生成された。
一方、尻尾やバッグでは、4面図の不整合がそのまま3D形状の問題として現れた。
つまり、
Tripoには入力画像の曖昧さを補完する能力がある。
しかし、
すべての不整合を「間違い」と判断して修正してくれるわけではない。
特に、バッグや尻尾のようなキャラクター固有の形状については、AIにとって何が正しいのかを判断する基準が十分に存在しない。
その場合、AIは入力された画像をできるだけ忠実に再現しようとする。
今回の実験から、
3D生成AIの性能が高くなっても、入力する4面図の正確性が不要になるわけではない。
ことが確認された。
むしろAIへ3Dモデル生成を任せるからこそ、
AIへ渡す原画そのものを正確に制作することが重要になる。
6.生成後に修正できないか
ここからは、生成された問題をTripo内部の機能で修正できないかを検証した。
今回試したのは、
Smart Mesh
Mesh Edit
Free Retry
Segmentation
である。
当初予定していた実験ではなかったが、結果としてTripoの修正機能の性質を確認する重要な検証となった。
7.Smart Meshを試す
最初にSmart Meshを使用した。
設定は、
P2.0
Triangle
50,000ポリゴン
とした。
実際に生成されたモデルは、
43,800 Faces
だった。
約190万FacesのHDモデルと比較すると、非常に軽量である。
しかし、両モデルを比較すると、キャラクターとしての造形品質ではHDモデルの方が良好だった。
顔、身体、毛並み、輪郭、尻尾など、全体としてHDモデルの方が高い完成度を持っている。
さらにSmart Meshでも、尻尾先端の問題は解消されなかった。
8.Smart MeshのMesh Editを試す
Smart Meshには、生成後にモデルの一部を選択して再生成するMesh Edit機能がある。
そこで、二つに分かれている尻尾の先端を選択し、局所的な再生成を試した。
しかし結果は改善しなかった。
むしろ尻尾の形状がさらに崩れ、元の状態より悪化した。
次にバッグ周辺についてもMesh Editを試した。
こちらも目的とした修正結果にはならなかった。
今回の実験では、
問題部分を指定すれば、人間の意図した形へ自動的に修復してくれる
という結果にはならなかった。
9.Smart Meshに見えた「穴」をBlenderで確認する
Smart Meshを回転させて確認すると、身体の一部に穴のように見える場所があった。
そこでモデルをエクスポートし、Blenderで実際のメッシュを確認した。
その結果、
メッシュの面が欠落して穴が開いているわけではない
ことが分かった。
Smart Meshでは、今回のリンの一部で、複数の形状を完全につなぐのではなく、
少しずらして重ね合わせる
ような構造が確認された。
通常の角度から見れば一体のモデルに見えるが、重なり方によっては形状と形状の間から隙間が見える。
つまり、
穴ではない。
しかし、
外から隙間が見える。
構造として成立していても、完成したキャラクターモデルとして見れば問題になる。
今回のSmart Meshを採用しなかった最大の理由は、この隙間だけではない。
より重要なのは、
HDモデルと比較して造形品質そのものが低かった
ことである。
そこで今回はSmart Meshを採用せず、HDモデルを使用する方針とした。
10.HDモデルのFree Retryを試す
HDモデルにもFree Retry機能が用意されていたため、これも試した。
Smart MeshのMesh Editとは異なり、今回使用したHDモデルでは修正範囲を指定する画面は表示されず、そのまま再生成が開始された。
また、今回の操作では元モデルとの比較表示や、元の状態へ戻す操作も確認できなかった。
再生成されたモデルを確認したが、尻尾やバッグの問題は基本的に残った。
特に尻尾先端には、再び同様の分岐が発生した。
同じ入力画像から再生成しても似た問題が発生したことから、単なる一回の偶然ではなく、
元の4面図に含まれる形状情報が生成結果へ強く影響している可能性
がさらに高くなった。
11.モデルを複製してSegmentationを試す
次に、HDモデルを複製し、Segmentationによるパーツ分離を試した。
今回は、
バランス:6~15部構成
を選択した。
処理後のモデルでは、頭、耳、腕、脚、尻尾、身体などが複数のパーツとして分離された。
ここで注目したのが、余分に生成された左側のバッグだった。
もしバッグだけを分離できれば、余分なバッグを削除できる可能性がある。
そこで左側のバッグに該当するパーツを非表示にした。
12.パーツを分離しても、その下の身体は作られない
左側のバッグを非表示にすると、重要なことが分かった。
バッグの下には身体が存在していなかった。
バッグを消すと、その場所には大きな開口部が現れた。
つまりSegmentationは、
完成した身体と装備品を新しく別々に作り直す機能ではない。
今回のモデルでは、既存の形状を複数の領域として分離しているため、バッグの下に隠れている身体を新しく生成してくれるわけではなかった。
さらに左側のバッグの一部は分離されたが、右側のバッグは身体と一体化したままで、独立したバッグとして分離されなかった。
ベルトも同様に、身体とバッグから完全に独立した装備品として再構成されたわけではない。
したがって今回の問題については、
Segmentationによって余分なバッグを取り除き、正常な身体へ戻す
ことはできなかった。
13.結局、重要なのは4面図だった
今回、生成後の問題を修正するために、さまざまな機能を試した。
Smart Mesh。
Mesh Edit。
Free Retry。
Segmentation。
しかし、今回発生した尻尾やバッグの問題を完全に解決することはできなかった。
そして最終的に戻ってきたのは、非常に基本的な結論だった。
最初にAIへ渡す4面図を正確に作る。
Tripoには高い補完能力がある。
今回も、曖昧だった腕を正しいTポーズとして生成することができた。
しかし、それを前提として原画を曖昧に制作してよいわけではない。
AIが何を補完し、何を入力画像どおりに再現するかを、人間が完全に予測することは難しい。
したがって、
生成後の修正機能に頼るのではなく、入力段階で4方向の形状・位置・装備品を可能な限り一致させておくこと
が重要である。
これはAI時代になっても変わらない。
むしろ、
AIに制作を任せる時代だからこそ、AIへ渡す入力設計の精度が重要になる。
14.もう一つの重要な発見――高精細モデルから軽量化する
今回、4面図とは別に、もう一つ重要な結果が得られた。
それが、
ゲーム用モデルをどの段階で軽量化するのか
という問題である。
従来の3Dゲーム制作では、ポリゴン数を削減すれば、それだけ形状を構成する情報が失われる。
大量に削減すれば、
曲面が崩れる
輪郭が変わる
細部が失われる
モデル全体の品質が低下する
ことは当然だった。
そのため、
ゲームで使用するなら、最初からゲーム用途を意識したポリゴン数でモデルを制作する
という考え方には十分な合理性があった。
ところが、AIによる3Dモデル生成では、それとは異なる結果が現れ始めている。
15.パンタで起きた常識外の結果
以前パンタで、
Aタイプ:最初から約1万Facesで生成したモデル
Bタイプ:約200万Facesで生成した高精細モデル
Cタイプ:Bタイプを約1万Facesまで軽量化したモデル
を比較した。
通常の感覚で考えれば、約200万Facesから約1万Facesまで大幅に削減すれば、モデルの品質は大きく低下すると考えられる。
ところが実際には、
高精細モデルから約1万Facesまで軽量化したCタイプの方が、最初から約1万Facesで生成したAタイプよりも、高精細モデルの形状や外観をよく維持していた。
これは非常に大きな結果だった。
16.リンのSmart Meshでも同じ方向の結果が現れた
今回のリンでは、別の方法でこの問題を検証することになった。
約190万FacesのHDモデルと、約43,800 FacesのSmart Meshモデルを比較した。
Smart Meshは十分に軽量だった。
しかし造形品質では、
HDモデルの方が良好だった。
つまり今回も、
最初から軽量モデルとして生成する方法より、まず高精細モデルを生成する方法
の方が、原型として高い品質を得られた。
パンタとリンという異なる実験から、同じ方向の結果が見えてきた。
17.AI時代の3Dモデリング工程
ここから、本研究では従来とは異なる制作工程を採用する。
従来の考え方
ゲームで使用できるポリゴン数を考える
↓
その制約を意識してモデルを制作する
↓
品質と軽量性のバランスを取る
本研究で検証するAI時代の工程
まずAIで可能な限り高品質なモデルを生成する
↓
高精細モデルでキャラクターの完成形を確定する
↓
そのモデルをゲーム用途に必要なポリゴン数まで大幅に軽量化する
↓
高精細モデルの外観を可能な限り維持した軽量モデルをゲームへ使用する
つまり、
最初から軽く作るのではなく、最高品質で作ってから軽くする。
という考え方である。
ポリゴンを削減すれば品質が低下する。
その原理自体がなくなったわけではない。
しかしAIによる生成と軽量化を組み合わせることで、
大幅なポリゴン削減を行っても、最初から低ポリゴンで生成したモデルより高い外観品質を得られる可能性
が今回までの実験で示された。
これは、AI時代の3Dゲームキャラクター制作における重要な制作方法の一つになる可能性がある。
18.ゲーム用ポリゴン数の目安
ゲーム用キャラクターの適切なポリゴン数には、絶対的な基準はない。
使用するハードウェア、同時に表示するキャラクター数、画面上の大きさ、アニメーション、マテリアル、テクスチャ、ゲーム全体の負荷などによって適切な数値は変化する。
本研究では、スマートフォンおよびPCゲームで使用するキャラクターについて、
約15,000ポリゴンを一つの実用的な目安
として今後の検証を進める。
重要なのは15,000という数字そのものではない。
本研究で注目するのは、
約200万ポリゴンの高精細モデルを作成し、そこから約15,000ポリゴンまで大幅に削減する
という制作工程である。
従来の感覚からすれば、これほど大幅な削減を前提として最初に約200万ポリゴンのモデルを制作することは、一見すると非効率に見える。
しかし、パンタの実験では、それによって最初から低ポリゴンで生成したモデルより高い外観品質を持つ軽量モデルを得ることができた。
今回のリンでも、HDモデルとSmart Meshの品質比較によって、この制作方針をさらに検討する価値があることが確認された。
まとめ
今回のリンの3Dモデル制作では、二つの重要な成果が得られた。
第一は、
AIによる3Dモデル生成でも、入力する4面図の正確性が極めて重要である
ということである。
Tripoは、Tポーズのような一般的な形状については、画像に多少の不整合があっても柔軟に補完できる場合がある。
しかし、キャラクター固有のバッグや複雑な尻尾については、原画に描かれた情報を忠実に再現しようとした結果、不整合そのものが3D形状として現れる場合がある。
さらに生成後の修正・再生成・パーツ分離も試したが、今回の問題を完全に解決することはできなかった。
したがって、
AIが後から直してくれることを前提とするのではなく、AIへ渡す原画を正確に制作する。
ことが重要である。
第二は、
高精細モデルを先に生成し、その後ゲーム用モデルへ大幅に軽量化する
という制作工程である。
パンタでは、約200万Facesの高精細モデルから約1万Facesまで軽量化したモデルが、最初から約1万Facesで生成したモデルより高い外観品質を維持した。
今回のリンでも、約190万FacesのHDモデルは、最初から軽量化を意識して生成したSmart Meshより高い造形品質を示した。
そこで本研究では今後、
高精細生成 → 形状確定 → 約15,000ポリゴンへ軽量化 → Mixamoによるリグ・アニメーション → Unity実装
という工程を基本として、さらに検証を進める。
これは単なるAIによる作業の自動化ではない。
AIの登場によって、3Dゲームキャラクターを「どの順番で作るのか」という制作工程そのものが変わる可能性がある。
今回の実験は、その可能性を具体的に示す結果となった。
