想让AI图片里的人摆个特定的姿势,或者露出你想要的那种微妙表情,而不是每次都像开盲盒一样,其实没那么玄乎。关键在于你得知道怎么跟AI“说话”,而且要用对工具。这事儿分两个层面:一是靠嘴皮子功夫,也就是写好提示词(Prompt);二是直接上“模具”,让它照着样子做。
我们先从最直接的“嘴皮子”功夫说起。
第一步:用简单、直接的词汇描述
刚开始,别想太多,直接告诉AI你想要什么。你想让角色笑,就写“smiling”;想让她悲伤,就写“sad”;想让她惊讶,就写“surprised, eyes wide open, mouth agape”。动作也一样,“sitting on a chair”(坐在椅子上)、“running”(跑步)、“leaning against a wall”(靠在墙上),这些都是最基本的指令。
但是,你很快会发现,只说“smiling”出来的笑容可能千篇一律,要么就是笑得像个假人。这时候就需要把描述具体化。
细化你的表情指令
AI理解不了“有点开心的那种感觉”,你得把这种感觉拆解成面部肌肉的组合。
- 笑容:是“gentle smile”(温柔的笑)、“happy smile”(开心的笑),还是“smirk”(得意地笑)或者“grin”(露齿笑)?更进一步,可以描述眼睛,“smiling with eyes closed”(笑得眯起了眼),或者“joyful expression with sparkling eyes”(眼神闪闪发光的开心表情)。把表情和眼神状态组合起来,效果会好很多。
- 悲伤:是“sad expression, eyes downcast”(悲伤的表情,眼神下垂),还是“crying with tears streaming down face”(泪流满面)?或者更含蓄的“melancholy expression, staring into the distance”(忧郁的表情,凝视远方)。
- 愤怒:是“angry, frowning, clenched teeth”(生气、皱眉、咬紧牙关),还是“furious expression with narrowed eyes”(眼神凌厉的暴怒表情)?
你看,关键就在于“拆解”。把一个模糊的情绪,拆成具体的五官动作。多用“and”或者逗号把这些细节组合起来,AI就能更准确地抓住你想要的感觉。比如,“a woman with a sad expression and tears in her eyes, looking down at her hands”,这个指令就比单纯一个“sad woman”要精确得多。
细化你的动作指令
动作姿态也是同样的道理。一个简单的“standing”(站立) 太模糊了。AI可能会给你一个呆板的立正姿势。你得告诉它“怎么站”。
- 手放哪里:“hands on hips”(双手叉腰)、“arms crossed”(双臂交叉)、“hand in pocket”(手插口袋)、“arms behind head”(双臂抱头)。手的摆放位置直接决定了人物的气场和状态。
- 身体朝向:“looking at viewer”(看着观众)、“turning back”(转身)、“view from behind”(背影)。这些词决定了观众的视角。
- 身体重心:“leaning forward”(前倾)、“standing on one leg”(单腿站立)。这些描述能打破画面的僵硬感,让姿态更有动态。
把这些组合起来,一个指令可以是:“a man in a suit, standing with arms crossed, leaning against a brick wall, looking away from the viewer.”(一个穿西装的男人,双臂交叉靠在砖墙上,视线望向别处)。你看,画面感是不是一下子就出来了?
但是,无论你的语言描述多么精确,它总有个上限。比如你想要一个非常特定的、复杂的舞蹈动作,或者某个电影角色的经典姿势,光靠语言很难100%还原。这时候,我们就得用上更硬核的工具了。
终极控制:使用ControlNet和OpenPose
如果你用的是Stable Diffusion,那ControlNet这个插件就是你必须了解的东西。 它就像一个“控制器”,能让你在生成图片时加入额外的控制条件,而姿态和表情控制是它最强大的功能之一。
这个功能的核心是一个叫做“OpenPose”的模型。 简单来说,OpenPose的作用是识别一张图片里人体的关键点——头、脖子、肩膀、手肘、膝盖等等,然后生成一个“骨骼图”。 这个骨骼图不包含任何画面、颜色、光影信息,只保留了人物的姿态结构。
然后,你就可以把这个骨骼图交给ControlNet,再配上你的提示词,比如“一个宇航员”,AI就会生成一个和骨骼图姿势完全一样的宇航员。 这就实现了姿势的精确复制。
具体操作步骤大概是这样:
- 准备一张参考图:这张图可以是任何包含你想要姿势的图片,比如一张照片、一张电影截图,或者一张别人的画。你甚至可以在一些专门的网站上下载别人做好的姿势参考图。
- 在Stable Diffusion的WebUI里启用ControlNet:通常在“文生图”或“图生图”界面的下方,你会找到ControlNet的设置区。
- 上传参考图并选择预处理器和模型:把你的参考图上传到ControlNet的图像区域。在预处理器(Preprocessor)里选择“openpose”,在模型(Model)里也选择对应的“openpose”模型。
- 运行生成:点击“启用”,然后像平时一样写好你的提示词,点击生成。AI在生成图像时,就会严格按照你参考图里的姿势来构建人物。
OpenPose的功能还不止于此。它有不同的版本,比如“OpenPose_full”可以同时捕捉身体、面部和手部的关键点,这意味着它不仅能复制姿势,还能在一定程度上复制表情和手势。 比如,参考图里的人张着嘴笑,那么生成的骨骼图就会包含嘴部张开的关键点信息,最终生成的人物也会是张嘴笑的。
如果你连参考图都没有,只有一个脑海中的姿势怎么办?可以直接“手搓”骨骼图。有一些叫“OpenPose Editor”的在线工具或插件,它会给你一个可以拖拽的骨骼小人,你可以像摆弄木偶一样,把它调整成任何你想要的姿势,然后把这个骨骼图保存下来,再导入到ControlNet里使用。 这样就实现了完全自由的姿态创造。
Midjourney的解决方案
对于Midjourney用户来说,情况有点不同。Midjourney没有像ControlNet这样开放的插件系统,但它也提供了自己的解决方案来处理角色一致性和姿态变化。
一个是“Vary (Region)”功能。 你可以先生成一张比较满意的角色图片,然后使用这个功能选中角色的脸部,再在提示词里专门描述你想要的新表情,比如“sad expression”。 Midjourney会重新绘制你选中的区域,在保持人物其他特征不变的情况下,给TA换上新表情。
另一个更强大的功能是“Character Reference”(角色参考),通过指令“–cref”实现。 你可以上传一张角色的图片作为参考,然后在新的提示词里描述不同的动作。 比如,你的参考图是一个站着的人物,你可以用“–cref [图片链接] a man sitting on sofa”(一个男人坐在沙发上)这样的指令,来生成同一个角色坐下的样子。 通过调整“–cw”参数的权重,你还可以控制参考的强度,决定是更侧重于保持角色的脸部特征,还是全身的服装都一并保持。
总的来说,精确控制这件事,就是从模糊到具体的过程。先学会用更丰富的词汇去描述,这能解决80%的问题。当语言达到极限时,就借助ControlNet和OpenPose这样的工具,直接给AI一个“骨架”让它照着做,这样就能达到像素级的精确控制。这两种方法结合起来,你就能从一个只能“开盲盒”的用户,变成一个能主动“设计”画面的创作者。








评论前必须登录!
注册