【生成AI】AIの絵を使ってRPGツクールでゲーム作る その2 習作完成版&まとめメモ【ツクール】

前回の続き。

4日目&完成

完成しました。

ストーリーの流れはこんな感じ。

1.酒場でクエストを受ける。(立ち絵表示で会話)
2.森へ行く。(立ち絵を表示した状態で移動)
3.森の奥のボスを倒す。(戦闘時、被弾で立ち絵を変える)

動画にするとこんな感じ。(音無し、1.5倍速、自主規制有ダイジェスト版)


前回とはちょっと立ち絵を変えました。やりたいことはできたと思われる。
フルでプレイしても5分程度。試行錯誤含めて作業日数は4日。
もちろん、RPGツクール(特にMV以降)の経験と、生成AIの練度とパソコンの性能で日数は前後する。
生成AI+画像編集技術(透過やサイズの知識、その他色々微調整の細かいテク)があればあるほど早いかも。

で。

作り方の流れと、作っている最中に思った生成AI&ツクールの組み合わせについてを書いてみた。

作り方の流れ

作業は大きく分けて生成AIを使った素材作成作業RPGツクール作業に分かれる。

まずは生成AIを使った素材作成作業について。

前回の記事でも書いたけど、キャラの透過PNGを用意する。
ABG RemoverとRembgがあると便利だけど、なくてもいける。
(インストールは前回の記事参照)
LoRAを使う場合は、LoRAの用意も別途する。

立ち絵に使ったプロンプトはこんな感じ。

ポジティブプロンプト:
(masterpiece:1.4),<lora:lora:1>, 1girl, (trigger_tag),pale blond hair, holding black huge sword with wide blade,
full body, simple back ground, standing, front view, looking at view

ネガティブプロンプト:
(low quality, worst quality:1.4), bad anatomy, malformed hands, water mark, text, logo, bad hands,
crowd, clone, three view drawing, back view, 2girls

各1行目は人によってテンプレがあると思うので置いておいて、重要なのは2行目。
これで立ち絵っぽい感じになる。キャラによってはstandingが手を腰に当てた立ち姿だったり、腕組みだったりすると思われる。

立ち姿勢の種類はこんな感じ。

standing
指定無しの立ち姿。色々出てくるけど、基本は手を横におろした直立不動系。

contrapposto
片足に重心を乗せた立ち方。

crossed arms
腕組み。座ってもできるので、standingと合わせるほうが良いかも。

arm across waist
片腕を腰の前を回して逆側の手にくっつけるポーズ。なんか女性モデルが良くやってるやつ。
これもstandingと組み合わせ推奨。言葉での説明むずいな。

hand on own ~
手をどこどこに置く系。
頭(head)、首(neck)、頬(cheek)、胸(chest)、腕(arm)などなど。
handsにすると両手になる。これもstandingとの合わせ技。

等々を使って、キャラに合う好みの立ち姿で出力する。

解像度は512×1024を1.5倍した上で、500×1000に縮小&切り詰めて使用。
この倍率だとRPGツクールにそのまま使える感じだった。(一部足が隠れたりはする)

ただ、解像度が低くなるとやっぱり画像が目に見えて粗くなるので、生成AIとの相性は悪そう。
高解像度で出力してRPGツクール側で縮小表示したほうが良さそうではあるので、次回はそれで試してみたい。

で、いくつかこのプロンプトで出力し、良さげなのをチョイスしてimg2imgで表情を変更。

前回の画像だけど、こんな感じで表情をInpaintで顔だけ指定して再生成する。
InpaintはCTRL+マウスホイールでブラシサイズ変更、ALT+マウスホイールで画像の拡大・縮小ができる。
とはいえ、どうしても境目がおかしくはなるので、Mask Blurの値(境目を自然に処理する幅の値)をいじりつつ、画像編集ソフトで修正が必要。
いっそ、txt2imgでポーズを微変更しつつ表情変えたほうが良いかもしれない。

画像編集ソフトはGIMPを使用。
フォトショとかある人は私より知識も経験も豊富だと思うので言わずもがな。

笑顔
happy, ^o^

真剣
serious

困り顔
furrowed brow

恥ずかしがる顔
(embarrassed,blush:1.2)facial

驚き顔
(surprised:1.5)
→強調表示するとおおげさに驚いてくれて分かりやすいのでオススメ。

closed eyeやopen mouth(閉じ目、口開き)あたりも適宜使って表情を操作。
それぞれ立ち絵+表情差分で5つほど立ち絵を作っておけば、普通の会話シーン作る分には困らないと思われる。
これ以外の表情の種類や細部の指定なんかは検索すればいっぱいあるので省略。
差分自体は後から追加できるので、ベースだけ用意して2~3個差分の作り方覚えたらもう次にGOしても良いかな。
この時に設定した各種項目の値とかは保存しておきましょう。
Config-Presets
辺りが使いやすい。詳しくは検索してください(丸投げ)

