動画生成AIのRunwayでキャラクターを踊らせよう
先日Xに投稿した縦型ダンス動画の作り方について説明します。この方法を使うとイラスト調の人物だけでなく、フィギュア、実写のキャラクターまで踊らせることができます。
動画生成AIサービスのRunwayでは、2024年9月21日より縦型の動画生成にも対応しました。Gen-3 Alpha Turboを用いたimage-to-videoのみの対応です。
要点
画像素材の質が命運を分ける
画像素材に合わせてプロンプトを調整する
画像素材を用意する
ここが本当に大切です。
適切な画像を用意できないと、良い感じに踊ってくれなかったり、バケモノ(記事最後参照)になったり、破綻します。
要点
人物サイズ: 全身または膝上
人物の向き: 身体が正面を向いている
背景: シンプル
衣装とポーズ: 踊りやすい服装、やや動的な姿勢。
絵柄: 言語化難しい
サンプル画像とプロンプト
nijijourneyで作成しました。
なぜ「vtuber」なのか?
女性であることを明示するとブロックされるからです。踊らせやすい格好は自然と露出が増えるので、そのスコアが積み重なってniji/midjourneyだと怒られます。面倒ですよね。
Stable Diffusionなどで自前で用意する人は気にしなくて良いです。(Runwayで弾かれる可能性ありますが)
ちなみに「idol」「character design」「style」「stylize」は無くても大丈夫です。
1. 人物サイズ
全身を収めるとダンスが自然になります。特に人物の左右に空白があると、手をやや大きめに動かしてくれる印象です。
全身が無理な場合でも、腰の下・太ももの中間くらいまで画面に写せると良いでしょう。ショットプロンプトでいうところの「cowboy shot」や「medium-long shot」などが該当します。腰の動きも加わり、踊っている感が強調されやすいです。
2. 人物の向き
正面向いてください。これが一番制御しやすいです。
後ろ姿や横向きでも出来るのですが、試行錯誤が必要です。再現性も高くないので今回は除外しました。バケモノと格闘したい方は挑戦してみてください。
3. 背景
最初はシンプルな背景にしましょう。画像プロンプトの「white background」が該当します。
イラストで背景有りの場合、背景情報に引っ張られてキャラクターまで実写化する・バケモノ化しやすくなるケースが度々ありました。動画側のプロンプトで抑制はできますが、それにはコツが必要です。当記事で全て伝えられないので、今回はシンプルな背景にしましょう。再現性も高まります。
実写であれば問題にならないので無視して大丈夫です。
4. 衣装とポーズ
衣装
踊りやすい服を着ていると、踊ってくれます。動画生成AIは渡した画像から文脈を解釈するので、動画プロンプトと画像の文脈が一致している時、効果的に生成してくれます。
また動画プロンプトの指示によっては、勝手に服を剥がすこともある(ダンスの元ネタに合わせようとする)もあるので、画像の時点で動画の性能に合わせると破綻リスクが減ります。
ポーズ
体感ですが、ぼっ立ちだと動き出しが鈍いし、可動域も狭い印象です。最初の画像の時点で少し動きがついているくらいがちょうど良いです。
動きをつけすぎるとどうなるのか?動きが激しくなりがちです。やがてバケモノになります。
5. 絵柄・スタイル
これは最後の調整ポイントですが、リアル寄りだとバケモノになるリスクが上がると考えてください。動画プロンプトで抑制は可能ですが限度があります。もしバケモノになったら、リアル度を下げる工夫をすると良いかもしれません。flat colorスタイルにするとか、陰影をリアルにしないとか。
Runwayで動画にする
長えよって思いましたよね。すみません。でもそれくらい画像準備が大事なんです。
以下はサンプルプロンプトで作った例です。
サンプルプロンプト
縦型動画なのでRunway Gen-3 Alpha Turboを使います。
以下、プロンプトの説明です。
プロンプト説明: ダンス部
必須
XXX dancing
XXX部分
実在ダンス名
girls hip hop~: KPOPっぽい踊りです?
belly~
雰囲気
happy~: おすすめ。バケモノリスクを抑えつつ、ちゃんと踊ってくれます。
relaxed~
footstep~
任意
Rhythmic
dancing部分に影響を与える
動きがリズミカルになるが、ダンスの種類によっては競合してカクカクになる。
body wave
身体を揺らせる動きだが、効かないこともある。
hip dips
腰・尻を振る動きだが、効かないこともある。実在ダンスを指定している場合はあまり効果ないかも。
bold move
動きをよりダイナミックにできるが、カクつくことが多い。いろいろ手を打っても緩慢な場合に効果を得ることがある。
表情部
必須
Changes in natural facial expressions.
これがあると表情変化が起きやすくなります
任意
quick blinking and look down, then smile.
「素早く瞬きして、下を見て、そして笑って」
表情変化を強化するプロンプトですがlook downは効いてる感じはないです。
実は実写生成のバストアップショットだとちゃんと効きます
イラストだと効果ないだけ
ダンス動画に限って言えば無くても大丈夫(ダンスしている時点で表情に波及効果あるため)
注意:
これらを入れることでバケモノリスクが上がります
バケモノになる場合は外すことで抑制できることも
ショットと描画モーションの指定
必須
static camera
static shotでも大丈夫
正直いえばショットは何でもいいですが、安定している方がやりやすいです。
natural movement
動きが滑らかになるのでダンスと相性が良いです
任意
dynamic motion
動きを大きくしたい場合にもち入りますが、カクつく原因にもなります。動きが滑らかではない場合は外した方が良いです。
dynamic scene elements
主に環境や背景、モノなどに影響します。服や揺らぎ物にも少し影響あります。シンプル背景を用いた今回のケースだと影響は小さいです。
描画スタイルの指定
描画スタイルはどちらもオプションですが、バケモノ回避策として優秀です。
ちなみに、実写スタイルの場合はここは不要です。
in game cinematic
「これはゲームのシネマティックである」と伝えてます
ゲームエンジンが描写するようなやや粗めのCGだと伝達できれば、おそらくこれ以外のプロンプトでも効くはずです。自分はこの記述でやってます。
バケモノ化は実写になろうとして起きる(ように見える)のですが、このプロンプトによって、本格的にバケモノになるまでのマージンを得られます。実写ではなくトゥーン調のCGになるイメージです。
flat illustration style
これを加えたらイラスト調のバケモノ化が抑制されました。in game cinematicと併用することで抑制効果が高まります。
ただし、動きの強さも抑制するので、バランスが必要です。
スタイルプロンプトの重ね掛けが有効です
「flat illustration and anime art style」
flat illustrationだけだとバケモノになる生成でも、これにすると抑制されました。効果は確認済みです。
ピクセルアートの場合:
「pixel art style」に変える
まとめと感想
クソ長い。
縦型動画を大量に作って思ったことですが、生成AIは成果物と制作者の間でインタラクティブなやり取りを繰り返さないと得たい結果を得られないということです。記事だけで全知識を伝えられる気がしません。発見した知見はまだまだありますが、それらは暗黙知的であって言語化が難しい。
結局最後は「沢山試して勘所を掴んでください」としか言えないなと思いました。
※記事中の「バケモノ」とは何か
こういうやつです。内側から実写的何かが表出して、かわいい何かをホラーに変えてしまいます。