ワールドに生成AI3Dモデルをインポート
Roblox StudioやUEFN(Unreal Editor for Fortnite)などで制作するワールドに、生成AI3Dモデルをインポートする方法を解説します。
3Dモデル生成AIは、TripoSRを使用しました。
使用したツールは、以下の通りです。
- 3Dモデル生成AI:TripoSR
- 3Dモデル作成ツール:Blender
- ワールド作成ツール:Roblox Studio
追記:2024/06/21
Tripo AIを使うと、TripoSRより簡単に精度よくインポートできます。
詳細は以下の記事をご参照ください。
追記:2024/06/02
TripoSRを手動で動かすと、ベイクオプションが使えるようです。
詳細は本記事の最後を参照してください。
※ベイク(bake):頂点カラーをテクスチャに焼き付ける(ベイク)こと
TripoSR
TripoSRで画像から3Dモデルを作成します。
なお、TripoSRの使い方は下記のサイトで詳しく解説されています。
3Dモデルを作成したら、画面右上にあるダウンロードボタンをクリックします。
- ダウンロード:robot.obj
Blender
ベイク
TripoSRで作成した3Dモデル(robot.obj)は、頂点カラーなのでそのままではRoblox Studioに持っていけません。
そのため、頂点カラーをテクスチャに焼き付け(ベイク)ます。
- ベイク:頂点カラー → テクスチャ
ベイクの具体的な方法は、下記サイトで詳しく解説されています。
ベイクしたテクスチャーを、保存します。
- UV Editing – 画像 – 名前をつけて保存 → robot-1.png
デシメート
TripoSRで作成した3Dモデル(robot.obj)は、ポリゴン数が多いのでそのままではRoblox Studioに持っていけません。
そのため、デシメートを使ってポリゴンを削減します。
デシメートの使い方は、下記サイトで詳しく解説されています。
3Dモデルによって適宜パラメータを調整します。
- 比率:0.035 ← 適宜調整
- 面数:9,661 ← 10,000以下にする
エキスポート
制作した3Dモデルをエキスポートします。
- 「ファイル」-「エキスポート」-「Wavefront (.obj)」
- robot-1.obj, robot-1.mtl
同時に出力される .mtlファイルを修正します。
- robot-1.mtl ← robot-1.pngへのリンクを書き足す
㊟png画像でなくjpg画像にするとRoblox Studioで読み込まれない
.mtlファイルの具体的な修正方法は、下記の別記事をご参照ください。
Roblox Studio
Roblox Studioを起動したら、「新規」から適当なワールドを選択します。
- 「新規」→「Flat Terrain」
下図の赤枠で示した「3Dをインポート」をクリックして、3Dモデルをインポートします。
- 「3Dをインポート」をクリック → robot-1.obj
そうすると自動的にrobot-1.mtlとrobot-1.pngが読み込まれます。
㊟png画像でなくjpg画像だと読み込まれない
後は適宜、移動・拡大/縮小・回転させて適正な位置に設置します。
Manual Inference
Gitを使えば、ローカルPCやGoolge Colabなどに、TripoSRのソースをダウンロードできます。
- https://github.com/VAST-AI-Research/TripoSR/
そして、TripoSRを手動で動かすときに、ベイクオプションを選べるようです。
- –bake-texture:頂点カラーではなくテクスチャを出力するか否か
- –texture-resolution:テクスチャ解像度
- README.md:https://github.com/VAST-AI-Research/TripoSR/blob/main/README.md
参考
- AIツールを使用して3Dモデルを生成する方法
- 【blender】 ポリゴン数を減らそう! 【ポリゴン削減】
- Depth画像に元画像をマッピングする方法
- VAST-AI-Research / TripoSR