Unreal如何对布料和角色进行交互?
Hello . 大家好,今天给大家带来Unreal如何对布料和角色进行交互?Unreal的布料系统从4.16以后,就使用了NVIDIA的NvCloth Solver替换了之前的Apex布料的解算器Solver,但是又仍然兼容了之前的workflow(仍然可以通过第三方软件来制作apx文件然后导入到引擎中)。比如说常见的三方软件是指MAX,MAYA和PhysX SDK自带的ClothingTool。
本次分享主要是在官网动画效果的基础上面,解决布料和人的外部碰撞。最后效果如下图
我们这里因为官网有详细的教程,所以省略掉基本动画的制作过程。
我们在完成好的布料里面运行第三人称游戏发现,当前的角色与布料是没有任何交互,因为当前布料不识别角色的碰撞,所以现在我们先右键布料,然后选择Asset Actions中的Create Blueprint Using This,给布料创建一个蓝图
然后双击打开我们的蓝图,选择mesh,右边属性勾选Colide with Environment
完成以后保存编译将新蓝图拉到场景中并运行游戏,
发现角色和布料之间还是没有进行碰撞,但是和我们拉进去的box就会有碰撞效果。这是因为布料只能识别world static的碰撞预设,所以现在我们打开第三人称角色蓝图,勾选mesh的collision presets为BlockAll,然后保存编译
现在我们发现角色依然不能和布料进行碰撞,这是因为游戏过程中布料的碰撞解算并没有一直都在,所以需要打开布料蓝图,然后添加如下节点。
表示我们不断更改布料的位置,每次更改以后都会重新进行布料系统的碰撞计算。(能达到效果的同时也会比较性能的耗费也会比较高)现在我们保存编译并运行游戏
可以看到有了交互效果,由于布料在随时更新位置,所以具体需要看项目需求来进行合理运用。