Maya中Apex布料的制作和UDK的导入
UDK仅支持NviDIA提供的physx中Apex插件制作的布料导入,所以本文主要讲在maya中如何对Apex布料进行制作,以及制作完成后如火如何导入UDK。
首先制作布料以及导入UDK能否匹配的前提是布料所在的角色的骨骼的正确绑定,而不同于maya的ncloth系统,Apex布料系统是基于骨骼绑定后的模型,也就是说想用Apex制作布料,你的布料模型必须含带骨骼绑定。
1、首先我们在制作之前要先安装physx for maya的插件,而后在plug-in manager里加载physx.mll
加载完成后会在菜单栏上看到physx。
2、下面选择已经蒙皮完的布料模型执行以下命令

Vertex Behaviors刷权重的命令
Apex clothing的参数面板
4、创建完成布料后就开始为布料刷权重
权重按钮
权重属性类型
笔刷绘制属性
权重的可视化模拟
这里面刷的权重跟maya默认权重正好相反,这里面的黑色代表不被影响的区域,白色代表可以被影响的区域,可以通过4的Visualization mode的开关,以及Mask Out Overridden Vertices的勾选来观察权重的大小和范围,可以通过Scale调整红线的长短,如图1(ps,当你想要smooth权重的时候,尽量不要去点击smooth然后按Flood,这样可能会造成卡机,点完smooth后直接用笔刷刷要平滑的部分)
5、刷完权重后就是设置碰撞体了,选择要当做碰撞的物体然后执行Create Kinematic Rahdoll,如图2,之后会发现碰撞体的周围出现很多橘黄色的边框,这个代表碰撞的体积。如图3
6、添加完碰撞体后会弹出一个nxRagdollLocator的属性面板
Source Meshes代表碰撞的物体,可以通过Remove和add添加或者删除该碰撞体
碰撞体所关联的骨骼
7、这个时候我们会发现有的网格没有完全匹配碰撞的模型,这个时候我们就要选择没有匹配的物体的骨骼,然后就行手动调整网格。如图4,选择该骨骼的RRigid节点,然后在shape里选择该模型,点击select。
8、将Shape Type改为Capsule,将Best Fit勾去掉。通过Pont1,point2来调整其拉伸的大小,如果其拉伸的方向不对,点击Slect Transform来调整其位移和旋转。
9、碰撞网格做完之后,我们回到nxRagdollLocator下通过SaveRagdoll来存储

10、最后就是布料参数的调节

这里面的参数就不赘述了
11、下面就开始导入UDK了,导入要分两部导入,一是FBX格式的整体动画和模型的导入,二是APX或者APB格式的导入,首先我们先从maya导出这两个文件,FBX的导入详情参照动画篇,下面来进行APX或者APB的导入,首先选择你要导出的物体、布料和骨骼信息,执行Export All或者Export slection,将导出的格式改为APEX/PhysX.如图7
12、导入完成后,你会发现场景中多了三个文件,一个.FBX,一个.APX,一个.PxProj,我们可以用Notepad打开这个.Apx格式的文件,发现它是一个类似于脚本程序的文件,如图8。这就很好的解释了,我们导出来的布料并不是一成不变的动作,而是根据碰撞体的运动,以及脚本程序的运作来进行动力学解算的。
13、打开UDK,在UDK里点击Import,导入FBX文件盒APX文件,如图9

14、打开Skeletal Mesh,在Materials里添加材质,在Clothing Assets第一栏里添加导入的APX文件,如图10
15、的APX文件在Materials里添加不了材质
16、这个时候我们切换至Skeletal Mesh下,导入模型的动画,我们会发现布料会按照模型的运动而产生动力学解算。