看到有不少朋友询问关于如何在沙发等弹性表面产生压痕,在这里分享一个利用dforce的方法,第一次写教程不足之处还请指正。
首先上图(单纯演示,所以做的不是很精细,手指穿模了,大家请忽略):
如果对dforce不了解的朋友,可以先去看看“成哥的口水面”大神的dforce基础教程。
https://daz3ddl.com/posts/novice-tutorial/730
https://daz3ddl.com/posts/novice-tutorial/685
下面说一下简单思路:
其实方法很简单,将人体模型或者其他放在沙发上的物体设为静态表面,将沙发表面设为动态表面,通过动画使两者接触,从而在动态表面产生压痕。
步骤如下:
1.设置场景,调整模型。
2.选中沙发,添加dforce modifier,并设为dynamic surface。(simulation setting标签上点击右键)
3.继续选中沙发,转到surface面板,将不需要产生压痕的表面,比如沙发脚,扶手和靠背等,选中simullation页面,关掉visible in simulation。
4.选中人体或其他需要放置在沙发上的物体,添加dforce modifier,并设为static surface。(方法同2)
5.继续选中人体,朝y轴方向上移15cm左右(完全离开沙发表面即可)在timeline第一帧打上关键帧。
(因为尺度关系给模型穿了一件衣服,实际操作是建议落体)
6.将时间轴移动到30帧左右,下移模特到沙发表面下5到10公分的位置,根据沙发材质不同自行调整,然后打上关键帧,在关键帧后流出半秒左右的余量,保证人体压下后沙发表面达到稳定状态,因为我截图的时候已经做过了模拟,所以抱枕上已经有了压痕,请忽略。
7.进入simulation setting面板,按如下方法设定(重力0,空气阻力0,动画方式模拟,关掉start bone from……):
8,点击模拟按钮开始模拟,等待模拟结束,对模型下落的高度,和沙发表面的dynamic strenth等参数做微调,让效果尽量自然。
9.为模型加上衣服和头发,如果要对衣服和头发加重力,先将沙发表面设为static surface,然后延长时间轴,分先后模拟头发和衣服的重力(比如模拟头发时将衣服设为static surface ,反之亦然),不建议同时模拟,dforce功能不是很完善,一次性计算量太大,容易崩溃。
当然其他方法还有很多比如用mesh grabber,dform,或者为沙发添加smooth modifier并将人体设为碰撞体。
不过个人认为这个方法最简单,最直观,效果也最接近布料的真实褶皱。
ZIYU 山东省
收藏 了好教程,感谢分享。
sakalanmu 浙江省
这个压痕能不能运用到人体?
阿尔椁丝 重庆
好家伙,感谢老哥分享经验
wnj1234567890 加州
收藏 了 好教程,感谢分享。
feiran 华盛顿州
好教程,感谢分享。
maoyu ZX 四川省
好教程,感谢分享。十五个字不够就十六个字
diyuchen 陕西省
感谢分享,涨姿势了
girlindistress 山东省
终于找到这个教程了。为什么不挪到新手教程板块呢?
fagott 河南
好家伙,我直接好家伙,感谢老哥分享经验!
gobigbro 山东省
老哥你坐稳了,这下子我可要赞你了
woobushiguojing 湖北省
好教程,感谢分享。十五个字不够就十六个字。
wsmonkeyking 浙江省
老兄的办法我认为是正解,模拟才是皇道。这里我补充三点,一是沙发面力是向上的,重力用负值比如-1,让布面向上顶人体,方便且效果会更好点。二是接触布面的网格数太小时可能模拟效果不好需增加,三是DAZ是按材质分表面的,你在surface里往往发现沙发上下侧面分不开一起模拟整个会变形,用geometry editor把接触面独立出来执行。
guyuyw 上海
是个好办法,为了让独立出来的上表面边缘显得更加自然,我觉得还可以为独立出来的表面添加deforce modifier weight node,用笔刷在表面边缘涂抹制造重力权重渐变,从而产生平滑的上浮效果。
girlindistress 山东省
“接触布面的网格数太小时可能模拟效果不好需增加”在哪里增加呢?
wsmonkeyking 浙江省
回复@girlindistress:是想增面?好象没听说有,有个减面的插件,有网格重构的,增面插件我不知道有没,你可以去问下Roboneko,他对这方面知道的多。
wsmonkeyking 浙江省
回复@girlindistress:我说这点的意思是有些模型网格数太少用模拟的效果不好,易穿模或弯曲曲线不好,要尽量足够网格数用模拟方法好。
wsmonkeyking 浙江省
回复@girlindistress:而这种沙发往往是从DAZ外部导入,导入前先用3DMAX或C4D是可以通过细分增加网格数的,然后再导入。
DAZXXS2020 辽宁
学习了,我正好缺如此大神般的指点,还请多多的指教啊!