この記事で伝えること
タイトルの通りAIで生成した3DモデルをUnityに読み込んで使える状態にするまでのTipsをまとめて整理していきます。
ちなみにこれがQiita初投稿になります。今後AI関連の記事をメインに投稿していくつもりです。
きっかけ
そのぐらい簡単にできるでしょ?と思っていました。
しかしやってみたら最新Unityバージョン(6系)のオブジェクトのインポート方法をぐぐっても情報が少ない。
そして3Dの生成AIサービスで制約がそこまでなく(無料で試した時に公開されないなど)利用できるのが実質LumaAIしかなかったということもあり、最新の Unityを使いつつLumaAIで生成したモデルをインポートする方向性で奮闘してみました。
LumaAIで3Dモデルの生成
LumaAIを開き、ログインはごく普通の認証なので何とかします。
このような画面が出たら、プロンプトを入力してCreateボタンを押すだけです。
ここではかっこいいナナハンの赤いバイクを台座付き(これがないと倒れてしまう)で召喚してと頼んでいます。
プロンプトを入力後、いったん叩きレベルでの生成完了
最も気に入った1つを選択し、お好みでMake Hi-Resを実行するとブラッシュアップされたモデルに仕上がります。
いったん素直にダウンロードボタンを押します。glbファイルがダウンロードできたら成功です。
UnityにUniGltfをアドオンし、Gltf形式の取り込みを行えるようにする
まずはUniversal 3Dでサンプルプロジェクトを立ち上げます。Unityバージョンは6000.0.37f1です。
↓のリンクからUniGLTFをダウンロードします。
https://github.com/ousttrue/UniGLTF/releases/download/v1.27/UniGLTF-1.27.unitypackage
メニューのアセットからダウンロードしたパッケージを選択し、
インポートを押せばOK
glbファイルの取り込み
Assetsフォルダにmodelフォルダを追加し、ダウンロードしたglbファイルをドラッグします。
なんか増えます。
三つできたフォルダのうち、Materialsの中のMaterial_0のインスペクターを表示し、ShaderをUnibersal Render PipelineのLitに変更します。
次にTexturesフォルダにあるImage_0をベースマップの左にある◻︎へドラッグする。
modelフォルダに戻るとピンク色だったモデルにマテリアルがマッピングされているので、ワールド上へドラッグする。
無事召喚
おまけ
オブジェクトに物理エンジンも適用していく場合もう一手間かかります。
modelをダブルクリックしてインスペクタを表示、RigibodyとMesh Colliderをコンポーネントに追加
MeshesフォルダにあるメッシュファイルをMesh Colliderのメッシュへドラッグします。
また、凸状にするチェックをONにします。
なぜかポリゴンのスケールが大きくなっているので1にします。
設定完了したので床を追加して高度を少し上げて上から落としてみます。
着地成功
逆さまに落としてみる
コテン
おわり