見出し画像

【AIアニメ】ComfyUIとControlNetでAnimateDiffを楽しむ

  • 「AnimateDiff」では簡単にショートアニメをつくれますが、プロンプトだけで思い通りの構図を再現するのはやはり難しいです。

  • そこで、画像生成でおなじみの「ControlNet」を併用することで、意図したアニメーションを再現しやすくなります。


必要な準備

ComfyUIでAnimateDiffとControlNetを使うために、事前に導入しておくのは以下のとおりです。

  • カスタムノード

  • モーションモジュール

    • ここでは「mm_sd_v14.ckpt」を使います。保存先のフォルダは"ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\models\"です。

  • ControlNet

  • 画像生成モデル (ComfyUI\models\checkpoints\)

    • 好きなものを使います。今回のワークフローではアニメ系のモデル「CarDos Anime」を使用しています。

Openpose画像

  • Openposeでは棒人間のようなイラストを使ってポーズを指定できます。

  • 今回はサンプルとして人が手を振るだけの16フレームの連続画像を用意しました。

GIF化したもの
  • 今回はComfyUIフォルダの直下に適当なフォルダ(00_Openpose)を作って、そこにOpenpose画像を格納します。

ワークフロー

  • 今回使用するワークフローは以下です(ComfyUI-AnimateDiff公式のワークフローを参考にしています)。

  • このJSONファイルをダウンロードして、ComfyUI画面にドラッグ&ドロップするとワークフローを読み込めます。

  • JSONをドラッグ&ドロップしてワークフローが読み込めたら「Load Images」や「Load Checkpoint」などをご自身の環境に合わせて修正してください。

  • 準備ができたら、右上の「Queue Prompt」を実行して生成を始めます。

  • このワークフローでは、512x768のサイズで生成したあと、さらに1.5倍にアップスケールします。サイズや倍率はお使いのGPUに合わせて調整してください。

  • 生成された動画は、"ComfyUI\output\"フォルダに保存されます。

  • ワークフロー内のプロンプトを変更すれば、キャラクターデザインや表情、背景を変えながら色々な動画を生成できます。

TIPS

  • VRAM容量が足りているのにCUDAエラーが発生する場合、UI起動時に"--disable-xformers"のフラグを付けてxformersを無効化します

  • 既存の動画からOpenpose画像を作成する方法については、上記のnoteの中で説明しています(カスタムノード「ControlNet Auxiliary Preprocessors」を使います)。

関連記事

  • そのほかのComfyUI AnimateDiffについての記事は、以下のnoteにまとめています。