メインコンテンツへスキップ
見出し画像

【AI動画】 90年代ドット絵でMVを作ってみた。

    こんにちは、クロクマです。

    今回のテーマは、AIで作る「90年代ゲーム風ドット絵MV」。

    先日、160秒のフルMVを1本作りました。44カット、全部AI動画です。制作期間は1週間弱、実作業は15時間くらい(1日2〜3時間ずつ)。動画生成のコストはKlingのサブスクでざっくり2,300クレジット。画像はChatGPTのサブスク枠なので追加費用なしです。

    本業のあるおっさんが夜の2〜3時間で作れた、というのがまず伝えたいところ。

    そして今回も、手を動かす "作業" のほとんどはClaude(Fable 5)がやっています。画像の生成も、動画化の実行も、アレもこれも。

    私がやったのは、出てきたものを見て「これはOK」「これは撮り直し」と決める "判断" のほうです。


    このへんの裏側は前回の記事に書いたので、興味があればそちらもどうぞ。

    この記事では、その1本をどう作ったかを書いていきます。

    まずはこちらが完成MV。

    音源はコチラ⬇︎


    まぁ結論というか、全体の流れはこんな感じです。重要なところを詳しく説明していきます。

    1. 世界観のイメージを画像にする(ChatGPT・15枚くらい)

    2. 画像をAIに見せて、Sunoへのスタイル指定と歌詞を書いてもらう → Sunoで曲を作る

    3. 歌詞の表示タイミングを取る(ここだけ自作ツールを使用。文字起こしAIでも代用可)

    4. 歌詞1行につき1カット、画像を作り足していく(最終的に44カット分)

    5. 画像を1カットずつ動画化する(Kling、5秒・1080p)

    6. 編集ソフトで並べて、歌詞テロップを入れる(私はFinal Cut Pro)

    7. 最後に全カットへ「コマ落とし」をかける


    なぜドット絵か:単純に、作りたかったから


    最初に正直に言っておくと、ドット絵を選んだのに戦略的な理由はないです。

    作ってみたかったから。それだけ。

    私は90年代、リアルにゲームにハマっていた世代です。あのドット絵の画面は、当時は「それしかなかった」わけですが、今あらためて見ると逆に新鮮なんですよね。

    AI動画がどんどんリアルに寄っていく中で、あえてカクカクした平面の絵が動く。これがやりたかった。

    ただ、当時の再現をそのままやったわけでもないです。ベースは90年代前半の荒いドット絵。そこに、00年代のゲームっぽい立体感を少し混ぜています。

    「あの頃のゲーム画面」と言われたら信じるけど、実在はしない画面。
    まぁなんとなくな記憶ですけど。


    曲より先に、絵を作った


    作り方の話に入る前に、今回いちばん変わったことをやったのがここなので、先に書きます。

    普通、MVって曲が先ですよね。曲があって、その曲に合う映像を作る。私も今まではそうでした。

    今回は逆にしました。

    先に画像を15枚くらい作って世界観を決め、そこから曲を作った

    まず頭の中にあったドット絵のイメージと構図のイメージを、それぞれ別の構図で15枚ほど画像にしました。

    夜のダイナー、吊り橋、洞窟、ステージ。世界観のスケッチみたいなものです。

    画像
    この時点で、曲はまだ存在していません。
    まぁこのカットは使わなかったけど 笑

    次に、その画像をAI(私の場合はClaude)に見せて、「この世界観に合う曲」のSunoに渡すスタイル指定と歌詞を書いてもらいました。それをSunoに入れて、曲を作る。

    絵が脚本で、曲があとから合わせに来るという順番

    なんでこうしたかというと、ドット絵でいきたい・この構図でいきたい、というイメージのほうが先に、はっきりあったから。

    やってみて思ったんですが、これはこれでアリでした。
    というか好きかも。

    曲を先に作ると、曲を聴きながらMVを想像して、それに合う素材を作ることになるんですが、これが実はけっこう難しい。

    頭の中の映像はぼんやりしているし、Sunoで作る以上、曲側も細かいところまでは思い通りになりません(多少のガチャはあります)。

    曲と絵、両方がふわふわした状態ですり合わせることになる。

    絵が先なら、少なくとも片方は確定しています。「この絵でいきたい」が明確にあるなら、先に画像かストーリーボードで世界観を固めてAIに渡し、曲を絵に寄せてもらう。

    そのほうが絵と曲の親和性は作りやすいんじゃないかと思いました。


    じゃあ毎回この順番がいいかと言われると、そんなこともない気はします。曲が先にあって心が動いたなら、曲からでいい。

    時と場合による、になっちゃうんですけどね。


    ちなみに、この順番で作っている人がいるのか気になって調べてみたんですが、AIのMV制作は「曲→絵コンテ→映像」が定番で、完成した画像群から曲を逆算する作り方はほとんど見当たりませんでした。

    珍しい部類だと思うので、イメージ先行型の人は試してみてください。


    画像作り:キャラを維持する唯一のコツ


    ドット絵の画像自体は、ChatGPTに「フラットな2Dドット絵で」と頼めば普通に出ます。ここは難しくない。

    問題はキャラクターの一貫性です。MVは同じ登場人物が何十カットも出ます。今回はボーカル・ラッパー・DJの3人組。毎回顔が変わったら、その時点でMVとして成立しません。

    コツはひとつだけです。

    毎回、既存のキャラ画像を参照として添付して「この画像と同じキャラデザを維持」と書く

    画像
    キャラは3人1枚ではなく、それぞれで出して添付してます。

    これだけで、3人を44カット維持できました。

    逆に、参照を付けずに言葉でどれだけ細かく説明しても、ほぼ確実に別人が出てきます。誰やねん、という3人組が毎回できあがる。

    言葉の説明だとAIは毎回キャラを「新しく発明」するからです。参照画像を渡すことで、発明ではなく「写す」仕事に変わる。ここの差は圧倒的です。

    ちなみに、この画像作りもほとんどはClaudeがChatGPTに指示を出して量産しています。ただ、それでも「なんか違う」ものは出てくるので、そこは私が自分で作り直しました。

    最終的な判断は自分の目

    どんなMVでも何枚かはこういう手作業が残ると思います。

    でもここは残っていい工程です。クリエイティブは自動化できないと思ってるので。


    動画化:44カット回して固まった「型」


    ここが工程のいちばん重い部分です。

    先に、この型の出どころだけ整理しておきます。入り口はKling公式が推奨する書き方で、そこからClaudeがリテイク込みで60本近く回す中で、反応が良かった書き方だけを残して固めていったのがこの型です。

    公式の書き方の、今回のMV向け改造版

    私はプロンプトの中身にほぼ口を出していません。失敗した動画を見せると、Claudeが原因を推測して書き方を変えてくる。その繰り返しです。

    なので動画プロンプトも画像プロンプトと同じ。

    書くのはAIで、人間は結果を見て判断する側に回ればいい。

    Klingの公式ガイドが教える基本形は、

    被写体 + 被写体の動き + 場面 +(カメラの動き・照明・雰囲気)

    という要素の並びです。画像から動画を作る場合は、被写体と背景はもう画像の中にあるので「動き」と「カメラ」の描写に集中しろ、「シネマティックに」みたいな曖昧な言葉ではなく具体的な動きを書け、というのが公式の教えです。

    ただしこれは「いちばん通りやすい書き方の目安」で、忠実に守らないと動かないというものではないです。実際、うちの型は公式から結構ズレていってますから。

    最終的に、全カットはこうなっています。

    [被写体の動作を2〜3個つなげて書く]

    The camera stays completely static and locked off.

    [背景の小さな動き(旗が揺れる、炎が揺らめく等)]

    Flat 2D pixel-art sprite animation, keep the original composition

    and art style, no morphing, no character redraw, no camera movement,

    no scene change.

    日本語で言うと「①動きの指示 ②カメラ完全固定 ③背景の動き ④画風と構図を守れの決まり文句」の4点セットです。

    ※ 「大笑い→スクラッチ→音符が散る」の動作2〜3連鎖+背景の動き。

    ①②③は公式の並びのままです(カメラだけ「固定しろ」と逆のことを書いていますが、枠は公式通り。「2Dスプライトアニメ」の画風指定は自分の絵柄に読み替えてください)。

    公式に無いのは、④の「守りの決まり文句」ブロックです。そしてこの型の本体はここです。

    公式の型は「何を起こすか」を書く設計になっていて、「何を変えないでほしいか」を書く場所がありません。

    1本きりの動画ならそれで困らない。でもMVのように1枚1枚の絵がキャラデザと世界観を背負った資産である場合、AIが良かれと思って画面を描き足したり描き直したりするのが一番の敵になります。

    だから発想を逆にして、「原則ぜんぶ現状維持。やってほしい変化だけ名指しで許可」という契約書みたいな書き方にした。これが公式との最大の差分かなと。

    ここからは、この型に行き着くまでの失敗から見えた原則を5つ書きます。先に断っておくと、

    根拠はKlingで60本回した実測で、他のツールで同じに動く保証はありません(Seedance2.0では一部同じ傾向を確認しています)

    ただ、どれも「生成AIがプロンプトの言葉をどう読むか」というクセの話なので、ツールが違っても「自分のプロンプトで同じ事故が起きていないか」を疑うチェックリストにはなるはずです。ドット絵MVを作る予定のない人は、そのつもりで読んでください。

    原則1:動きの量は、加減の言葉ではなく「動作の数」で調整する

    動きを控えめにしたくて「ゆっくり」「少し」(gently、slowly、slightly)と書くと、加減されるんじゃなくて、動きがほぼ死にます。静止画にちょっと空気が動いてるだけ、みたいな動画が出てくる。

    40クレジット払って、ほぼ写真です。動き量を数値で測る検証もしたんですが、この手の言葉が入ったカットは採用水準の10分の1以下でした。

    AIは副詞の「程度」を映像に換算するのが苦手で、「ゆっくり動け」が「ほぼ動くな」に化けるようです。なので動きの調整は、形容詞ではなく動作の数でやります。強くしたければ「盤を回す→観客が跳ねる→拳が上がる」のように2〜3個つなげる。弱くしたければ動作を減らす。

    動きの量は副詞じゃなくて動詞の数で決まる

    です。


    原則2:「全部守れ」と言った上で、変えたいことを1つだけ名指しで許可する

    型の最後の決まり文句(no scene change等)は、絶対に削らないでください。

    「扉が開くシーン」を作るとき、変化のジャマだからと決まり文句を削った回があったんです。そうしたら、扉どころか背景の石柱まで全部消えて、時間帯まで変わった画面が返ってきました。

    開けてほしかったのは扉だけなんですよ。そこまでやれとは言ってない。守りの文を外すと、AIは画面を丸ごと「描き直していい」と解釈するようです。

    正解は、決まり文句は残したまま「この場面で新しく起きることはこれ1つだけ」と例外を名指しすることです。宝箱のカットでは、no scene changeを残したまま「唯一の新要素は、宝箱から立ち上る怪物」と書いて、本当に怪物だけが追加されました。

    禁止を全部残して、許可を1つだけ開ける。全面自由より「原則禁止+例外1つ」のほうが、変化の範囲を狭く固定できます。


    原則3:「消すな」は効かない。肯定形で名指す——ただし過信もしない

    「柱を消すな」と否定形で書いても、効きません。実際、消えました。

    マシになるのは肯定形です。「The stone columns stay standing exactly as they are(石柱はそのまま立ち続ける)」のように、残したいものを主語にして「あり続ける」と書く。

    人間相手なら「消すな」で通じるんですけどね。AIは名指しされた対象に注目する性質があるようで、注目させたい対象は肯定文の主語に置くほうが通ります。

    ただ、ここは正直に書いておきます。

    肯定形の名指しでも、守られた回と破られた回の両方がありました。「通りやすくなる」工夫であって、保証ではないです。

    なので、絶対に守りたいものはプロンプトで守り切ろうとしないほうがいい。最初から構図の外に置くか、崩れたら編集で差し替えられる形にしておく。

    プロンプトは確率を上げる道具、最後の保険は編集側。この分担にしてから、リテイクのストレスが減りました。


    原則4:守りたい見た目は、値を書かず「元のまま」と相対で指定する

    雰囲気を守ろうと「扉の紫の照明を維持」と書いた回があって、このときは画面全体が紫に塗り替えられました。空も山も紫。「維持」って言葉、届いてない・・。

    AIは、プロンプトに出てきた色名や具体的な値を「守れ」ではなく「出せ」と読むようです。

    維持したいだけのものに、具体的な名前を与えてはいけない。正解は「keep the original lighting and color palette(元画像の照明と色調を維持)」。要は、具体名を出さずに「元のまま」とだけ言う。

    これは色に限らず使えます。画風でも、構図でも、キャラの見た目でも、守りたいものは「original(元の)」側に寄せて書く。

    具体名を書いた瞬間、それは「維持の指示」ではなく「生成の指示」に変わる、と覚えておくと事故りにくいです。

    ※ 「扉の紫の照明を維持」と書いた結果、空も山も紫・・笑


    原則5:画面の中の文字は、動画に守らせず編集で上から重ねる

    ゲームのUI画面風に日本語の文字を入れたカットがあったんです。「文字は形を変えない・動かない・消えない」と保護句まで書いたのに、動画化すると1〜2秒で崩れました。

    一方、別のカットの英語の大きな「STAGE CLEAR」は5秒間無傷。文字が小さく複雑なほど危ない、という結果です。

    ここはプロンプトで戦うのを諦めました。対処は単純で、元画像の文字部分だけを、編集で動画の上に重ねる。文字は静止したまま、まわりだけが動く。

    ゲームのUIってもともとそういうものなので、違和感も出ません。文字はAIに守らせず「編集で後乗せ」。これはたぶん、どの動画AIでも当分同じだと思います。


    コマ落とし:この作り方の「核」


    ここからはこのMVで1番重要な作業です。

    ドット絵MVはコマ落としがないと成立しない

    コマ落としというのは、映像のコマ数を間引く処理のこと。

    最終的に、1秒30コマの映像を8コマに間引きました。昔のゲームやコマ撮りアニメの、あのカクカクした動きを後から作る処理だと思ってください。

    これに行き着いた経緯を書いておきます。

    最初にテストで1本動画化したとき、プロンプトには「90年代ゲーム風のカクカクした動き」という趣旨の指定を入れていました。で、出てきたのは、キレイ〜に滑らかに動く動画。プロンプト完全無視。

    Seedance(別の動画AI)でも試しましたが同じでした。動画生成AIは滑らかに補間するのが仕事みたいなものなので、プロンプトで逆らっても勝てないようです。

    これ、なんとかする方法ないの?とClaudeに聞いたら、返ってきたのが「生成後にコマを間引く」という案でした。8コマ版と12コマ版を作るので見比べてくれ、と。テスト動画でやってみた瞬間、「これ使えるね」で即決でした。

    つまり、動画化段階でカクつかせるのは諦めて、

    完成した滑らかな動画から後でコマを抜く

    ffmpegが使える人なら1行です。

    ffmpeg -i in.mp4 -vf "fps=8" -r 30 -c:v libx264 -crf 18 -pix_fmt yuv420p out.mp4

    これをかけた瞬間、「AIが作った滑らかな動画」が「90年代のゲーム画面」に変わります。

    ※ 左が生成そのまま、右が1秒8コマ。

    ドット絵は、カクカク動くのが本来の姿。だからコマを抜くほど本物っぽくなる。おまけに絵が荒いぶん、AI動画にありがちな細かい破綻も目立ちにくい。このへんは狙ったわけじゃなく、作り終えてから気づいたことですが。

    しかも無料で、何度でもやり直せます。8にするか12にするかは後から好きに変えられる。今回の制作でいちばん費用対効果が高かった処理です。

    運用上の注意を3つ。

    • かけるのは編集が全部終わったあと、最後の最後。 カットを繋いだ完成版に対して一括でかけます。素材の段階でかけると編集で扱いにくいだけです

    • カメラ固定のカットには効くが、背景が流れるカットはガタついて見える。 横スクロールっぽいカットだけコマ落としを弱める(12fpsにする等)、という使い分けができるとベストです

    • 画質は1080p以上を維持する。 ドット絵は輪郭の鋭さが命なので、720pに落とすと「粗い絵」ではなく「ボケた絵」になります。ここをケチると全部が安く見えます


    注意点:先に知っておくと詰まらないこと


    作ってみないと気づきにくいところを3つ置いておきます。

    ① ドットの「粗さ」はカットごとにバラつく

    AIに任せると、寄りのカットや人が多いカットほどドットの格子が細かくなりがちです。1枚ずつ見ると気にならないのに、1本に繋ぐと粒度の違うカットだけ妙に浮く。

    対策は、粗さの基準になる1枚を最初に決めておくことです。外れたカットは「構図と内容はこの画像(構図の正)のまま、ドットの粗さだけこの画像(粗さの正)に合わせる」と参照2枚で引き直すと揃います。画像生成は実質無料 (ChatGPTのサブスク枠) なので、ここは遠慮なく引き直してください。


    ② 大きな変化は、間を「間引く」

    扉が開く、建物が壊れる、みたいな大きな構造変化は、動画AIに任せると事故ります。

    必ずしもそうではないかもしれませんが、実写よりもアニメなんかで起こりやすいような感じがします。例えば、形的に人間には扉と認識できてもAIには認識できていない。そんな感じ。

    正解は、変化前と変化後が問題なければ編集で間をカットする。繋がりの動画に拘り続けると1回数十クレジット、編集なら無料。この判断だけでだいぶ節約できます。実写には不向きかもですけど。

    しかもこれ、妥協かというと逆でした。間をスパッと切って場面が変わるのは、それ自体がゲームっぽい演出になるし、テンポの「引き」にもなる。尺の調整も切り替え位置をずらすだけで済む。

    まぁしょうがないか、でやってみましたけど、逆にいいことのほうが多かったです。

    ※ 左がノーカット。右が公開版と同じ、間を抜いた編集です。


    ③ 歌詞テロップは「透明背景の動画」を1本作って乗せる

    44カットぶんの歌詞を編集ソフトで1行ずつテロップ入れするのは、正直しんどいです。私は、歌詞テロップだけの透明背景オーバーレイ動画を1本作って、編集の最上段にポンと乗せました。修正も差し替えもその1本だけ触ればいい。

    フォントはドット字の「DotGothic16」(無料)にして、ゲームの会話ウィンドウ風に出すと世界観が繋がります。


    まとめ


    最後にひとつだけ。リテイクはケチらないほうがいいです。1回40クレジットは、こだわり1回の値段としては安い。手作業の映像制作なら数日かかる撮り直しが、数分で回るわけなので。

    正直、この作り方の肝は「AIをうまく使う」ことより「AIに何をさせないか決める」ことでした。カメラを捨てる、変化を捨てる、色指定を捨てる、滑らかさまで捨てる。捨てるほど安定して、捨てるほどそれっぽくなる。

    なんか、副業の話といっしょのような気がします。足していくよりも捨てることのほうが重要なときってけっこうありますね。


    ここまで読んでいただきありがとうございました。
    今回のnoteはこれで以上になります。

    このMVを作る裏で「そもそも制作を自動化しようとして盛大に回り道した」話もあって、それは前回の記事に書いています。よければそちらもどうぞ。


    ではまた、次回のnoteで。


    よければ “スキ” や “フォロー” もらえるとうれしいです。


    お願いします🙇‍♂️



    過去のnoteもよければご覧ください。




     
     
    2023年からAI副業スタート。40代、共働き、子どもは2人。20数年の社畜人生に終止符を打つためAIに全振り。同じような境遇の方に少しでも役に立てばうれしいです。40代がAI副業において考えることやつまずくこと、悩むことなんかをリアルな経験をもとに書いています🙇‍♂️

    あなたへのおすすめ