AIにスト6のコンボ動画を解析させて、10秒の解説動画を作るまで

未分類

スマホで撮影した『ストリートファイター6』の練習動画をAIに渡して、
舞のコンボを解析し、技名入りの短い解説動画を作ってみました。

最終的に完成したコンボ表記は、次の通りです。

しゃがみ中K → CDR → 引き大K → しゃがみ中P → 強 龍炎舞

→ 弱 必殺忍蜂 → SA3 不知火流・炎舞仇桜

完成動画は約10秒。画面を正面から見た形に補正し、1.5倍スロー、
1920×1080、2行テロップ、最後はSA3の決め画面で止めています。

ただし、最初から正しく解析できたわけではありません。

むしろ今回いちばん大事だったのは、AIに動画を見せる前に、

スト6のコマンドリスト、技名、入力アイコン、キャンセルの概念を
覚えてもらう必要があったことでした。

1. 元動画は、モニターを斜めから撮影したもの

元動画はゲーム画面の直接録画ではなく、スマホでモニターを撮影した映像です。

画像1:斜めから撮影した元動画

この状態では、次の問題がありました。

  • モニターが斜めに写っている
  • ゲーム画面以外の机や周辺機器も入っている
  • 入力履歴のアイコンが小さい
  • 30fps前後の映像なので、一瞬の入力を読み違えやすい
  • エフェクトが重なると技の動作が見えにくい

そこで、最初にモニターの四隅を指定し、台形補正でゲーム画面を正面化しました。

そのうえで画面部分だけを1920×1080へ拡大しています。

2. AIに「入力アイコンの読み方」を教える

最初の大きな壁は、入力履歴の丸いアイコンでした。

スト6では色と形の両方に意味があります。

画像2:入力アイコンの比較

  • 水色:弱
  • 黄色:中
  • 赤:強
  • 拳の形:P(パンチ)
  • 足の形:K(キック)

色だけを見ていると「中」までは分かっても、 拳と足を取り違えて
中Pと中Kを誤判定します。

実際、今回も始動技が中Pなのか中Kなのかを何度か見直しました。

最終的には、黄色の足アイコンを根拠に中Kと判断しました。

画像3:始動入力をフレーム単位で再確認

このとき学んだのは、AIに「黄色は中」とだけ教えるのでは不十分だということです。

色で強度を判断し、形でPかKかを判断する。

この2段階のルールが必要でした。

3. 公式コマンドリストと正式な技名を渡す

次に、舞の公式コマンドリストを参照させました。

画像4:舞の公式コマンドリスト

映像だけから「炎を出したから龍炎舞だろう」と推測させるのではなく、 方向入力、
P・K、弱中強の組み合わせをコマンドリストと照合します。

今回必要だった主な知識は次の通りです。

  • 龍炎舞:↓↙←+P
  • 必殺忍蜂:↓↘→+K
  • SA3:不知火流・炎舞仇桜
  • 舞が左側にいるとき、←+強Kは「引き大K」
  • ←+強Kの後に強Kを追加した二段技は「星孔雀」

特に「引き大K」と「星孔雀」は、最初の強Kだけを見ると区別できません。
続けて強Kを押して二段目へ派生したかまで確認する必要があります。

4. 「キャンセル」という概念も教える必要があった

技名だけでは、コンボのつながり方を正しく説明できません。

スト6では、ある技の動作を途中で別の行動へつなぐ「キャンセル」があります。
そのため、単に画面上で起きた技を順番に並べるだけでは不十分です。

今回の中Kの後にはドライブラッシュが発生しています。

ゲーム内の正式な動作名はドライブラッシュです。
通常技からキャンセルして発動したことを区別する場合は、
キャンセルドライブラッシュと呼び、記事と動画では略称を 「CDR」としました。

つまり冒頭は、

しゃがみ中K → CDR → 引き大K

と読みます。

AIには次のような区別も覚えてもらいました。

  • パリィから発動:パリィドライブラッシュ
  • キャンセル可能な通常技から発動:キャンセルドライブラッシュ
  • コンボ表記の略称:CDR

技の見た目だけでなく、直前の技とどう接続されたかを見る必要があります。

5. 弱・中・強の読み違いをフレーム単位で修正

もっとも判断が揺れたのは必殺忍蜂でした。

最初は黄色に見えたため「中 必殺忍蜂」としましたが、 該当箇所を0.05秒刻みで並べ直すと、入力は青い足アイコンでした。

画像5:必殺忍蜂の入力色を再確認

