AIゲーム開発研究室
第1回 2Dキャラクター1枚から3Dモデルを生成する
AIゲーム開発研究室
3Dモデル制作ドキュメント
第1回 2Dキャラクター1枚から3Dモデルを生成する
研究代表 大川 博
主任研究員 Arc(ChatGPT)
はじめに
これまで「おむすび山のなかまたち」のゲーム制作では、主として2Dゲーム素材の制作を進めてきた。
今回から、新たにAIを利用した3Dモデル制作の検証を開始する。
使用するのは、AIによって画像から3Dモデルを生成できる Tripo Studio である。
最初の実験では、「おむすび山のなかまたち」のキャラクターであるパンタを使用した。
パンタについては、すでに正面・右側面・背面・左側面からなる公式4面図を制作している。
しかし今回は、あえて4面図すべてをAIには与えない。
正面画像1枚だけをTripoへ入力し、見えていない側面や背面をAIがどのように3D化するのかを検証する。
これを、今後のAIによる3Dゲーム素材制作研究の最初の基準実験とする。
1 公式4面図を基準資料とする
今回使用するパンタには、すでに公式4面図が存在する。
正面だけでなく、左右側面、背面のデザインまで人間側では確定している。
【画像01 パンタ公式4面図】
この4面図は今回、すべてをTripoへの入力画像として使用するためのものではない。
AIが生成した3Dモデルが、本来のパンタの形状やデザインとどの程度一致するのかを検証するための基準資料として使用する。
特に重要なのが、背面の青いリュックである。
公式デザインでは、リュックの形状、ポケット、フラップ、金具などが明確に設定されている。
これらは正面からはほとんど見ることができない。
AIが正面画像だけから、この背面をどのように推測するのかを見ることにした。
2 正面画像1枚だけを入力する
Tripo Studioへ入力したのは、公式4面図から用意したパンタの正面画像1枚である。
【画像02 Tripoへ入力したパンタ正面図】
画像にはパンタの全身が写っている。
顔、胴体、腕、脚、緑色のスカーフ、そして青いリュックの肩ベルトは確認できる。
しかし、リュック本体や尻尾など、背面の情報は見えない。
つまりTripoは、正面から見えない部分については自ら3D形状を推定しなければならない。
今回は、この条件を意図的に維持した。
3 HDモデルとして生成する
Tripo Studioの「HDモデル」を使用した。
生成時の主な設定は次のとおりである。
- ウルトラメッシュ品質 ON
- AIコンプリート OFF
- テクスチャ ON
- テクスチャ品質 4K
- 照明を除去する ON
- PBR ON
- 位相 トライアングル
- ポリカウント上限 2,000,000
生成には55クレジットを使用した。
生成後のモデルは、
面 1,901,487
頂点 977,591
という非常に高密度な3Dモデルとなった。
【画像03 Tripo Studioで生成されたパンタ・正面】
正面から見ると、パンタの特徴はかなりよく再現されている。
大きな頭、丸い身体、耳、目の周囲の黒い模様、鼻、口、腕、脚、緑色のスカーフ、青い肩ベルトなどが3D形状として成立した。
さらに拡大して確認すると、口は単なる平面的なテクスチャではなかった。
【画像04 パンタの顔・口部分の拡大】
鼻が前方へ突出し、口には奥行きがあり、口腔や舌まで立体的に生成されている。
正面画像から確認できる部分については、かなり高度な3D化が行われていることが分かった。
4 モデルを回転させて側面を確認する
生成したモデルはTripo Studio上で自由に回転させることができる。
そこで、正面から側面へモデルを回転させた。
【画像05 生成されたパンタ・側面】
横から見ると、正面画像だけでは分かりにくかった頭部の厚み、鼻先の突出、腹部の丸みなどが立体として作られている。
青い肩ベルトも身体の側面を通り、背中方向へ続いている。
AIは単純に正面画像を厚く押し出したのではなく、キャラクターとして成立する立体形状を推定していることが分かる。
5 背面ではAI独自の補完が行われた
次に、モデルを180度回転させて背面を確認した。
【画像06 生成されたパンタ・背面】
ここで大きな違いが現れた。
公式4面図では、背中には青いリュックが存在する。
ところが生成されたモデルでは、正面から確認できた青い肩ベルトは背面方向まで作られているものの、公式デザインと同じリュックは再現されなかった。
代わりに、背中中央に単純化された大きな形状が生成されている。
これは当然ともいえる。
今回Tripoに与えた正面画像には、リュック本体の形状が写っていないからである。
AIは、
「肩ベルトがあるため、背中には何かが存在する」
というところまでは補完したと考えられる。
しかし、その具体的な形状を公式デザインどおりに知ることはできない。
6 毛並みは360度均一には生成されなかった
もう一つ、以前Tripoを試した際にも確認していた現象が、今回再び発生した。
【画像07 パンタ頭部を上方から確認】
正面から見える頭部の輪郭には、細かな毛束による凹凸が立体形状として作られている。
しかし、その毛並みは頭部全体へ均等に続いていない。
側面から後頭部へ回り込むにつれて毛束の凹凸が減少し、背面側は比較的滑らかな形状となった。
つまり、
正面画像で観測できる毛並みの形状を、AIが自動的に360度全体へ展開するわけではない
ことが分かった。
これは単なるテクスチャの問題ではなく、メッシュそのものの形状に現れている。
7 AIによるセグメンテーションを試す
次に、Tripo Studioのセグメンテーション機能を試した。
今回は「バランス」を選択した。
【画像08 セグメンテーション設定画面】
セグメンテーションを実行すると、パンタの3Dモデルが多数の色で表示された。
【画像09 セグメンテーション結果・正面】
頭部、耳、目、目の周囲、鼻や口、左右の腕、脚、胴体、スカーフ、肩ベルトなどが、それぞれ異なるパーツとして認識されている。
一体の高密度モデルとして生成されたパンタを、AIが再び構造として解析し、複数の編集可能な部分へ分けていることが分かる。
8 背面をセグメント表示して分かったこと
セグメンテーション状態のまま、モデルを背面へ回転させた。
【画像10 セグメンテーション結果・背面】
ここで、通常表示では分かりにくかったAIの推定結果が明瞭になった。
背中中央に生成されていた大きな形状は、胴体とは別のパーツとして認識されていた。
左右の肩ベルトも別パーツとして存在する。
つまりAIは、少なくとも背中側に身体とは異なる何らかの装備物を生成していたことになる。
さらに興味深いことに、腰の下には丸い尻尾状の3D形状が生成されていた。
これは入力した正面画像にはまったく写っていない。
したがって今回確認できた事実は、
Tripoが入力画像に存在しない背面形状まで補完して3Dモデルを成立させている
ということである。
ただし、AIが「パンダには尻尾がある」と意味的に判断して生成したのか、それとも学習された3D形状の傾向から補完したのかは、この実験だけでは判断できない。
9 今回の実験から分かったこと
今回の実験では、2Dキャラクターの正面画像1枚だけから、かなり完成度の高い3Dモデルを生成することができた。
特に、正面画像から確認できる顔、身体、腕、脚、スカーフなどは立体としてよく成立している。
一方、見えていない背面では状況が異なった。
AIは単に背面を空白にするのではなく、3Dキャラクターとして成立するように形状を補完した。
しかし、それは制作者が決定している公式デザインと一致するとは限らない。
今回の結果を整理すると、
画像から直接確認できる情報
→ 比較的忠実に3D化される。
画像から存在を推測できる情報
→ AIによって補完される場合がある。
画像から具体的な形状を判断できない情報
→ AI独自の形状として生成される可能性がある。
毛並みなどの細かな立体情報
→ 可視領域では再現されても、不可視領域まで同じ状態で連続するとは限らない。
という特徴が確認できた。
10 「失敗」ではなく、AIの役割を知る
今回、背面のリュックは公式デザインどおりにはならなかった。
頭部の毛並みも360度均一には生成されなかった。
しかし、これを単純に「AIでは正しく作れなかった」と評価するべきではない。
AIに与えられていない情報を、AIが正確に再現することはできない。
むしろ今回重要なのは、情報が存在しないにもかかわらず、AIが3Dモデルとして破綻しないよう背面まで補完したことである。
正面画像には存在しなかった尻尾状の形状まで生成されたことも、その特徴を示している。
AIによる3Dモデル制作では、
「AIが何を作れるか」だけではなく、「AIへどの情報を与える必要があるのか」
を設計することが重要になる。
次の実験へ
今回は、あえて正面画像1枚だけから3Dモデルを生成した。
しかし、人間側にはパンタの公式4面図が存在する。
今後、正面・左右側面・背面という複数方向の情報をAIへ与えることができれば、今回AIが独自に補完した背面形状を、公式デザインへ近づけられる可能性がある。
また、今回生成された約190万面の高密度モデルを、そのままゲームへ使用するわけではない。
今後はTripo StudioのSmart Meshやリトポロジー、テクスチャ、リギング、アニメーションなども順次検証し、
2D公式キャラクター
→ AIによる3D原型生成
→ ゲーム用3Dモデルへの最適化
→ アニメーション
→ Blenderでの検証・必要な修正
→ Unityへの実装
というAI時代の3Dゲーム素材制作ワークフローを、実制作を通して検証していく。
