Maya服装到UE解算出片(进阶)

发布于:2024-10-18


DCC软件资产处理

服装资产:

带有厚度边、厚度结构的地方是无法直接解算的,需要制作解算低模,通过解算低模代理该模型运动;

一、解算低模制作

1、布线规范

确保低模没有厚度结构,模型布线尽量均匀;

尽量不要出现很密集的布线,这样的布线在UE转换的解算网格可能会有问题;

2、UV规范

如何拆UV

UV拆分一般要符合打版规范;
1.袖子需要和衣服大身从胳膊处拆开
(本案例没有袖子和衣服连接的情况,所以采用其他模型展示)

2.衣服UV需要从侧面切开,将前后UV分开;

3.袖子UV需要沿着模型内测切开;

4.裤子UV一般需要前后左右都切开,将UV分成四块;

5.其他柱状模型的UV直接从背后、内测切开,或者两侧切开都可;

其他问题

UV不要出现扭曲、拉伸情况,如果是maya直接使用Unfold3D模式展开就好;

不要为了利用率将UV拉直,UV可以排在多象限,但不能重叠;
点击左上角的着色显示,蓝色正常,红色表示UV反了,不能出现反的UV;

3、材质规范

低模分材质是为了区分拉伸、弯曲等物理属性,在UE解算的时候,相同材质的服装具备同一个物理属性;所以在maya或者其他DCC软件中,将需要表现不同物理属性的服装分配不一样的材质;

4、低模骨骼绑定

将解算低模绑定到人物骨骼上,并且复制高模的蒙皮权重;(sim2.3版本之后会有一个目标约束的功能,可以让绘制区域跟随原蒙皮运动;解算低模如果不复制权重信息,除了不能使用目标约束功能,其他没有任何区别)

5、绘制顶点色

绘制顶点色,将解算低模需要固定的地方绘制顶点色,一般只能绘制红、绿、蓝三种颜色;类似于ncloth的点约束或者是qualoth的attach约束;

二、渲染高模处理

1、材质规范

从Simulator2.4版本开始可以通过2U来分区代理,而不需要影响模型本身UV信息

【New】网格代理_颜色模式

因为UE无法像DCC软件一样选中点线面,所以不能一一选中独立对象进行代理设置,所以目前在UE中低模代理高模的方式是通过材质来分区的,不同插槽下的模型代理互不受影响;

当模型相近,且同一材质时,相近地方代理关系错误,产生破面、拉丝的情况,效果如下:

当模型相近,但材质分开后,效果如下:

所以为了代理方便,服装高模需要给多个材质,将相近的模型给不同的材质;(注意:模型UV本身可能就有多个象限,所以在给材质的时候确保同一个材质的模型其UV也是同一象限)

2、高模骨骼绑定

服装高模如已绑定骨骼,则无需修改,直接使用即可;如服装高模只是obj模型文件,则将模型绑定到人物的骨骼上,无需绘制权重;

三、导出fbx文件

需要导出3个fbx文件;

1、解算低模的fbx文件;

2、渲染高模的fbx文件;(注意:腰带前的配饰无需解算,作为人体导出)

3、除去服装的人体模型fbx文件;

启动UE

一、服装资产调试

1、导入fbx资产

导入3个fbx资产,赋予渲染高模材质;(注意:先导入人物fbx,再导入两个服装文件的时候继承人物的骨骼)

2、创建服装资产

确保sim插件正常登录,选中解算低模骨骼网格体,右键点击Style Actions--Create Style3d Asset,在弹出的窗口勾选Create Piece from Connection;然后将Attach Strength Weight Color Channel后面的选项改成Red,因为之前绘制的顶点色是红色;最后点击Create创建sim的服装资产;

3、attach绘制

双击打开服装资产的细节窗口,右边的2D窗口显示的是服装的2D板片,鼠标左键可以挪动板片,将重叠的板片挪开,板片白色的部分表示在DCC里绘制的顶点色,之后用attach来称呼这些顶点色;

击左上角的Brush开启绘制模式,进入右上角的PaintProperty窗口,此处调节笔刷属性,BrushSize笔刷大小,AttributeValue笔刷颜色值,Strengt笔刷强度,白色表示固定,黑色表示正常解算;按住Shift可进行模糊绘制,也可将Brush Mode的选项改成smooth进行模糊绘制;绘制完attach之后点击左上角Brush退出绘制模式并保存;

检查所有需要绘制attach的板片其Enable Attach是否被勾选;