したがって正しい表記は、

弱 必殺忍蜂(↓↘→+弱K)

です。

スマホ撮影では、残像、白飛び、モニターの色、動画圧縮によって、
水色が黄色や白に近く見えることがあります。

一枚の静止画だけで決めず、前後の複数フレームを比較することが重要でした。

6. 解析結果を確定してから動画を書き出す

途中では、解析のたびにすぐ動画を書き出してしまい、
誤った技名の動画が何本もできてしまいました。

そこで作業手順を変更しました。

  1. まず文章で解析結果を提示する
  2. 技名、順番、弱中強を人間が確認する
  3. 修正点を反映する
  4. 内容が確定してから動画を書き出す
  5. 完成版を確認後、不要な動画を削除する

これはAIを使った動画編集全般で有効だと思います。

解析と書き出しを分離する。

これだけで手戻りと不要ファイルがかなり減ります。

7. テロップは「情報量が多いほど良い」
わけではない

最初は上部に色の凡例、下部に技名、説明、コンボ全体を表示しました。

画像6:文字を載せすぎた試作

情報としては親切ですが、ゲーム画面を大きく隠してしまいました。

最終版では下部の表示を次の2行だけにしました。

  1. 現在の技名
  2. コマンドまたは短い説明

上部の凡例とコンボ全体表示は削除し、黒帯も小さくしています。

8. 最後が冒頭へ戻って見える問題を修正

約10秒に調整するため動画の最後を静止させたところ、
SA3終了後の通常画面や次の試行開始フレームを保持してしまい、
動画が冒頭へ戻ったように見える問題が起きました。

そこでSA3の終盤を0.05秒刻みで確認しました。

画像7:SA3終端の比較

6.95秒付近は炎の決め画面ですが、7.00秒付近では通常画面へ戻ります。
切り出し終端を6.97秒未満に固定し、SA3の決め画面を最後まで保持しました。

画像8:完成版の終端

これで最後までSA3の画面を保ったまま、約10秒で終了します。

9. 最終的に確定したコンボ

今回、最終的に確定した解析結果です。

順番動作判断根拠
1中K黄色の足アイコン
2CDR中Kからキャンセルしてドライブラッシュ
3引き大K←+強K。追加の強Kがないため星孔雀ではない
4しゃがみ中P↓+中P
5強 龍炎舞↓↙←+強P、赤い拳アイコン
6弱 必殺忍蜂↓↘→+弱K、青い足アイコン
7SA3 不知火流・炎舞仇桜必殺忍蜂からSA3へキャンセル

完成動画の仕様は次の通りです。

  • 長さ:約10秒
  • 解像度:1920×1080
  • 速度:約0.67倍速(元映像に対して1.5倍の長さ)
  • 冒頭の中Kを約1秒保持
  • テロップは2行
  • 最後はSA3の決め画面で静止

10. 今回分かったこと

AIに格闘ゲーム動画を解析させるときは、 ただ「このコンボを解析して」
と頼むだけでは足りません。

先に、ゲームを見るための辞書と判断ルールを渡す必要があります。

  • キャラクターのコマンドリスト
  • 正式な技名
  • 弱・中・強の色
  • PとKのアイコン形状
  • 左右で変わる方向入力
  • 通常技、特殊技、必殺技、SAの区別
  • キャンセルと派生技の概念
  • 略称の表記ルール

人間にとっては当たり前の知識でも、 AIにとっては映像内の色や動きにすぎません。

今回の作業は、AIに正解を一度で当てさせるというより、
人間がゲーム知識を教え、AIがフレーム比較と動画加工を担当する共同作業
になりました。

精度を上げた最大の要因は、高性能な画像認識モデルではなく、
「青い足は弱K」「←+強Kだけなら引き大K」のように、
判断基準を一つずつ言葉にしたことだったと思います。

実際に出来た動画

※技の判定は、スマホで撮影した映像の入力履歴と公式コマンドリストを 照合して行いました。映像の解像度や色再現によっては再確認が必要です。

注意事項
本記事の解析結果は、スマートフォンで撮影した映像とゲーム内の入力履歴をもとに、
AIと人間による目視確認を組み合わせて作成しています。

撮影角度、画質、残像、色の見え方によって、入力や技の強度を誤認する可能性があります。
技名とコマンドは『ストリートファイター6』公式コマンドリストを参照しました。

記事内のゲーム画像および名称の権利は、各権利者に帰属します。
本記事は個人による検証・学習記録であり、カプコン公式の記事ではありません。

コメント