次は衣装差分。(ダメージ差分)

今回は戦闘破損なので、破れている感じの差分を作った。
こちらは大きくポーズが変わるので、txt2imgでたくさん出力してイメージに合うものをチョイス。

プロンプトはこんな感じ。

ポジティブプロンプト:
(masterpiece:1.4),<lora:lora:1>, 1girl, (trigger_tag), pale blond hair,
full body, simple back ground, front view, looking at view, (embarrassed,blush:1.1)facial, standing,
torn thighhighs with ripped sections from knee to shin, torn black panties with ripped hem, covering crotch, covering breast, wince

tornで破れた状態、with~でどんな感じの破れ方か、sections from~でどこからどこまで破損しているか、という感じ。

日本語に直すと、
torn thighhighs with ripped sections from knee to shin
ニーハイがひざからスネまで引き裂かれた状態で破れている。

covering crotch, covering breast
股間を隠す、胸を隠す。

wince
これは苦痛や困惑で顔が歪んでいる、という表情指定。大体片目が閉じられる。赤面指定とセットで合わせると衣服破損系ダメージに対する表情な感じになる。

破れ指定はあんまり言うことを聞いてくれないので、試行回数を増やすしかないかもしれない。
もっと他に良いタグはあるのかも。

出力するとこんな感じ。(黒塗り自主規制してます)

これらを欲しい分だけ×キャラ数用意すれば多分素材はなんとかなる…はず。

素材を用意できたら、RPGツクールMZのimg/picturesフォルダにINする。
一つ注意点としては、RPGツクールの本体のところではなく、RPGツクールのプロジェクトフォルダに入れる。
(例えばSteamのライブラリからローカルフォルダ開いても別の場所になっちゃう)
プロジェクトフォルダはMZ起動して新規プロジェクト作成で勝手に作られる。

今回はDドライブ直下に作ってたので、フォルダの場所はこんなかんじ。
D:\RPGMakerMZ\テストプロジェクト\img\pictures

こんな感じに並べればOK。

ここまで出来たら次はRPGツクールMZ側の作業になる。


基本の基本部分は公式に丸投げ。
公式の初心者向けガイド

ここでは立ち絵出力部分だけ。

マップを適当に作り、イベント配置モードでイベント作成。
イベントの種類でピクチャを表示というのがあるので、そこでピクチャを設定する。

画像を設定した後、簡単設定というのを押すと画面サイズに合わせてプレビュー表示されるので、
マウスで画像をつかんでいいところにドラッグして移動させる。

この時、左上に表示されてる座標が指定した座標になるので、今後はこの座標を入力すれば
良い感じのところに画像が来る、という寸法。

この一連を設定するとイベント一覧にピクチャの表示のイベントが追加されるので、
これを画像(差分)ごとに色々用意して会話に合わせて良い感じに配置すると会話イベントが作れる。

…というのが、プラグインを使わずにシンプルに標準機能だけで作る方法。
これが基本のキになるので、ピクチャ表示はこういう仕様の元動いている、
という理解のために一度やってみても良いかもしれない。画像サイズが合ってるかどうかもわかりやすいし。

で。

今回は立ち絵表示管理プラグインを使用したのでそちらの使い方も軽く紹介。

立ち絵表示管理プラグイン
https://x.com/triacontane/status/1360841352884285442

こちらのプラグインを導入する。
ツイッターXのリンクから飛ぶとプラグインリストが載っているスプレッドシード(Excelみたいなやつ)に飛ぶので、
その中から立ち絵表示管理プラグインの文字を探して、右側のURLを右クリックして「名前を付けてリンク先を保存」
またはリンク先のページにある文字を全コピーしてメモ帳辺りを開いてペースト、「CharacterPictureManager.js」というファイル名で保存する。

保存先はプロジェクトフォルダのjs\pluginsの中。
今回は以下のフォルダに入れた。
D:\RPGMakerMZ\テストプロジェクト\js\plugins

また、このプラグインは前提となるベースプラグインも必要なので、それもコピーして持ってくる。
ファイル名は「PluginCommonBase.js」
こちらは公式の無料DLCプラグインに入っている。
基本はMZを購入したら勝手についてくるので、RPGツクール本体フォルダ下に以下の場所にあるはず。
RPG Maker MZ\dlc\BasicResources\plugins\official\PluginCommonBase.js

