UE4-布料系统

213 篇文章 599 订阅

注意:布料系统工具,只能应用于sekeleton mesh的模型上。

因为没有合适的人物模型,所以用简单的模型代替。基本操作一致。

一、导入带骨骼的模型,双击打开模型网格体资源。

如果不是骨骼模型,打开资源之后,不会有片段选择(Section Selection)的选项。

二、选择 片段选择(Section Selection)选项,此功能是用选择用于绘制布料的材质ID

开启片段选择,鼠标左键选择要用作布料的网格体部分,选择后会有高亮显示。

三、创建并设置布料资源

1.鼠标右键打开快捷菜单来创建布料资源

参数:

资源命名(Asset Name):为资源命名,之后便于查找

网格体中移除(Remove from Mesh):如果需要将几何体的一个单独的模型块设置为布料,可以启用此选项,如果不需要,不需要勾选。

物理资源(Physics Asset):选择使用的物力资源,用来确保模拟产生适当的碰撞。(如果是人物,会自动生成胶囊碰撞体用来避免布料穿模)

2.设置完成后,点击创建按钮。

3.布料绘制

选择激活布料绘制,会自动弹出Clothing 布料 设置窗口界面。(如果不小心关了,可以再次点击,或者在模型界面,工具栏窗口下选择布料,开启面板)

  

4.布料编辑器面板,布料数据下,显示当前你对此物体创建的所有的资源,选中要编辑的数据资源,选中后,模型预览窗口会显示出,当前此资源是针对谁创建的。

5.主要设置内容

在布料配置(Cloth Config)属性可以调整布料,用来模拟不同类型的材质,如粗麻布、橡胶、或是其他类型的布料材质,请阅读官网链接:

https://docs.unrealengine.com/zh-CN/Engine/Physics/Cloth/Reference/index.html#config

6.工具:

笔刷:在布料资源上进行拖动即可在布料绘制出半径和强度值

主要与Paint Value (绘制值)设置有关,此值控制绘制区域近似于布料响应程度,数值为0时蒙皮顶点无法移动,数值为100时,蒙皮顶点可以从原始位置移动1米。

Brush中

半径:刷子的大小

忽略背向:对模型进行绘制的时候,如果不想影响到模型背面的区域,就勾选上,避免刷到不必要的位置上。

示例:

不勾选忽略背向:

勾选忽略背向:

正面效果:

背面效果:

需要在背面同一区域进行绘制:

  

最后效果: 

颜色的不同代表布料可移动的距离不同

7.梯度:可以选择一组布料值,然后在之间绘制出渐变混合。

先设置梯度的开始值与结束值的范围

操作:

1.使用鼠标左键绘制梯度起始值,绿色点表示

2.按住Ctrl + 鼠标左键绘制梯度结束值,红点表示

3.绘制完成后,按下回车键

效果:值越小的地方颜色越黑,值越大的地方 颜色越白,

8.平滑:可以模糊或柔化不了之间的对比度

使用强度(Strength)值可调整模糊效果的强弱,用于绘制区域之间创建柔化梯度。

9.填充:使用设定的数值来替代数值相似的区域

填充值:FillValue 设置填充区域顶点的数值,也就是布料可移动的最远距离,阈值(Threshold)设置填充操作所用的数值。

10.取消设置,将物体还原

官网提到的还原方法并不起作用(Shift + 鼠标左键),只能刚操作的区域还原到初始状态,或者PaintValue设置为0,重新绘制

示例:

现在:

重新绘制:

11.绘制 Paint Value 为 30的 一半模型

效果:

四、指定布料资源(必须要的一步)

1.完成绘制后,关闭布料面板,使用选择片段,点击刚才选中的模型,右键打开选择器选择应用布料数据,选择刚才编辑的资源

2.系统编译完成后,就会出现效果

3.也可以在资源详情面板设置布料资源:

找到LOD 0 里面的分段,并且找到你选择的针对哪个材质进行编辑的布料设置,可以使用高亮功能来确认,

4.预览效果与期望有出入,可能是因为模型本身的碰撞器导致

五、更改物体本身的物理碰撞

1.模型编辑界面选择物理

2.进入后你可以看到所有起作用的胶囊体碰撞,类似于下图

这些胶囊体碰撞器会对布料的形状产生影响,可以查看哪个碰撞器影响较大,可以设置缩小碰撞器

3.避免穿模,增加胶囊体

注意:盒体是不起作用的,

使用缩放,平移功能,设置胶囊体位置,大小,做成想要的效果,

注意:因为布料系统是有一个重力使用的,如果是水平放置胶囊体,会导致布料自动滑动,落下。

4.设置完成保存,要看物体效果,将模型编辑器窗口全部关闭,重新打开。

六:

遗留问题:

布料系统可以用来做衣服,披风,头发,旗帜,等效果,但是我没有找到,也没有实现布料系统与其他Actor进行碰撞交互的功能,目前认知只停留在:布料系统对于本身物体碰撞是可以有作用的。

但是官网给的示例内容中表示是可以做到与其他对象进行碰撞交互的:

在此寻求布料内容示例项目工程。或是实现与其他Actor进行碰撞交互的方法。万分感谢。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值