Comfyui實用工作流教程11期——Animatediff首尾幀絲滑可控動畫

CG迷
2 位粉絲
1 觀看·2024年12月25日
AnimateDiff,一個可玩性極高
並以無比絲滑連貫的效果而著稱的視頻插件
這一課就來給大家深入講解一下
ConvUI AnimateDiff的各種使用技巧
首先我們得在ConvUI裏面安裝一下
這個帶EVO的後綴的進階版AnimateDiff插件
同時我們還要把兩個動態模型和一個羅網模型
放置到下面對應的位置
然後重啓一下ConvUI
這時候我們右鍵新鍵節點
就可以看到這個AnimateDiff EVO欄目了
在這裏點擊GEM1
把這個動態擴展加輔器加載出來
它的連接也非常簡單
把大模型連接過來
然後輸出到K採樣器即可
OK這樣就連接好了
最後我們要把這個圖像節點刪除掉
因爲我們是要輸出成視頻
所以我們右鍵新鍵節點
在視頻註冊裏面添加這個合併爲視頻節點
連接到最後
這樣一個基本的AnimateDiff工作流就搭建好了
這裏設置輸出視頻的幀數率
對於AnimateDiff輸出的視頻
一般我們都是設置成8
格式選擇MP4
然後在ConvLater裏面需要把這個p次改成16
也就是生成16張圖片
把這些圖片合併成一個視頻動畫
由於AnimateDiff的動態架構是以16張畫面來進行訓練的
所以這裏設置成16效果是最好的
搭配最後的幀數率8
也就是會生成一段2秒鐘的視頻動畫
在這裏可以選擇使用AnimateDiff的VR版模型
還是最新的V3版模型
如果你選擇的是V3模型
那麼還需要額外添加一個LOA加載器
把它串聯在大模型後面就可以了
然後選擇專門匹對V3版運動模型的LOA進來
這裏是調度器的選擇
這個SQRT是最均衡的線性調度器
也是最常用的
下面還有專門針對SDXL、LCM模型的多個不同類型
我們也不需要煩惱
直接選擇第一個AUTO選項
動態擴散節點就會自動幫我們選擇最優的調度器了
再下來就是動態縮放
這個是控制AnimateDiff生成動畫的動態幅度的
數值越小
運動幅度也越趨向於鏡子
數值越大
動態幅度也越大
但這個數值也不能太大
可以看到加大這個數值
畫面就會變得越不可控
最後這個使用VR模型開關
不管是用VR還是V3模型
都建議保持開啓即可
開啓後會減少畫面的閃爍情況
參數瞭解完畢後
我們就可以在這裏輸入對應的提示詞了
例如這裏我簡單輸入一個女孩
戴着無邊帽
穿着夾克
捲髮
微笑
在街頭上
點擊生成
可以看到AnimateDiff就給我們生成了一段簡單流暢的動畫出來了
現在用的是V3版動態模型
我們也可以把LOA關閉掉
切換成VR的運動模型
個人覺得VR版模型生成出來的畫面效果會更好一些
而V3版模型則是在大幅度的動態變化方面表現會更好
我們來用VR版模型再來生成一次
可以看到VR版模型生成出來的畫面也是非常不錯的
大家都可以切換來嘗試一下
但現在這個基本的AnimateDiff工作流生成出來的人物和背景都是隨機的
那有沒有什麼辦法可以指定人物生成呢
當然是可以的
我們只需要在這個工作流的基礎上
右鍵在應用ipadata裏面添加應用ipadata高級節點出來
繼續再添加一個ipadata加載器節點
把模型和ipadata相互對接起來
關於ipadata節點的安裝和模型的配置
在前面的課程已經給大家詳細講解過了
不清楚的同學可以回看一下前面的課程
大家也可以直接來到端腦雲
點擊CGMI專屬的鏡像
本節課關於AnimateDiff的所有插件
模型和工作流都已經在裏面部署好了
直接一鍵就可以運行
另外在12月24號到元旦期間
端腦雲繼續給大家發放聖誕福利
老粒子買一送一
衝一百送一百
對在線使用有需求的同學可以趁着活動時間多囤一點老粒子了
同時端腦雲模型廣場也開放給大家免費隨意使用
像Meta的Lama
谷歌的Gemma
還有阿里的通易千問
都是非常厲害的大語言模型
一點都不輸ChatGPT
有什麼問題要寫什麼腳本
要做年底彙總報告等等
都可以在這裏直接讓AI幫忙
此外端腦雲還舉辦了一個聖誕創作大賽
同學們只要參與活動
就都可以獲得5000年老粒子的贈送
參與方式也很簡單
大家只需要加入端腦雲的Discord社區
通過端腦雲的鏡像
生成一張關於聖誕主題的圖片
並附帶簡單的描述
發佈到端腦雲Discord社區
聖誕創作大賽頻道就可以了
點贊率靠前的作品
還可以獲得海量的老粒子獎勵
感興趣的同學不妨過來參與一下啦
好,我們回到教程的講解
在ipadata節點
正面圖像直接拖出一個加載圖像
這裏加載一張我們想生成的人物圖片進來
ipadata參考強度可以改成plus高強度
現在要把這個ipadata模塊
和animative基礎工作流連接起來
只需要把animative節點的模型連接過來
然後輸出接口連接到K採樣器
這樣ipadata模塊就添加好了
一開始測試的時候
我們可以把ipadata的權重降低一點
new改成0.5
點擊生成
可以看到和剛所非常相似的人物動效就生成出來了
包括這邊身上的綠寶石項鍊
一樣能夠復刻出來
這處人物的生成是控制好了
但背景還是和上傳圖片一樣的純色背景
假設我想換一個背景
在提示詞裏面輸入城市裏面
點擊生成
可以看到在ipadata的作用下
通過提示詞來控制背景幾乎是無效的
所以我們可以通過再複製一個ipadata節點和圖像節點出來
把兩個ipadata節點串聯起來
再傳輸回K採樣器
這時候我們就可以在第二個ipadata上換一個圖片進來了
例如我上傳一張樊高星空圖片進來
提示詞就把剛剛輸入的城市描述刪除掉
直接通過ipadata圖像來控制即可
點擊生成
但這時候生成出來的是剛手和星空圖片混合在一起的混色動態
這個不是我們想要的
我希望是剛手的人物主體
背景是星空的圖片
所以我們要繼續優化一下工作流
在剛手圖片上右鍵
在遮罩編輯器中打開
塗抹出人物的主體輪廓
這樣這張圖片就有了遮罩了
把人物的遮罩傳輸到第一個ipadata的關注層遮罩裏面
讓它只參考人物的主體
至於背景
我要讓它應用在人物遮罩的外面
所以我們搜索一下反轉遮罩節點
把它加載出來
直接反轉一下人物的輪廓
這樣就是背景的區域了
把反轉後的遮罩應用到樊高圖片的遮罩上
這樣我們就完成了兩個ipadata節點各司其職
一個負責人物一個負責背景
點擊生成
這樣就可以再次得到畫面非常乾淨的動畫了
不過現在我覺得樊高的背景效果還不夠明顯
那麼我們只需要把第二個ipadata的權重稍微增加一點
改成0.6
再來生成一次
這樣就可以實現指定人物和指定背景可控的動畫生成了
現在生成的是一個單獨的畫面場景
那如果我們想通過animate diff來製作兩個畫面之間的變化動效
應該怎麼操作呢
這裏就要用到sparse control這個controller技術了
我們先來簡單過一下sparse control的技術文檔
首先我們直接給它提供幾幀隨意的草稿圖
那麼sparse control就可以根據這幾張草圖的輪廓
自動生成連貫的動效了
除了線稿圖外
我們給它提供連續的滲透圖也是可以的
不過這次我們要用到的是它下面的這個功能
圖片與圖片之間的真差值方式
給它提供一張首幀的圖片和尾幀的圖片
那麼sparse control就可以在這兩張圖片之間生成一系列的真差值了
從而讓兩個畫面連貫起來
瞭解了這個原理後
那麼接下來我們就要在conv1-2裏面調用sparse control
首先把預先準備好的兩個圖片節點挪動過來
替換一下首幀和尾幀的圖片
然後我們右鍵新建節點
在條件裏面找到control.net控制網絡
添加這個control.net應用高級節點出來
conv1的control.net我們已經非常熟悉了
直接把它串聯在提示池和K採樣器之間即可
接着我們就要把sparse control控制器加載出來
這裏需要安裝一下conv1高級control.net這個插件
找到sparse control
把這個sparse control加載器加載出來
連接到control.net接口
而sparse方法拖出一個sparse control分離方法
這裏面有4種不同的偵察值速度方式
一會兒有畫面生成後再來給大家講解它們之間的區別
這裏我們就選擇預先放置好的v3 sparse control control.net模型
接着就要把這兩個圖片傳輸過來
但現在僅僅只有一個圖像接口
所以我們要搜索一下圖像組合批次
通過這個節點把兩個圖像連接起來
那是不是把這個合併後的圖像傳輸給control.net就可以呢
我們都知道不同的control.net是有對應的預處理器的
例如線稿有線稿的預處理器
深度有深度的預處理器
而sparse control也不例外
我們要在sparse control裏面點擊這個預處理
把sparse control預處理器節點加載出來
現在我們就是要先把合併後的圖片傳輸進預處理器
等處理好後再傳進control.net裏面
這樣就沒有問題了
接下來就簡單了
就是把VAE還有空latent的接口分別連接過來即可
這樣這個sparse control模塊就搭建好了
我們來點擊生成一下
可以看到現在過渡的動畫實在是亂成一團
簡直無法觀看
原因就是要實現這種大幅度的變化
那麼我們就不能用VR模型了
而是要選擇V3模型
同時開啓V3模型專屬的loa
並降低一點loa的全種值
接下來我們還要新增一個考慮上下文的節點
直接在上下文設置裏面拖動出來
就可以看到現在可以連接三個上下文設置節點
我們分別都把它們加載出來對比一下
實際上這個上下文設置循環統一的參數
就包含前面兩個節點的相關設置了
所以我們連接這個節點就可以了
那麼這個節點有什麼用呢
增加這個節點後
AnimateDiff生成的每幀畫面
都會根據前後的畫面來進行綜合考量
從而能讓生成出來的畫面更加自然穩定
這樣就不會亂成一團了
這個上下文長度
就是保持layton p次一樣的16
上下文計算步數
保持1這個基本的單幀爲主的單位
上下文重疊4
這個意思就是每幀畫面生成的時候
都會考慮計算畫面前面和後面一共4幀的動態
而不是單獨各固各的
因此生成出來的視頻動態效果就會更加自然絲滑了
閉合循環
這個只有在加載多張圖片
讓AnimateDiff首幀和尾幀相同的情況下才需要開啓的
加載多張圖片和AnimateDiff長視頻的玩法
在後面的課程會給大家講解
感興趣的同學可以關注一下CGME全面掌握ConvUI系統課程
OK,調整好後我們再來生成一次
誒,這時候我們就可以看到
從圖片1轉成圖片2
非常絲滑的動態效果就生成出來了
過渡轉場也非常的自然流暢
現在這個動畫是以線性平均的速度進行轉換的
也就是這邊第一個選項不變
我們可以通過下面幾個選項來改變變換的節奏
其實意思就是一開始立刻就加速變換
我們來嘗試生成一下
可以看到在首幀開始
Shift一下就立刻轉成第二張圖片去了
整個動態變化就有不一樣的感覺了
結束就是反過來
在第一張圖片的狀態下儘量保持住
然後在後面加速轉變成尾幀的圖片
中心就是首幀和尾幀都保持住
在中間突然加速變化
我們來測試一下
點擊生成可以看到
現在就是視頻中間突然進行加速轉場
讓頭和尾有更多的定版動畫展示
不過我們用的最多的還是這個Uniform
恆定的變化節奏效果也是最不容易出錯的
這樣這個首尾幀Animative動態工作流就搭建好了
現在我們就會隨意更換圖片
圖片選擇的時候
大家要儘量選擇一些意境或者是輪廓匹配的圖片來進行搭配
這樣轉化的效果纔會更好的
點擊生成
可以看到非常自然的幾米峯
宇航雲過渡效果就生成出來了
中間的星球變化也是非常絲滑的
通過這個工作流
我們還能製作一些logo出現的動效
例如把自己的logo圖片加載在尾幀的位置
點擊生成
那麼非常炫酷的logo出現效果就生成出來了
所以用好Animative就會製作出很多好玩和具有商業價值的效果了
當然了
Animative的功能遠不止於此
還有很多可以挖掘的地方
我們在後面的課程會給大家繼續講解
好了
以上就是本期視頻的全部內容
喜歡像這種全流程工作流講解
希望能夠學習到更多節點原理和使用的同學
請持續關注CGME和端老雲的視頻發佈
感謝大家的觀看
那我們下期再見
拜拜
