VRAM 4GBではじめるStable Diffusion - ゲーム素材を作ろう9 絵地図の生成
この草稿は、VRAM 4GB環境下で『Stable Diffusion』を利用して、ローカルでの画像生成をするためのものです。生成する画像はファンタジー系の同人ゲーム/インディーゲームの画像素材です。この草稿は、2023年の2月下旬~3月上旬にかけて執筆されました。
草稿をまとめて大幅増補したものを電子書籍で出しました。VRAMがなくても、Google Colabでも大丈夫なように対応しています。『Kindle Unlimited』ユーザーの方は無料で読めます。是非読んでください。
この草稿では『Stable Diffusion』の簡単な解説をおこない、『AUTOMATIC1111版 Stable Diffusion web UI』の導入や使い方について説明します。また「背景」「キャラクター」「アイテム」「絵地図」「UI部品」といった画像素材の作成方法を説明します。
この草稿は、私が2022~2023年に、同人ゲーム『Little Land War SRPG』を開発した時の知見を中心にまとめたものです。こちらも購入して遊んでいただけると幸いです。
本章の概要
本章では「絵地図の生成」を扱います。
絵地図の部品作りやレイアウト、最終的な出力までの手順を紹介します。
以下、本章の目次です。
絵地図の生成について
絵地図の部品を生成する
絵地図の配置をおこなう
絵地図を生成する
再度img2imgにかける
実際のゲームでの絵地図の作成
絵地図の生成について
ここでは、ファンタジーゲームの絵地図を生成します。山や森、湖などがイラストになった絵地図を生成できると便利です。手書きで描くのは大変だからです。
地図は配置が重要です。ランダムな地図が得られてもあまり使い道がありません。『Stable Diffusion』をそのまま使うと、ランダムな配置の地図になりますので、一工夫が必要です。
まずは、呪文でランダムな絵地図を生成します。数十枚出力して、山や森、湖などの描画部品が使えそうなものを選別します。ここでは配置は無視して構いません。配置は次の工程で指定します。まずはAIが「山」や「森」「湖」だと思っている画像の部品を得ます。
次に、作成した画像の山や森、湖などの部品をコピー&ペーストして、コラージュして絵地図の入力画像を作ります。これが、AIに対しての配置の指示になります。
なぜ、生成された画像を部品にしてコラージュするかを説明します。『Stable Diffusion』によって生成された部品は、『Stable Diffusion』によって山や森や湖として認識されている部品です。この部品を入力に使うことで、『Stable Diffusion』に、ここに山や森や湖を配置するのだと伝えることができます。
こうして作った画像を入力にして「img2img」をおこないます。呪文は同じで構いません。何十枚か出力した中で、最もよくできた画像を選別します。これで絵地図を手に入れることができます。
生成の際には「Negative prompt」でいくつかの単語を指定します。地図には文字やマークが入りやすいためです。それでも出てくるので、その際は不要部分を再生成するか、手作業で修正する必要があります。
本章で作成する地図の最終出力画像です。
絵地図の部品を生成する
まずは、素材としての絵地図の部品を作ります。以下の呪文で生成します。何十枚か生成して、部品素材として使える画像を選別します。
(fantasy rpg map:1.3), (pictorial map:1.4), (whole land:1.3),
(extremely detailed:1.1), (concept art:1.3),
(watercolor:1.3), (ink), (oil painting:1.2), (bold line painting),
realism,
(forest map:1.3),
(big map patts:1.5),
high fantasy,
(masterpiece), (best quality), 4k, 8k,
text, error, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, shadow, flat shading, flat color, grayscale, black&white, monochrome, frame,
以下が、生成した中から選んだ、部品取り用の画像です。山や森などの部品が視認しやすいものを選んでいます。
また、上記の画像だけでは平野部分が足りなかったので、他の画像も素材として利用しています。素材として利用する画像は1枚だけでなく複数枚でも構いません。1枚から全ての部品が得られることは少ないです。
絵地図の配置をおこなう
出力した部品素材を使ってコラージュをおこないます。コラージュは画像編集ソフトを使います。まず、平野部を四角形の画像を敷き詰めて作ります。その上に、楕円形にコピーした山や森、湖を配置していきます。
以下が実際にコラージュした画像です。このレベルの雑な画像で構いません。今回の部品は小さめです。ゲームの種類によっては、もう少し大きな山や森の部品を得てから、コラージュをした方がよいでしょう。
絵地図を生成する
コラージュした画像を入力に使い、「img2img」で絵地図を生成します。呪文は元の呪文と同じでよいです。最初に数枚出力して、「CFG Scale」や「Denoising strength」のバランスを確かめたあと、数十枚生成して、ベストショットを得るとよいです。
ここでは「CFG Scale」を「10」、「Denoising strength」を「0.6」で実行します。また、部品が少し小さめに表示されていたので、「pictorial map」「big map patts」の重み付けを強くします。
(fantasy rpg map:1.3), (pictorial map:1.6), (whole land:1.3),
(extremely detailed:1.1), (concept art:1.3),
(watercolor:1.3), (ink), (oil painting:1.2), (bold line painting),
realism,
(forest map:1.3),
(big map patts:1.7),
high fantasy,
(masterpiece), (best quality), 4k, 8k,
以下が出力された画像です。配置が入力画像に沿っているのが分かります。ただし完全に一致するわけではありません。もっと近付けたい時は『ControlNet』を使うのも手です。
再度img2imgにかける
生成した画像をさらに「img2img」にかけると、それらしい画像が生成されやすいです。ここではその方法で、何種類か新しい画像を生成してみます。
以下、出力された画像です。
Inpaintで修正する
生成した絵地図の画像には、文字の欠片のような黒い点や模様が含まれていることが多いです。こうした部分は、「img2img」の「Inpaint」タブを使うことで除去できます。「Inpaint」では、画像の一部だけを再生成して馴染ませることができます。
「img2img」の「Inpaint」タブで画像を読み込み、修正したいところをペンで塗りつぶします。そして「Mask blur」の値を「10」程度にして、生成時と同じ呪文を入力して「Generate」ボタンを押します。
10枚に1枚ほどの割合で、上手くゴミが除去できた画像が生成できます。
実際に出力した画像です。ある程度ゴミが除去できているのが分かります。まだ気になるようなら、出力された画像を利用して、同じ作業を繰り返すとよいです。
実際のゲームでの絵地図の作成
以下、『Little Land War SRPG』でキャラクターを作った時のことを書きます。
初めはランダムで絵地図を作り、ほぼそのまま利用していました。その頃のものです。
以下は、初期の絵地図を本章の手法でコラージュしたものです。この画像をもとに、大量の画像を生成しました。
得られた絵地図がこちらです。ゲームの進行に合わせた内容になりました。
若干暗かったので画像編集ソフトで色味を変更します。また、ゲームの縦横比ぴったりに合わせるようにします。最終的に使用した画像がこちらです。
こうした画像を素人が描くのは難しいです。『Stable Diffusion』を利用すれば、絵を描くことに慣れていない人でも、ゲーム用の絵地図を作ることができます。
(続く)
全体目次
第1章 環境構築
第2章 基礎知識
第3章 呪文理論
第4章 背景画像の生成
第5章 キャラクター画像の生成
第6章 キャラにポーズを付ける
第7章 キャラを学習させる
第8章 武器や道具の生成
★★★第9章 絵地図の生成★★★【今ここ】
第10章 UI部品のテクスチャの生成
※ 草稿をまとめて大幅増補したものを電子書籍で出しました。VRAMがなくても、Google Colabでも大丈夫なように対応しています。『Kindle Unlimited』ユーザーの方は無料で読めます。是非読んでください。
この記事が気に入ったらサポートをしてみませんか?