見出し画像

生成AIをフル活用してゲームステージをつくる

GenerativeAIをゲーム開発に活用する方法Tipsのマガジン
ゲーム開発AI Lab. Witchpot
に含まれる記事です。ゲームづくりを前提に書かれています。

画像から3Dモデルを生成するAIが進化してきてますね
こちら↓の動画は家の3Dモデルを生成したものですが現状精度はいまいちです

このように精度がいまいちなモデルを使っても画像生成AIと組み合わせることで綺麗なゲームステージを作るワークフローを構築したので紹介します!

ワークフローは下記目次のようになります


画像生成AI(Midjourney)で要素オブジェクトの画像を作成

今回はMidjourneyを使って上のような画像をそれぞれ生成しました。
※余計なオブジェクトが生成されないように必用な部分を残してトリミングしています。

この画像を使って3Dモデル生成を行います。

3D生成AI CSM で2D to 3D

今回はCSMという3D生成AIを使用します。
他にもOne-2-3-45だったりが試せます。(比較記事も作成中です)

下記WebページまたはDiscordより無料で試すことが出来ます。
※2023年8月現在負荷が高く生成に数時間程度かかります

CSMにMidjourneyで作った画像をアップロードしてGet3Dボタンを押すと数時間で3Dモデルがダウンロードできるようになります

生成された3DモデルはGLB形式でダウンロード可能ですがUnityではGLBはそのまま使えないのでBlenderにインポートしてFBXでエクスポートします

Unity上で生成した3Dモデルを配置

生成した3DモデルFBXとカメラを配置してステージを作ります

CSMで作った家、柵、木の3DモデルをUnityにインポート、シーン上で配置してカメラ位置を設定します

Unity上で3DモデルからNormal2Imgで画像生成

stable-diffusion-for-unity ではUnity上でDepth情報やNormal情報を取得して、その情報を元に3D形状にあった画像生成を行うことが出来ます(GPUが載ったPCが必用です)

今回は主にNormal2Imgで画像生成を行いました。
絵柄として色々なLoRAを適用して試してみました

自作のLoRAを適用
LoRA JZCG001-Realistic natural scenery
LoRA JZCG001-Realistic natural scenery
LoRA Pixel Survivors Character

LoRAの自作と適用方法は以前書いたのでこちらを見てみて下さい
今回の自作LoRAの学習にはMidjourneyで作った画像50枚(GooglePhoto)で行っています。

Unity上でプロジェクション(投影)

生成した画像をはあくまで2Dの画像なので平面です。
これをプロジェクションマッピングのように3Dに貼り付けることで遮蔽や影など3Dモデルの要素を活用することが出来ます

このProjection機能をstable-diffusion-for-unityに追加しました。使い方はこちら↓

このように3Dモデルが大まかに形状できていれば画像生成AIで見た目をカバーして衝突判定や遮蔽は3Dモデルで行うといういいとこどりのゲームステージが作成できます

その他の詳細と課題

CSMの3Dモデルについて

現状だと上記動画のように生成された3Dモデルはまだそのまま使えるレベルではありません
デモ動画の中でもよくよく見ると影が破綻している部分があったりします。

おかしな位置で人の影がかかっている

頂点数は2万~4万くらいのモデルが生成されるようで、きれいにしたければリトポロジーやスカルプトによる修正などフォトグラメトリのデータを利用するようなイメージで処理を行う必要もあるかもしれません。

ただ3D生成はどんどん進化している分野なのでこれからどんどん改善していくでしょう。

個人的には精度が気にならなくなるレベルになるまでにはまだ時間がかかると予想していますが、画像生成AIと組み合わせることで十分に使用していけるようになると考えています。


筆者が代表の株式会社Witchpotではゲーム開発に生成AIを導入するシステム・サービスを開発提供しています。

ここで紹介したような画像生成AIや3D生成だけにとどまらず生成AIxゲーム開発を幅広く検証・開発を進めています

ゲーム開発会社さんやゲームデベロッパーの方、とりあえず話だけ聞いてみたいでも結構ですのでお気軽にご連絡ください

Twitter: @nakashun_t 
email: nakajima.shuntaro@witchpot.com


コミュニティ紹介

Witchpotが出すサービスを中心にゲーム開発に生成AIを活かす方法を共有するDiscordコミュニティを作っています!

興味がある方はぜひご参加ください!

まだ作ったばかりのコミュニティでアクティブにしていきたいと思っていますので是非気軽にコミュニケーションとって頂ければです!


サポートは開発・勉強用に使用させていただきます。