目录
大家好,我是阿赵。
这次来看看怎样使用StableDiffusion生成角色的多角度视图。
一、 生成素材
先通过提示词生成一个角色
正向提示词
a male high school student,wearing a school uniform,white shirt,black
pants,standing straight,facing the camera,clean and neat
appearance,white background,highly detailed,realistic,8k
resolution,sneakers,full_shot,short black hair
反向提示词
blurry,low quality,distorted,extra
limbs,deformed,cartoonish,text,watermark,dark background,messy
hair,unrealistic proportions,
这里需要注意一下,如果我们想生成一个站立姿势的角色,最好生成的时候的分辨率也是竖屏的,比如512x768
这样生成的图片就可以是比较满屏的
二、 使用ControlNet的OpenPose
控制角色的姿势,一般都是用ControlNet里面的OpenPose了,这样可以用骨骼图来比较精准的控制姿势。
之前使用OpenPose都是通过一张角色图片然后通过预处理器来生成骨骼图的,这里我直接使用这种已经摆好姿势的骨骼图,所以用法上会有一些区别,主要是预处理器不需要选择了,直接none,这样点击小爆炸图标生成的预处理结果预览,就会和原图一样:
然后还是分辨率的问题,由于需要生成4个人物图片放在一张图里面,所以这里需要是横屏的分辨率,直接点击上箭头的按钮,把预处理结果的图片的分辨率设置到生成分辨率:
这里我是保留了之前生成图片的随机数,其实这个我觉得无所谓,因为毕竟修改了生成的设置,所以就算同一个随机数,生成出来的图片也不能保证是和之前的图片一样。
这时候生成,会看到这样一个效果:
这个图片虽然是几个人按照骨骼的姿势站好了,但有几个问题,比如不同角度的角色衣服并不统一,然后角色的脸也变得很奇怪。
生成的角色衣服不一样,这个是很难避免的,有时候还会在手上多了点东西,这只能多点9连抽,生成多张图来选一下了。
然后是脸部的问题,出现这种情况是因为我们生成的图片太小了,很难去绘制这么小的脸部细节。这个问题可以通过增大生成图片分辨率来解决,不过这要看各位的电脑性能是否支持了。还有另外一个方法,就是可以勾选ADetailer,这样可以在生成的过程中修复角色的脸部细节:
在生成完图片之后,ADetailer会再次针对脸部的细节生成一次:
三、 使用Lora模型
这里有一个针对这种角色三视图的Lora模型,叫做CharTurnerBeta,大家可以去C站或者Liblib搜索一下CharTurner就能找到:
有了这个Lora之后,可以点击使用它。需要注意的地方是,这个Lora的推荐权重是0.2-0.4,可以设置一下:
再次生成,感觉会要一些:
其实骨骼图里面也可以放一个近距离半身像的骨骼:
这样生成出来的效果就会出现一个半身像:
不过说实话,我觉得这个半身像挺影响效果的,因为我生成了很多次,经常都会生成出半身像和其他的视图服装和细节不一致的情况。
如果觉得背景太复杂,可以在正向提示词里面加多一个clean ,这样生成出来的图片就干净一些:
在文章里面使用到的角色骨骼图,在网上有,因为不是我自己制作的,所以暂时不放出来。其实也可以找个绑定了骨骼的3D角色模型,摆几个姿势渲染出图,然后通过OpenPose的预处理提取骨骼。如果各位实在找不到,也可以在评论里面说一下,我再放出来。