■はじめに
こんにちは、プロンプト・ウサギです。
前回、パラパラまんがのように、キャラクターの絵をコマ送りで動かせる「パラパラまんがメーカー」を作りました。
自分で作っておいて言うのもなんですが、これ、なかなか面白いです。
1枚のPNGに並べたキャラクターの絵を切り出して、順番に表示すれば、ちゃんと「動いている!」ように見える。
ゲーム作りにも使えそうです。
……でも、ここで問題が。
ゲームを作ろうとすると、必要になるコマ数が一気に増えます。
歩く。
攻撃する。
ジャンプする。
ダメージを受ける。
別の方向を向く。
キャラクターが増えれば、必要な絵もどんどん増えていきます。
これを全部、1人で切り出して、位置を調整して、ゲーム用のPNGにして……。
「いや、これ大変すぎない?」
そこで、ふと思いました。
「せっかく生成AIを使っているんだから、もっとAIに仕事をしてもらえばいいのでは?」
## 考えたら、AIにあまり仕事をさせていなかった
ここ👆️が今回、一番の気づきでした。
これまで生成AIにお願いしていたのは、主に「元になる絵を作ること」と「パラパラまんがメーカーそのものを作ること」。
もちろん、これだけでも十分すごいです。
でも、パラパラまんがメーカーを実際に使う作業は、人間がやっていました。
PNGを見て、
「ここからここまでが1コマ目」
「次はここ」
「このコマは少し位置を直して……」
と、せっせと作業する→大変
そこで考えました。
「このパラパラまんがメーカーを、AIが使えればいいのに。」
そして、ちょっと改造してみることにしました。
■AI用のネオ・パラパラまんがメーカー
目指したのは、
【AIに画像を渡す】
↓
【AIに分割情報を作ってもらう】
↓
【パラパラまんがメーカーに読み込ませる】
↓
【必要なら人間が少し修正】
↓
【ゲーム用PNGを書き出す】
という流れです。
今回は、その方法を3ステップで紹介します。
# ステップ1 PNGをAIに渡して、分割用JSONを作ってもらう
例えば、上の絵のように用意します。
・横3コマ×縦3コマ
・全部で9コマ
・歩き、攻撃などのアニメーション
といった画像です。
ここで人間が1コマずつ、
「Xは○○、Yは○○、幅は○○……」
と入力していくのは、正直ちょっと面倒です。
そこで、PNGをChatGPTに渡します。
そして、
「このPNGを3×3に分割するJSONファイルを作って」
とお願いする。
すると、AIが画像を見ながら、各コマの切り出し位置を計算してJSONを作ってくれます。
このJSONをパラパラまんがメーカーに読み込ませれば、
「AIが切り出し位置を決める」
↓
「アプリがその設定を読み込む」
↓
「アニメーションとして確認する」
という流れができます。
つまり、AIがパラパラまんがメーカーを“操作するための設計図”を作ってくれるわけです。
ここポイント👆️。
AIに画像を直接加工させるのではなく、
「アプリが理解できるデータをAIに作ってもらう」
という考え方です。
これなら、生成AIと自作アプリの役割分担がかなり明確になります。
# ステップ2 気になるところだけ、人間が直す
AIに全部任せれば完璧!
……とは、まだいきません(笑)。
とくに、コマの大きさがかわる画像では、
「上のコマと、ちょっと被ってるな」
ということがあります。
そんなときは、人間の出番です。
パラパラまんがメーカーで、気になるコマだけ修正します。
全部を人間が作るのではなく、
「AIに大部分をやってもらって、気になるところだけ人間が直す」
という方式で、かなり楽になります。
今まで、
「9コマ全部を確認して、全部自分で設定する」
だった作業が、
「AIに作ってもらって、変なところだけ確認する」
に変わります。
人間は、単純作業ではなく「最終チェック」に集中できます。
# ステップ3 ゲーム用PNGに分割する
最後は、ゲームで使いやすい形にします。
パラパラまんがメーカーで確認したコマを、ゲーム用のPNGファイルとして個別に書き出します。
例えば、
walk_01.png
walk_02.png
walk_03.png
attack_01.png
attack_02.png
attack_03.png
という感じです。
さらに、ここで一手間。
左右反転したPNGも一緒に作っておきます。
例えば右向きのキャラクターを作った場合、
右向きPNG
↓
左右反転
↓
左向きPNG
を作っておけば、ゲーム側では同じ絵をもう一度用意する必要がありません。
つまり、
「元絵を作る」
「分割する」
「ゲーム用に書き出す」
「左右反転する」
という作業のかなりの部分をAIに任せられるようになります。
# ステップ振り返り
【STEP 1】
PNGをChatGPTに渡す
↓
分割用JSONを作ってもらう
↓
パラパラまんがメーカーに読み込む
【STEP 2】
アニメーションを確認
↓
気になるところだけ人間が修正
【STEP 3】
コマごとのPNGを書き出す
↓
左右反転PNGも作る
↓
ゲームに使う
こんな感じ👆️
……だいぶん、AIに仕事を振ってます(笑)。
# 「AIに全部作ってもらう」だけがAI活用じゃない
今回、個人的に一番面白かったのはここです。
生成AIというと、
「AIにゲームを作ってもらう」
「AIに画像を作ってもらう」
「AIにプログラムを書いてもらう」
という使い方を考えがちです。
でも、今回やってみて思ったのは、
「自分が作った道具を、AIにも使えるようにする」
という方法も、かなり面白いということ。
AIにJSONを作ってもらえるようにしただけで、作業量がかなり変わりました。
「人間が全部やる」でも「AIが全部やる」でもなく
その中間に、
「AIに面倒なところをやってもらって、人間は確認する」
という方法がある。
これが、今回の一番大きな発見でした。
# 変更したパラパラまんがメーカーも公開します
今回、AIを使って作業しやすくしたパラパラまんがメーカーは、GitHubに置いておきます。
https://logicmaker256-prog.github.io/new_manga_maker/
👇️のリンクが動かない人は、👆️のアドレスをGoogle検索窓に入れて下さい。
そして、せっかくなので、この方法を使って作った簡単なゲームも置いておきます。
https://logicmaker256-prog.github.io/anime_game/
👇️のリンクが動かない人は、👆️のアドレスをGoogle検索窓に入れて下さい
ゲームの説明
1.自キャラは、姉妹の姉です(何故か剣を持つ)
2.歩きスマホをしている男子学生が前から来るのでタップして攻撃
3.1km歩くとゲームクリア
まだまだ小さなゲームですが、
「画像を作る」
↓
「AIに分割させる」
↓
「パラパラまんがメーカーで確認する」
↓
「ゲーム用PNGにする」
↓
「ゲームに組み込む」
という流れを実際に試すことができました。
■ 今回の学び
今回の学びを一言で言うなら、
「せっかく生成AIを使うなら、できるだけ仕事を振ろう」
です。
前回の方法でも、同じことはできます。
でも、
「人間が全部やる」
のと、
「AIにできるところまでやってもらって、人間は確認する」
のでは、楽さが段違いでした。
しかも、AIに仕事を振るためには、AIに何でも直接やらせる必要はありません。
今回のように、
「AIにJSONを作ってもらう」
「自作アプリにJSONを読み込ませる」
という橋渡しをするだけでも、かなり便利になります。
自分で作った小さなツールと生成AIを組み合わせる。
これ、思っていた以上に強力かもしれません。
そして何より……
「AI、もっと働いてもらおう(笑)」
ということですね。
■ 次回予告
次回は、今回作った簡単なゲームを、もう少し改造してみようと思います。
今はまだ「動くゲーム」という感じなので、もう少し遊び込めるようにして、ゲームとしての深みを出していく予定です。
3Dモデリングツール側も大規模デバッグ中です。
デバッグにシステム不安定の要因が入ったり、なかなか大変です。
次回は、こっちの話をしようかな?
それでは、次回もお楽しみに!


