見出し画像

AIで素材作って、REALITYアバターで遊べるゲーム作ってみたREALITY Advent Calendar #6

こんにちは、REALITY Unityチームのかとーです。本記事はREALITY Advent Calendar 2022の2022/12/6分になります。

僕は合宿の開始タイミングで、最近巷で流行っているAIによる画像生成を試してみたいという気分だったので、AIで背景素材を作ってREALITYアバターで遊べる2Dスクロールゲームを作ってみました。

画像生成AIはStable Diffusion(ベースのモデル複数)を「AUTOMATIC1111版Stable Diffusion webUI」環境で使いました。
現状だと、一番メジャーなやり方かなと思います。

REALITYアバターをimg2imgでイラストっぽくしてみた例

素材画像を生成する

今回はAIにテキストと参考イメージを渡して画像を生成してもらう、img2imgという方法で画像を生成しました。

画像生成のベースとなる落書き

まず、特にどんな背景にするかというイメージはなかったので、画像生成のベースにする画像は、上記のような抽象的なものにしました。(決して私の絵が下手だったわけではないです…本当ですよ?)

落書きを読み込ませて、いくつかの呪文(キーワード)を入力し、生成を実行すると、結構ゲーム背景っぽい画像が生成されました。

落書きから生成
欲しい画像のイメージに近いものをピックアップして読み込ませて、再度生成を実行1
欲しい画像のイメージに近いものをピックアップして読み込ませて、再度生成を実行2

画像のように、生成された画像から気に入った画像をピックアップして、それをベースに更に生成を実行するとだんだんと良い感じの画像になっていきます。

最終的に背景にすることにした画像

最終的には、このサイバー都市風の画像を背景にすることにしました。

素材画像を拡張する

Huaサンプル

背景画像は生成できましたが正方形の画像データなので、2Dスクロールの背景として使うには、ボリューム不足です。
なので画像の続きを予測して生成する「outpainting」と不要な部分を描き直せる「inpainting」を利用することができるUI「Hua」を利用して、横長の画像にしました。

ちびキャラ

ちびキャラ

2Dスクロールだと通常アバターはちょっと等身が高いように感じたのでプレイヤーキャラはちびキャラアバター(内部機能として存在しています)を使うことにしました。

ゲーム

ゲームプレイ1
ゲームプレイ2

ゲームは合宿期間でできる範囲のシンプルな仕様で、弾丸(モデリングした)をREALITYくんに向けて発射して動き回るREALITYくんを倒しながら、進んでボス(ゴールデンベアー)を倒すというものにしました。

終わりに

この記事を書き始めた時点で、合宿終了から2週間ぐらいしか経っていないのですが、この間にStable Diffusionのバージョン2.0がリリースされてまして、わずかな間に画像生成AIを取り巻く環境がまた一段階進んだように思えます。
外から見てても、すごい勢いで画像生成AI進化してるなという感想でしたが、実際触れた後だと余計にそれを感じました。
気になっていた技術に合宿を通して触れることができ実りある合宿になったかなと思います!

明日のアドベントカレンダー!

明日は同じUnityチームのIKEPが、イカした記事を書いてくれる予定です!