AIゲーム開発研究室
セグメンテーションとリトポロジーの実験
3Dモデル制作ドキュメント 第2回
生成した3Dモデルをゲーム用モデルへ近づける
― セグメンテーションとリトポロジーの実験 ―
AIゲーム開発研究室
研究代表 大川 博
主任研究員 Arc(ChatGPT)
はじめに
前回、2Dキャラクター「パンタ」の正面画像1枚から、Tripo Studioを使用して3Dモデルを生成した。
生成されたモデルは、正面から見る限り、元画像のキャラクターデザインをかなり高い精度で再現していた。
顔、目、耳、体形、スカーフ、リュックなどが立体化され、さらに口の内部まで3D形状として生成されていた。
しかし、モデルを回転させて確認すると、正面画像だけでは分からない側面や背面については、AIが独自に形状を推測していることも分かった。
特に背面のリュックは、公式キャラクター設定とは異なる簡略化された形になっていた。
また、正面画像には写っていなかった尻尾まで生成されていた。
つまり、
AIは、画像に描かれていない部分についても、キャラクター全体が成立するように推測して3D形状を生成している。
今回は、この高精細3Dモデルをゲームで扱えるモデルへ近づけるため、Tripo Studioのセグメンテーションとリトポロジーを実際に試した。
【画像挿入①】
前回生成したパンタの3Dモデル・正面
※正面から見た完成状態が分かる画像を掲載。
1.生成されたモデルのポリゴン数
生成されたパンタは、見た目には非常に滑らかで、毛並みまで立体的に表現されていた。
しかし、その内部では非常に大量のポリゴンが使用されていた。
確認した時点で、
面 約1,901,487
頂点 約1,064,178
という高密度モデルになっていた。
これは高精細な3Dモデルとしては魅力的であるが、そのままゲームキャラクターとして使用するには非常に重い。
そこで、このモデルの形状をできるだけ維持しながらポリゴン数を減らす必要がある。
その前に、Tripo Studioが生成したモデルをどの程度「部品」として認識できるのかを確認するため、セグメンテーションを試すことにした。
【画像挿入②】
高精細モデルのポリゴン数が表示されている画面
※面数・頂点数が確認できるスクリーンショット。
2.セグメンテーションを試す
Tripo Studioには、生成された3Dモデルを複数の部分へ分割する「セグメンテーション」機能が用意されている。
今回は「バランス」を選択して、自動セグメンテーションを実行した。
処理後のパンタは、頭部、耳、目、鼻、腕、脚、スカーフ、リュックなどが異なる色で表示された。
単なる色分けではない。
画面上でそれぞれの部分を選択すると、個別のパーツとして認識されていることが確認できた。
【画像挿入③】
セグメンテーション後のパンタ・正面
※全身が多数の色に分割されている画像。
モデルを回転させると、背面についても分割されていた。
ここでは、正面画像からAIが推測して作ったリュックや尻尾も独立した形状として確認できた。
特に興味深かったのは、元画像には存在していなかった尻尾まで、AIが「パンダのキャラクターならこの部分に尻尾がある」と推測したと考えられる形で生成していたことである。
【画像挿入④】
セグメンテーション後の背面
※リュックとAIが生成した尻尾が確認できる画像。
3.セグメントは実際に選択できる
セグメンテーションされた各部分は、画面上で個別に選択することができた。
例えば鼻を選択すると、その部分だけが選択状態となり、移動用のXYZ軸も表示された。
さらに胴体部分を選択すると、胴体だけが一つのセグメントとして認識されていることも確認できた。
これによって、AIが生成した一体型の3Dモデルを、後工程で扱いやすい複数の領域へ自動的に分類できる可能性が確認できた。
【画像挿入⑤】
鼻を選択した状態
※鼻の輪郭とXYZ軸が表示されているスクリーンショット。
【画像挿入⑥】
胴体を選択した状態
※白い胴体部分が選択されていることが分かる画像。
4.リトポロジーを試す
次に、ゲーム用モデル制作で重要となるリトポロジーを試した。
リトポロジーとは、高密度な3Dモデルの形状をできるだけ維持しながら、より少ないポリゴンで構成された新しいメッシュへ作り直す工程である。
今回は、
クアッド
ポリゴンカウント 10,000
を設定して処理を実行した。
しかし、最初の処理では途中でエラーが発生した。
画面には一瞬、
「タスク中にエラーが発生しました」
という表示が現れ、処理は完了しなかった。
【画像挿入⑦】
リトポロジー設定画面
※クアッド、ポリゴンカウント10,000が確認できる画面。
5.セグメントを利用した部分リトポロジー
そこで、セグメンテーションで分割された部分を利用して、モデル全体ではなく一部分だけを対象にリトポロジーを行えるか試した。
胴体を選択した状態で再びリトポロジーを実行したところ、今度は処理が完了した。
処理後の数値は、
面 1,502,084
頂点 763,144
となった。
モデル全体が10,000ポリゴンになったわけではない。
選択した部分だけがリトポロジーされ、それ以外の高密度部分は残っているためである。
この結果から、
Tripo Studioでは、セグメント単位で部分的にリトポロジーを行える
ことが実際に確認できた。
【画像挿入⑧】
部分リトポロジー完了後の画面
※面1,502,084、頂点763,144が表示されているスクリーンショット。
6.部分リトポロジーによって隙間が発生した
ところが、モデルを拡大して確認すると問題が見つかった。
リトポロジーした部分と、元の高密度メッシュの境界付近に、細い隙間が発生しているように見えた。
特にリュック周辺や脚との境界を拡大すると、パーツ同士が完全には連続していない部分が確認できた。
これはゲーム用キャラクターとして使用する場合には問題になる可能性がある。
つまり、
部分単位でポリゴン数を減らすことは可能だが、元の高密度部分との接続状態には注意が必要である。
【画像挿入⑨】
リュック付近に発生した隙間
※リュックと胴体付近を大きく拡大したスクリーンショット。
【画像挿入⑩】
脚と胴体の境界部分
※部分リトポロジー後の境界状態が分かる拡大画像。
7.リトポロジー処理はUndoできなかった
さらに重要なことが分かった。
部分リトポロジー後、元の状態へ戻そうとUndoボタンを確認したが、カーソルを合わせると操作不可を示すマークが表示された。
そこで、モデルを保存せずにTripo Studioを閉じ、再起動して資産からパンタを開き直した。
しかし、モデルは元の約190万面には戻らなかった。
再起動後も、
面 1,502,084
頂点 763,144
の状態が維持されていた。
【画像挿入⑪】
Tripo Studio再起動後に資産からパンタを開いた画面
※面1,502,084、頂点763,144が表示されている画像。
この実験から、少なくとも今回の操作では、
リトポロジー処理が完了した時点で、その結果がモデル資産へ反映される
ことが確認できた。
通常の3Dソフトの編集操作のように、「問題があればUndoで元へ戻す」という感覚で扱うことはできなかった。
これは今後Tripo Studioを使用する上で非常に重要な注意点になる。
8.正面画像1枚からの3D生成には限界がある
ここまでの実験を通して、最初の問題へ戻ることになった。
今回生成したパンタは、正面から見ると非常に完成度が高い。
しかし背面は、AIによる推測である。
公式設定とは異なるリュックが生成され、正面画像には存在しない尻尾も作られた。
さらに、ゲーム用モデルへ変換するためのリトポロジー工程でも、新しい問題が発生した。
そこで、同じ正面画像からモデルをもう一度作り直すのではなく、制作方法そのものを一段進めることにした。
9.公式4面図から3Dモデルを作る
「おむすび山のなかまたち」では、すでにパンタの公式4面図を制作している。
そこには、
正面
右側面
背面
左側面
のデザインが存在する。
正面画像だけではAIが推測するしかなかった情報を、今度はこちらから与えることができる。
そこで次の実験では、パンタの公式4面図を4枚の独立した画像として用意し、Tripo Studioのマルチビュー生成機能へ入力する。
【画像挿入⑫】
パンタ公式4面図
※正面・右側面・背面・左側面が確認できる公式設定資料。
10.有料プランへ移行
マルチビュー生成機能を確認したところ、無料プランでは利用できない機能であることが分かった。
今回の研究は、単に無料でどこまでできるかを試すことが目的ではない。
AIを利用して、実際にゲームで使用できる3Dキャラクター制作工程を構築することが目的である。
そこで、Tripo Studioの有料プランを1か月契約することにした。
契約後、利用可能なクレジットは、
3,135クレジット
となった。
これによってマルチビュー生成を含む、より本格的な3D制作工程を検証できる環境が整った。
【画像挿入⑬】
有料プラン契約後のTripo Studio画面
※上部に3,135クレジットが表示され、複数画像入力が選択されている画面。
11.今回の実験で分かったこと
今回の実験では、2D画像から生成された高精細3Dモデルを、そのままゲーム用モデルとして使用するのではなく、後工程でどのような処理が必要になるのかを実際に確認した。
セグメンテーションによって、AI生成モデルを複数の部位として認識・選択できた。
一方、リトポロジーではエラーが発生し、部分リトポロジーでは処理そのものは成功したものの、境界部分に隙間が生じた。
さらに、処理後の状態をUndoで元へ戻すこともできなかった。
AIによる3Dモデル生成は、ボタンを一度押して完成する工程ではない。
生成されたモデルを確認し、問題を発見し、その結果に応じて次の制作方法を選択する必要がある。
これは従来の3D制作とは異なる部分を持ちながらも、「制作」という行為そのものとしては非常に重要な点である。
おわりに
正面画像1枚から作られたパンタは、予想以上に高品質な3Dモデルになった。
同時に、見えていない部分をAIがどのように補完するのかという問題も明確になった。
その問題を修正するために人間が後から背面を作り直す方法もある。
しかし今回は、別の方法を選択する。
最初からAIへ正面・側面・背面の情報を与える。
次回は、パンタの公式4面図を使用する。
正面1枚から生成した今回のモデルと、公式4面図から生成する次のモデル。
この二つを比較することで、
AIによる3Dキャラクター制作において、公式4面図はどこまで有効なのか。
そして、
2Dで確立したキャラクターデザインを、どこまで正確に3Dへ受け渡すことができるのか。
を検証する。
次の実験から、パンタの3Dモデル制作は「AIがどこまで作れるか」という実験から、
ゲームで実際に使用する3Dキャラクターを、AIと人間がどのような工程で完成させるか
という制作段階へ進む。
