ゲームを作るうえで世界観やゲームにおけるイメージを考えておくことは重要です。
行き当たりばったりな開発をやっていると作り始めたときにイメージしていたものが、途中で崩壊していきます。途中からイメージがどんどん変わっていきここはやっぱりこうしたいとか、こういうテイストにしていきたいなどと変えてしまう。
結局、何がやりたかったのかわかんなくなってしまいそうなので、画像生成AIの勉強をしてキャラクターや世界観、モンスターなどアイデアのベースとなるものを作成していきたいと思います。
今回はStable Diffusionを使っていきたいと思います。
Stable Diffusion
もし自分のローカルパソコンでやる場合の推奨スペックが以下です。
推奨スペック
https://dosparaplus.com/library/details/001456.html
使用するPC デスクトップ型 OS Windows(64bit) CPU 最新モデルのCore i5~Core i7、Ryzen 5~7 GPU GeForuce RTX 30シリーズやRTX 40シリーズのVRAMが12GB以上 メモリ 16GB~32GB ストレージ 512GB以上
もしこれらのスペックがないという場合でも、Google ColabやCIVITAIなどのサービスで画像生成できるので調べてみてください。
Stable Diffusionをインストール
私が書くより綺麗に説明しているページがいくつもあったので、それを参考に構築します。
ここまAIの勉強をするうえで、見つけた情報をまとめるページにしたいと思います。
参考にしたサイトは以下です。

拡張機能の「Prompt All in One」が便利だったのでそれも入れます。

モデル(CheckPoint)について
モデルについては以下のサイトからダウンロードできます。
モデルを利用する際は、ダウンロードページにモデルの説明が書かれているので読んでおいたほうがよいです。なぜかというとそのモデルのプロンプトの作成や設定をするためのヒントが書かれていることがよくあります。
その他にはモデルを使用する上で確認しておく必要があるのがBase Modelとライセンスかと思います。
画像生成モデルにはいくつか種類があります。あくまで私の所感ですが、以下表形式に特徴をまとめてみました。
| モデル名 | 特徴 |
|---|---|
| SD1.5 | 動作が軽量で、種類がたくさんあります。精度は並でこのモデルで作成した画像は綺麗なんですが、AIで作ったなっていうのがわかります。 ゲームで使うとしたら背景やアイテムのアイコンあとはリアルではないデフォルメしたキャラクターなどはいいかなと思いました。 |
| SDXL | SD1.5に比べて少し重たいですが、綺麗な絵が描けます。うまくPromptを書けば生成されたものか判断に迷うくらい綺麗なものも出力できます。 ただ個人的に、指が6本以上になってしまうことが多かったです。 |
| Pony | SDXL系列のモデルですが、特定のイメージに特化して作ってあるというイメージです。SDXLのように幅広くというよりは、狭くそのモデルのジャンルの画像を生成するのに長けているイメージです。 手は比較的きれいに出力されていた印象です。 |
| illustrious | アニメとかの画像生成に優れているイメージです。特に版権ものに強いイメージ。 好きなキャラクターを結構思った通りに作れる。 アニメ調な画像を生成する場合はとてもよい。好きなアニメの感じでキャラクターを作りたい場合にオススメです。 |
他にもありますが、使いやすいベースモデルを紹介しました。
モデルにはライセンスがあります。ライセンスには商用利用できないものもあるので、確認する必要があります。ライセンスに関しては私は、あまり詳しくないので詳しく説明してくれいているサイト様を紹介します。
CreativeML Open RAIL-M(商用利用可能)

CreativeML Open RAIL++-M(商用利用可能)
CreativeML Open RAIL-Mからアップデートの努力義務の要項が削除されたものらしい。
Illustrious License(商用利用可能)

Addendumがついているライセンス
とりあえず簡単に調べた感じでは上記のライセンスしかみつかりませんでした。
ただ上記のライセンスにAddendumがついているもの(CreativeML Open RAIL++-M Addendumなど)は、通常のライセンスの説明に補足がついています。もしかしたら補足の内容に想定外なことが書かれているかもしれません。確認しましょう。
Lora
LoRAとは”Low-Rank Adaptation”の略で,すでに学習済みのモデル(Checkpoint)に対して、特定の学習データを組み合わせることでより望む形で出力されることができます。
Loraによって追加学習させることなく望む形の画像を出力することができます。
LoraもCIVITAIでダウンロードすることができます。
ここで確認すべきなのは、Base Model、Usage Tips、Trigger Wordsです。まあだいたいLoraの説明に使い方書いてあります。
Base Modelは、Loraがどの学習済みモデル(Checkpoint)をベースとして作られているかです。SD1.5のLoraをPonyで使ってみたりしましたが、いまいちうまく効果がでませんでした。
学習済みモデル(Checkpoint)とLoraのBase Modelは合わせるほうがいい結果になりやすいです。
Usage Tipsは、設定内容のヒントですね。これに準拠する必要はありませんが、作者がこの設定がよかったよっていうまあ一種の目安です。
Trigger Wordsは、そのLoraの効果を最大限発揮するためのきっかけになるPromptです。Promptの中にこのTrigger Wordsを混ぜることでよりLoraの内容を画像に反映させることができます。
とりあえず出力
とりあえず以下のpromptを入力して出力してみました。
1boy,armor,sword,shield,
本当であれば、自分の望む情景があればそれを入れれば入れるほど、細かくやってくれるのですが今回は試しにやっているので、とりあえず「男の子一人、鎧と剣と盾」だけで「背景やポーズ、表情、体形、目線、色」など細かいことはAIに任せてどんな画像がでるか試したいと思います。

とても軽かったです。私の環境では1枚3秒くらいで出力されたので10枚くらいだしてその中で一番よかったものを出しています。が軽量はいいのですが、右にあるのが盾かぁ~。ちゃんと用途にあったモデル、プロンプトがうまく合致できればいいものができそうです。普通に出しただけでは、絵がつぶれてしまったのでVAE(Variational Auto Encoder)をセットしました。VAEは、Promptで言葉で表せない表現をやってくれるものだと思っておけばよいかと思います。

すごい画像がでてきました。詳細なところまで書かれていて綺麗です。なんか鎧の模様が左右非対称で変なのは置いておいて、お尻に剣が刺さってるように見える。そうか変態さんか。

盾が浮いているように見えますね。剣もおかしい。

きれいに出たなと思いましたが、右手の指が6本ありますね・・・。
やはり整合性のとれた綺麗な画像を出力するとなると、Promptの勉強をする必要がありますね。
ここに出てきた絵のテイストが必ず出るわけではありません。モデル、Lora、Promptなどのいろんな要素が組み合わさって画像が作られます。
なので同じSD1.5でも同じプロンプトでもモデルがかわると以下の通りまったくちがう雰囲気の絵がでます。

こればっかりはいろいろ試すしかありませんね。


コメント