AIゲーム開発研究室
第25回 その場ジャンプ(待機キャッチ)素材を制作する
AIゲーム開発ドキュメント
第25回
その場ジャンプ(待機キャッチ)素材を制作する
はじめに
前回は、パンタが左右へ移動するためのキャッチアクション素材を制作した。
これまで制作を試みてきた歩行アニメーションではなく、
「ちょん、ちょん」と小さく跳ねながら移動する
という新しいアクションを設計し、画像生成AIによって複数のポーズを生成した。
さらに、その生成画像から使用するポーズを人間が選択し、切り分け、画像加工、色調補正、サイズ・位置調整などを行い、ゲームで使用するシーケンスファイルとして完成させた。
しかし、これだけではパンタのキャッチアクションは完成しない。
プレイヤーが左右の矢印キーを押している間は、パンタは左右へ移動する。
そして、どんぐりの落下位置へ到達して矢印キーを離すと、パンタはその位置でどんぐりが落ちてくるのを待つことになる。
このとき、突然動きを止めて静止画像になるのでは不自然である。
そこで今回は、横移動キャッチアクションと連動する、
「その場ジャンプ(待機キャッチ)」
を制作する。
横移動と待機を一つの動きとして考える
今回のアクションを単独で考えてはいけない。
前回制作した横移動アクションと、今回制作する待機アクションは、一つの操作の中で連続して使用される。
プレイヤーが左右の矢印キーを押す。
パンタが小さく跳ねながら移動する。
目的の位置に到達する。
矢印キーを離す。
パンタはその位置で、小さく上下へ跳ねながらどんぐりを待つ。
つまり、
横へ跳ねる動きから、その場で跳ねる動きへ切り替わる。
この二つのアクションに共通する「小さく跳ねる」という動きを維持することで、操作を切り替えてもキャラクターの動きが突然変化することを防ぐ。
人間と対話AIによる設計会議
研究代表
横移動アクションができたので、次は矢印キーを離したときの動きが必要ですね。
どんぐりの落下位置に到達したら、パンタはその場にいます。
主任研究員 Arc
それなら、横移動と同じ「小ジャンプ」をそのまま利用できます。
左右へ移動せず、その場で上下に跳ねるアクションにすれば、二つの動きを自然につなげられます。
研究代表
パンタは正面向き。
体は傾けない。
頭の上に同じ籠を載せて、両手で支える。
そして、上から落ちてくるどんぐりを見る。
そんな感じですね。
主任研究員 Arc
はい。
歩行や走行ではありませんから、複雑な足運びも必要ありません。
足を曲げた状態と伸ばした状態を中心に、重心の高さを変えれば、その場で小さくジャンプしているように見せることができます。
研究代表
できれば口を開けたものと閉じたものも欲しいですね。
主任研究員 Arc
それも仕様に加えましょう。
口を開けたポーズと閉じたポーズがあれば、ゲーム上で口をパクパクさせる表現にも利用できます。
今回決定した仕様
今回制作するのは、
パンタのその場ジャンプによる待機キャッチアクション
である。
パンタは常に正面を向く。
左右には移動しない。
頭上にはどんぐりを受け止める籠を載せ、両手で籠を支える。
籠は水平を維持し、中にはどんぐりを2個入れる。
パンタの視線は、頭上から落ちてくるどんぐりを見るため、やや上向きとする。
ジャンプは小さな上下運動とし、足を前後へ大きく動かさない。
足を曲げた状態から伸ばした状態へ変化させるとともに、キャラクター全体の重心の高さを変化させる。
また、口を開けた表情と閉じた表情を混在させ、必要に応じてゲーム上の口パク表現に利用できるようにする。
二つの基準画像を使用する
今回は画像生成AIへ、二つの画像を添付した。
一つ目は、
パンタ公式キャラクター基準画像
である。
顔、耳、目の周囲の黒い模様、丸い体形、毛並み、緑色のスカーフ、青色のリュック、色彩、画風など、パンタのデザインを維持するために使用する。
二つ目は、
前回制作した横移動キャッチアクションの生成画像
である。
こちらはキャラクターデザインを指定するためではない。
籠の大きさや位置、両手で籠を支える姿勢、キャラクターと籠の関係などを画像生成AIへ伝えるための参考資料として使用した。
ただし、ここには後に重要な問題が現れることになる。
画像生成AIへのプロンプト
画像生成AIには、二つ目の添付画像について、
「籠の位置・両手の持ち方・キャラクター全体の構図の参考画像」
であることを明記した。
さらに、
「ジャンプ動作は参考にしない」
とも指定した。
そのうえで、今回新たに制作する動作について、
その場で上下に小さくジャンプすること、
真正面を向くこと、
体を左右へ傾けないこと、
左右方向へ重心を移動させないこと、
重心は上下方向だけに変化させること、
などを指定した。
また、前回と同様、
歩行ではない。
走行ではない。
行進ではない。
と明記し、歩行動作として解釈されないようにした。
画像生成AIによる生成結果
生成された画像を見ると、
パンタが頭上の籠を両手で支えながら、小さくジャンプする複数のポーズを得ることができた。
籠の位置や大きさ、両手の持ち方についても、前回の横移動キャッチアクションとの統一感がある。
キャラクターデザインについても、公式基準画像のパンタがよく維持されている。
ゲーム素材の原画として、十分に利用できる結果である。
一方、指定どおりにならなかった部分もある。
「体を左右へ傾けない」と指定したにもかかわらず、実際には体が傾いたポーズが生成された。
また、描かないよう指定した足元の影も生成された。
これらは人間による加工で修正可能であるため、今回は生成をやり直さず、素材として採用することにした。
そして実際の画像を見ると、完全な真正面で機械的に上下するよりも、わずかに体が傾いたことでキャラクターらしい動きが生まれている。
仕様から外れた生成結果が、必ずしも作品として悪い結果になるとは限らない。
これも生成AIを用いた制作では、人間が判断しなければならない部分である。
添付画像がポーズに与えた影響
今回、生成結果を詳しく確認したところ、もう一つ重要なことが分かった。
参考として添付した横移動キャッチアクションと比較すると、
足のポーズ以外は、かなり似た構成になっていた。
プロンプトでは、
「ジャンプ動作は参考にしない」
と明確に指定している。
それでも画像生成AIは、参考画像から籠の位置や持ち方だけを取り出すのではなく、キャラクター全体の姿勢や構図にも強く影響を受けたと考えられる。
これは今後の画像生成AIによるゲーム素材制作において、重要な注意点となる。
参考画像は、単なる補助資料ではない。
何を参考画像として与えるかによって、生成されるポーズそのものが変化する可能性がある。
したがって今後は、
「何を書くか」というプロンプト設計だけではなく、「何を見せるか」という添付資料の設計も必要になる。
人間による加工
生成された画像は、そのままゲーム素材として使用するわけではない。
前回と同様、人間が使用するポーズを選択し、それぞれを独立した画像へ切り分ける。
さらに、
影の除去、
不要部分の除去、
体の傾きの調整、
画像加工、
色調補正、
キャラクターサイズの統一、
位置の調整、
基準位置の統一、
などを行い、ゲームで使用できるシーケンスファイルへ仕上げる。
この工程は決して単純な後処理ではない。
画像生成AIによる出力を、
「イラスト」から「ゲーム素材」へ変換する制作工程
である。
今回も、この人間による加工を経て、待機キャッチアクションを完成させた。
ゲーム素材の規格を見直す
今回の制作では、もう一つ重要な問題が明らかになった。
画像サイズである。
これまでパンタは、
基準身長250px、画像サイズ320×320px
を一つの目安として制作してきた。
しかし、頭上に籠を載せ、さらにジャンプする今回のアクションでは、上下方向により大きな領域が必要になる。
そこで、ゲーム素材の規格そのものを改めて検討した。
その結果、
パンタの基準身長250pxを、キャラクター縮尺の基準とする。
他のキャラクターは、パンタとの身長比率を維持して制作する。
一方、
画像領域は固定しない。
左右移動、上下ジャンプ、大きなアクションなど、それぞれの動作に必要な範囲に応じて画像サイズを決定する。
したがって、画像は正方形である必要もない。
横方向に広い動作なら横長。
上下方向に大きな動作なら縦長。
必要な領域を確保する。
ゲーム素材の規格として統一すべきなのは、
画像サイズではなく、キャラクターの縮尺と基準位置である。
基準位置を統一する
素材制作時の基準位置は、
画像底辺中央
とする。
画像サイズが異なっていても、この基準位置を統一して制作する。
Unityへ読み込んだ際にも、同じ位置に対応するBottom CenterをPivotとして設定する。
これにより、異なる画像サイズのアクションへ切り替えても、ゲーム上でキャラクターの位置を一貫して管理できる。
また、本研究ではスプライトシートではなく、
独立したPNG画像によるシーケンスファイル方式
を採用している。
そのため、アクションごとに異なる画像領域を採用することも容易である。
ここで、ゲーム素材制作の基本規格が明確になった。
キャラクター縮尺を統一する。
キャラクター間の身長比率を維持する。
基準位置を画像底辺中央に統一する。
画像サイズはアクションに必要な範囲に応じて決定する。
シーケンスファイル方式で管理する。
これを、今後のキャラクターアクション素材制作の基本とする。
二つのキャッチアクションが完成した
これでパンタには、
左右へ小さく跳ねながら移動するキャッチアクション
と、
その場で上下に小さく跳ねる待機キャッチアクション
の二種類がそろった。
歩行アニメーションの制作に失敗したところから始まった試行錯誤は、
「歩行を正確に生成する」
という考え方を捨て、
「ゲームとして移動しているように見える動きを設計する」
という発想へ転換した。
そして、画像生成AIによって原画を制作し、人間が選択・加工し、シーケンスファイルとして完成させる。
ここまでの実験によって、
現時点の画像生成AIを利用した2Dゲームキャラクターのアクション素材制作に、一つの実用的な方法が見えてきた。
もちろん、これが唯一の方法ではない。
画像生成AIの性能も今後変化していくだろう。
しかしこれは、実際のゲーム制作を通して、試行錯誤の末に得られた一つの結果である。
次は背景画像を制作する
キャラクターの基本アクション素材について、制作方法のめどが立った。
しかし、ゲームはキャラクターだけでは成立しない。
次に必要になるのは、
キャラクターが実際に動く世界――背景である。
背景画像では、キャラクター素材とは異なる問題が生じる。
画面サイズ、カメラ、ゲーム内での移動範囲、キャラクターとの縮尺、地面の位置、当たり判定、前景と背景の関係。
さらに、一枚の背景画像として制作するのか、複数のパーツとして制作するのかによっても、素材設計は変わる。
次回は、
ゲームに使用する背景画像を、画像生成AIによってどのように制作すればよいのか。
実際の「森のどんぐり大作戦」の背景制作を通して検証する。
キャラクターができた。
次は、そのキャラクターが動く世界を作る。




