
【AIでRPG開発】2DRPGは大変だから、いっそ3Dダンジョンにしようかと迷走中(第8話)
2DRPGは、それはそれで作るのが大変なんですよね。マップパターンの画像を生成したり、ポチポチ並べたり。あと、腕を振るアニメーションがうまく生成するのが難しかったり。
そこでもういっそ3DダンジョンRPGにしようかなとも迷走したり笑。いやー、3Dダンジョン好きなんですよね。古くはPCエンジンの『ドラゴンナイトII』とかから。
まずはテクスチャから作ろう
とりあえず、Codexならサクッと実装出来るので、まずは作って試してみようと思いました。
そんなわけで、まずは壁とか床のテクスチャをChatGPTで生成します。
3DダンジョンRPGで使用するテクスチャ画像を生成してください。正方形、遠近感なし、均一な照明、落ち影無し、ハイライト無し、上下左右につながって繰り返す、という条件を満たしてください。
作る画像は、上下方向に6段ぐらいある茶色のブロックです。
こんな感じの指示です。結果、

こんなのが生成されました。ちょっと上下のつながりがおかしかったりしたので、Photoshopでカットしたりリサイズしました。
物理ベースレンダリング用のテクスチャ生成
この画像を元に、オープンソースで無料のMaterializeというツールを使って、物理ベースレンダリング(PBR)用のテクスチャを生成します。
PBR用テクスチャというのは、Diffuse(Albedo),Height,Normal,Metallig,Smoothness(Roughness)などを差します。
そして、Materialize上で見た目を調整しながら各テクスチャを生成して出力します。

あと、床のテクスチャも作りました。

チャッピー、これ作って
そして、3Dダンジョンのレンダリング処理や、テスト用の迷路生成プログラムなどを作ってもらいました。

PBRではあるのですが、環境マップを入れていなかったり調整不足なので、見た目はちょっとチープですが、とりあえずOKとしました。

立ち絵とメッセージ表示したらこんな感じです。
しかし、厚さ0の壁をPBRで表示すると、

なんかシュールなんですよね笑。壁と床あたりにアンビエントオクルージョンが入ればまた見た目が変わるかもしれませんが、さらにシュールさがアップする可能性もあったり。
レトロ感を出すには
うーん、PBRにせず、逆にレトロなドット感のある3Dダンジョン描画を実現した方がいいのかも。
とはいえ、レンダリングしたものを縮小してニアレストで拡大しても、

こんな見た目になるのです。いまひとつって感じです。
StableDiffusionでドット絵っぽく見せるLoRAを使ってImg2Imgで変換してみると、



こういう画像が生成出来るのですが、これに近い雰囲気をリアルタイムにレンダリングする方法はちょっと研究してみたいところです。