4、代理高模

将服装渲染高模骨骼网格体填入Render Proxy下的 Proxy Mesh中,下方Mesh Section Wrap Map下的索引表示高模的材质分段,Piece Indices里面的索引填入低模板片序号,表示此高模分段由哪些低模板片控制;选中板片后右侧最上方可显示板片序号;

填入高模后,Piece Indices会自动识别填入板片序号,但一般都不准确,所以需要手动检查;检查修改完所有序号后点击Bind进行保存;

Cloth Piece表示显示\隐藏低模,Render Proxy表示显示\隐藏高模;在完成代理设置后,去掉Cloth Piece的勾隐藏低模;

二、角色BP制作

1、创建actor蓝图

创建一个蓝图类,选择第一个actor类;

在蓝图里添加角色的骨骼网格体,再将碰撞网格体下添加style3d组件;

2、Style3D组件参数设置

每一个服装板片有自己默认的一个碰撞厚度,Style3D组件里的额外碰撞厚度是在服装板片原有厚度的基础上再整体加上一个厚度;这里可以将额外碰撞厚度调低,设置成1;

将人物的根骨骼名称填入Ref Bone Name的内容框里,服装可以支持一秒位移数百米、一秒转数十圈的动画解算;

三、服装解算效果调试

1、服装绑定

将人物BP拖入场景中、在style3D组件下挂载服装文件,再点击Bind、Group、Save绑定服装;在没有修改人物模型顶点、没有添加子碰撞、没有修改人体遮罩的情况下,Bind、Group、Save按钮一般无需再次点击;

2、实时检查

添加Style 3DInteraction Actor组件到场景,将Style3D组件下的CollisionBodyType模式改成box,确保运行模式是服装模拟,最后运行关卡,可以拖拽服装,检查高模代理是否准确,是否有拉丝、破面的情况;(注意:运行关卡可以拖拽服装,模拟关卡是不可以拖拽服装的)

3、物理属性设置

服装细节窗口可调节拉伸、弯曲、克重等物理属性,配合实时模拟,调试出需要的物理效果;各个属性含义可参考官网文档

服装编辑界面

通常服装调整物理属性的时候,前6个属性不宜超过60,如需表现很硬的效果可以尝试硬化、形态固化等工艺;

四、Seq录制缓存

录制解算缓存的方法有两种,一是运行关卡录制,二是seq录制;前者一般适用于实时、交互相关的项目,后者一般适用于番剧制作;这里将展开seq录制的制作讲解;

1、创建sequence

创建一个关卡序列,将场景中的人物bp添加到sequence,添加角色动画、服装缓存条、相机等;

右键服装缓存条,展开属性,在Garment Cahce Name后可以修改缓存名称;

将Style3D里一些常用的解算属性k到seq里,方便调试;一般常用的属性有子步、迭代、Time Scale、Air Damping等;

2、姿势匹配

勾上Pose Fitting下的开启姿势适配;姿势适配耗时表示默认姿势过渡到动画首帧姿势的耗时,Finish Hold Duration表示过渡到动画首帧姿势后继续解算时长,这里设置成1可以让角色通过Posefitting过渡完后继续解算1秒,取消过渡过程中的惯性的影响;

3、渲染设置

Style3D组件下把运行模式改成缓存录制,再将缓存录制速率设置成1,这样可以使渲染时显示的帧数和Seq显示的帧数一致,最后再把运行模式改成缓存播放;

通过增大fps的方式来插针提高人物动画精度,从而提升服装解算精度;要注意提升的fps应是人物动画帧率的整数倍,否则可能会出现服装缓存和人物动画部分帧匹配不上的问题;

在seq中增加迭代和子步,提高解算精度;

使用MRQ方式渲染,渲染参数默认即可;

4、渲染解算

直接点击本地渲染,即可开始渲染解算;

解算结束之后,之前的红色缓存条变成了绿色,表示该缓存条带有了服装的缓存数据;

右键缓存条,展开属性,Mode下有4个选项;其中第一个CacherRecord表示录制模式,在此模式下渲染seq时,服装处于解算模式,即便服装已经有缓存数据此时依然会重新解算并且覆盖之前的缓存数据;当Mode处于第二个缓存播放模式时,在此模式下渲染seq,服装会播放已有的缓存数据并不会重新解算。

当得到满意的服装缓存数据后,可将Mode改成播放模式,渲染拍屏或者直接渲染出片;


提交反馈