互联网的存在让学习变成了一个成本极低的事情,以前是各种图文教程,这几年视频网站兴起,B站、油管都有大量的教学视频,就连开源项目也都自带方便的学习入口,只要你想学,各种资源随手一抓一大把。首先,开始正题之前,先让我们来赞美上帝、赞美共享和开源精神…阿门…
ComfyUI版AnimateDiff项目地址:https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved。在项目说明后面,还提供了几个漂亮的示例,这些示例都是带ComfyUI工作流图的…只要将你感兴趣的工作流拖到你的ComfyUI界面,即可在本地运行这个工作流~~当然,前提是你要补上缺失的节点插件和模型。我们还是从开始一步一步说说怎么通过提示词生成动画片段:
首先,点击右侧导航条“清除”清理工作区、“加载默认”,然后按一下几步得到AnimateDiff的工作流
1. 添加新节点“CLIP停止层”,连接到大模型与提示词节点之间,数值设置为-2
2. 添加“VAE加载器”节点到“VAE解码节点”,根据大模型版本是否是XL,选择VAE模型的版本
3. 添加“AnimateDiff Evo -> AnimateDiff加载器”节点,连接到大模型和采样器两个模型之间
4. 从输出端“VAE解码器 – 图像”拉出、新建“合并为视频”节点,保持默认帧率8,可以选择输出格式为gif,或是mp4
5. 在画面尺寸节点,调整批次大小到16,16÷8=2,将输出长度为2秒的视频
——-至此,简单输入一个关键字,看能否正常输出视频。(我这里工作流里还加了一个“墨心”Lora)
输出结果
上面演示视频只有两秒,如果大家尝试加大批次数到超过32,会发现报错,提示说最多只能生成32帧视频,要突破这个限制,需要在加入一个上下文节点,下面我们顺道把另外几个辅助点也一起都加上:
6. 新建“上下文设置”节点,连接到“AnimateDiff加载器”上面的“上下文设置”。
7. 新建“动态Lora”节点,连接到“AnimateDiff加载器”上面的“动态LORA”,选择对应的Lora,可以控制镜头运动;另外,动态LORA节点可以串联多个,实现更多动态运动。
——这里可以再点击生成按钮,试试镜头运动和提高时长的输出效果。
8. 安装FizzNodes插件节点,新建“Fiz添加节点 -> 提示词调度”,添加提示词调度节点,替换原有的正向提示词节点
9. 在提示词调度的第一个文本框可以定义每一帧的动作,第二个文本框输入正常的提示词;注意,这里第一个文本框的格式虽然没有花括号方括号,但类似json格式,也就是需要英文双引号、冒号、行逗号
10. 将批次增加到48,也就是6秒,同时忽略Lora节点(一方面为了能看到帧序列关键字是否生效,另一方面加了Lora以后,输出会更“稀碎”^_^)
ok,试试最终输出效果
素材结果
后记:可以看到输出视频非常“丝滑”…仅此而已,很明显角色的一致性是有问题的…只能说,还要继续努力、提高可控性。其实,现阶段无论是StableDiffusion,还是ComfyUI,生成的视频都相对前不久OpenAI新发布的Sora,都是小儿科,可控性很低。(当然,也是因为我刚入门,对很多控制手段都还不了解。而且,Sora也只是发布了一段演示视频,外界还不知道它的具体做法。)不过,现阶段开源免费的做的最好的也就是StableDiffusion和ComfyUI,而且,以这两年AIGC发展的速度,相信用不了多久,开源领域也会出现Sora同级别的产品
——over
转载请注明出处: 昆仑的山头