歩行モーションを下から眺めたいpart2 (そこそこ)
数日前、「AIフレーム補間で歩行モーションを下から眺めたい(微妙)」と題して、歩く少女のスカートを下から眺め続けるモーションをAIフレーム補間で作ろうとして、微妙な出来になりました。
Stable Diffusionから直接出力できるアニメーション系の機能についても、サンプルを見る限りはちょっとウーンと首をかしげたくなります。
がしかし、見ただけでわかった気になって良いものか。やはり体感せねば…ということで、
AnimateDiffで歩く少女のモーションを出力してみた
お…、おお…!
これだけ見ると可能性の塊に思えるのですが、いくつか罠がありました。
- 基本はtxt2imgで使うものなので、Prompt次第で動きを制御できるわけではない
(歩く少女を下からのぞく、みたいなPromptを指定しても歩くかどうかは運次第) - まるで過学習したLoRAのように絵柄が変わる。上記の絵はKayWaiiモデルで出力したけれど絵柄は元とは似ても似つかない
- img2imgによる元絵の部分修正は可能だけれど、動きの部分修正は不可能
- (当たり前だけど)フレームの数だけ生成に時間がかかる
512x512pxでなんとなくPromptを指定して、なんとなく動きが付く、という意味では100点満点です。
思ったとおりの動きには全然ならないのでガチャの試行が必要ですが、16フレームの出力ならRTX4070で30秒くらい。
上の絵が出るまでに20回くらいやりなおしので、だいたい10分くらい。これを早いと見るか遅いと見るかは人それぞれかと。
ちなみに、txt2imgで歩くモーションが出たからといって、それをそのままimg2imgへ持っていったら同じものの綺麗なバージョンにアップスケールできるかというとそうでもありません。またガチャが発生する。しかも今度は30秒なんて時間じゃなくて、5分くらいかかるので、とても常用する気にはなりませんでした。
また、ControlNetを使い、開始フレームと終了フレームを用意して望み通りのアニメーションにする手法もあるようなのですが、うちの環境では全然うまくいきませんでした。
解説記事を読むと、webuiのバージョン、checkpoint、モーションモデルのバージョンによってうまくいったりいかなかったりして不安定なようなので、これ以上試すのはやめておきました。
AnimateDiffのインストール
- Stable Diffusion web-uiの[Extensions]→[Available]から[sd-webui-animatediff]を選んで[Install]
※[Install from URL]に https://github.com/continue-revolution/sd-webui-animatediff を入力しても可 - AnimateDiff用のモーションモデルをDL
https://huggingface.co/guoyww/animatediff/tree/refs%2Fpr%2F3 - DLしたファイルを /webui/extensions/sd-webui-animatediff/model にコピー
webuiをリスタートすれば、操作パネルに[AnimateDiff]の項目が増えているハズです。
あとは[Motion module]のプルダウンで、先ほどDLしたモデルを選択し、[Enable AnimateDiff]のチェックを付けて生成すれば16フレームのアニメーションが作成されます。デフォルトだと秒間8フレームなので2秒ですね。もちろん長さは変更可能。
おまけ:手作業アニメーション
編集手順は以下のとおり。
- ワープ変形で元絵の右脚を上に左脚を下に加工。ケツの動きは好みで。
- [アニメーション作成]で9フレーム出力(Frame 1.png~Frame 9.png)
- repeat9.batで往復に変換(これでFrame 1~16.pngが完成)
- ワープ変形で元絵の左脚を上に右脚を下に加工。ケツの動きはry。
- [アニメーション作成]で9フレーム出力(Frame 1.png~Frame 9.png)
- repeat9.batで往復に変換(これでFrame 1~16.pngが完成)
- rename17.batでFrame 17~30.pngに名称変更
- 完成したFrame1~30.pngをGIMPでwebpに変換
文字で書くとややこしいですが、バッチファイルでフレームコピーの手間省いてるので実際やってみると案外簡単です。
※repeat9.bat
copy "Frame 8.png" "Frame 10.png"
copy "Frame 7.png" "Frame 11.png"
copy "Frame 6.png" "Frame 12.png"
copy "Frame 5.png" "Frame 13.png"
copy "Frame 4.png" "Frame 14.png"
copy "Frame 3.png" "Frame 15.png"
copy "Frame 2.png" "Frame 16.png"
※rename17.bat
rename "Frame 2.png" "Frame 17.png"
rename "Frame 3.png" "Frame 18.png"
rename "Frame 4.png" "Frame 19.png"
rename "Frame 5.png" "Frame 20.png"
rename "Frame 6.png" "Frame 21.png"
rename "Frame 7.png" "Frame 22.png"
rename "Frame 8.png" "Frame 23.png"
rename "Frame 9.png" "Frame 24.png"
rename "Frame 10.png" "Frame 25.png"
rename "Frame 11.png" "Frame 26.png"
rename "Frame 12.png" "Frame 27.png"
rename "Frame 13.png" "Frame 28.png"
rename "Frame 14.png" "Frame 29.png"
rename "Frame 15.png" "Frame 30.png"
まとめ
モーションはAnimateDiffのほうが圧倒的に良いけど、センスある人ならもっと綺麗に加工できるだろうなーと思いました。



