Steamで購入&Dドライブにインストールすると、以下な感じで格納されてる。
D:\SteamLibrary\steamapps\common\RPG Maker MZ\dlc\BasicResources\plugins\official\PluginCommonBase.js

これをコピーして、さっきのプロジェクトフォルダのjs\pluginsの中に入れればOK。

上手く配置できれば、ツクールMZのツール→プラグイン管理でプラグインリストを開き、
空欄をダブルクリック→開いたウィンドウで名前のとこの空欄をダブルクリックで、
DLしてきたプラグインが表示されるのでそれらをぱぱーっと追加する。

優先順位は上からなので、PluginCommonBaseは一番上にする。
追加後もドラッグしながらで移動できるので、なんか怒られたりうまく動作しなかったら適宜入れ替え。

次に、CharacterPictureManagerを設定する。PluginCommonBaseは設定する必要無し。

開くとなんか色々設定項目があるので、それっぽく設定する。
一つの項目だけでも4窓ぐらい開けたりするので説明するのは面倒難しい。
幸い、作者さんが日本人なので、説明は日本語で丁寧に書かれている。

HPの残り具合やステートの有無、シーン別の表示非表示、スイッチのON/OFFなどなど。
設定項目がいっぱいあるので、好みの具合に設定する。

上手く表示されない場合は座標の原点をいじると良いかも。

今回の設定は、会話シーンはピクチャ表示(標準機能)で行い、
戦闘シーン、マップ移動時の立ち絵表示をプラグインで行った。

戦闘・マップ時では、HPの割合によって立ち絵を表示変更。
また、戦闘時のHPMAX立ち絵と、マップ時のHPMAX立ち絵を別に設定。
それぞれのHPMAX立ち絵の表示条件に戦闘シーン・マップシーンを指定している。

…という感じ。
あとはタッチUIが邪魔だったので、非表示にするプラグインを追加。

タッチUI用ボタンと領域を非表示プラグイン
https://newrpg.seesaa.net/article/502758965.html

こちらもDLしたら同じjs\pluginsに配置して、MZ内で有効化する。

次に、マップ上の立ち絵表示/非表示設定をコモンイベントで設定。(動画の15秒~22秒辺りのやつ)

データベースのコモンイベントで、スイッチON/OFFを操作する条件付きテキストイベントを作成。
立ち絵を表示するタイミング(動画だと戦闘可能エリアにはいって行動可能になる時)でコモンイベントを呼んでプレイヤーに設定させる。

合わせて、スイッチをONにした場合にMAPの立ち絵を表示する、
という設定をCharacterPictureManager側でやっておく。

立ち絵表示/非表示設定はプレイヤーが後から任意に操作できるよう、アイテムとしても実装。

大事なものアイテムの使用効果にさきほどのコモンイベントを設定して、何度でも使えるようにしておく。
ちなみに「範囲なし」にしておくと、対象指定する必要がないので選択した瞬間コモンイベントが呼ばれる。

ここら辺は個人で作ってるツクール系ゲームでよく見るやつ。

あとはイベント作って、マップ作って、モンスター作って、
アクター設定して、ドット絵打って、職業設定して、武器防具アイテム設定して、
なんやかんやして完成!

そのなんやかんやが初心者には難しいんだけど、こればっかりは作って慣れるしかない。
こんなこと書いている人もツクール自体は初心者の域を出ていないので、精進あるのみ。

 

 

あとは蛇足の雑記。

生成AI&ツクールの組み合わせについて

相性は良さそう。
ただ、モデル(チェックポイント)やLoRAによっては細部が崩れてしまう場合があり、
一貫性・整合性・破綻の無い完成度を求めると途端に難易度が上がる印象。

ある程度の妥協をする(アクセサリーが画像ごとにちょっと違う程度は許容する、みたいな)前提で作るなら、かなりの速度と品質で画像を出せる。
ただ、その画像を出す試行回数もPCの性能に依存するので、キャラ数が増えてくると管理も含めて途端に煩雑になるはず。
これ作ってるときですら1日中PCがウォンウォン唸ってました。来月の電気代はヤバいかもしれない。

まあ、もろもろの細かいところは置いておいて。
誰に見せるわけでもなく、ゲームを作る体験を楽しむというRPGツクール本来の楽しみ方をするなら、
これ以上ないくらいモチベーションが上がるツールであることは間違いない。
理想の女の子を主人公(ヒロイン)に出来てそれでゲームが作れるんだ、今すぐ環境整えてRPGツクールMZを買おう!
長期休暇の暇つぶしはこれで決まり!

SteamのRPGツクールMZストアページはこちら!

 

気が向いたら続編を作ります。