您的位置:首页 > 移动开发 > Unity3D

Unity5.x布料系统-为角色添加可交互的裙摆效果

2018-02-11 11:35 579 查看
本文实现的效果,注意裙子会根据旋转的方向和力度作出不同的摆动效果:



上图是我运行了游戏后在Scene视图下旋转模型时才会有的效果,如果你没运行游戏布料是不会动的。
需要注意的是布料系统的计算量还是挺大的,所以一般在手游里只会出现在选择角色或者角色属性界面上。

步骤:
1:为人物模型添加Cloth组件,在Component->Physics->Cloth。Unity还会自动加上Skinned Mesh Renderer组件.
2:在Skinned Mesh Renderer组件面板上,设置好Mesh和Root Bone属性,其中Mesh即为你的模型,Root Bone就是你的模型节点(在Hierarchy视图的节点)。
3:在Cloth组件面板上,点击Edit Constraints左边的图标:



进入编辑模式(注意运行游戏中的话是编辑不了的):



因为我们的模型是人物衣服合在一起的,我们只想裤子部分才会摆动其它地方固定不动,那就在编辑模式下选中不想动的顶点,然后把Max Distance勾选并设置为0,看到顶点变了颜色就说明设置成功了。选顶点可以用鼠标左键划选一个区域,但有些面选不到时你就需要移动到模型的其它角度再划选。

4:有了上面的步骤其实已经可以运行游戏看效果了,但你可能会发现裙子会经常穿过脚或身体,这时你有两种方案,一是通过设置组件或布料顶点的参数限制布料的漂动范围(尤其是Damping参数,范围0-1,越大就会显得越硬越难摆动),一般比较短的裙子可能没问题。
二是给布料组件加个碰撞器:
先给模型节点加个Capsule Collider,把该碰撞器移到模型的胯下调好大小。然后在Cloth组件面板里把碰撞器的节点拉进去:



大功告成!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息