【Unity开发】随手记:柔性物体

44 阅读2分钟

【Unity开发】随手记:柔性物体

写在前面

本系列为笔者实在是不想写作业,来通过写博客勉励自己一下。参考教程为《Unity 3D游戏开发》(中国工信出版集团),大部分代码和注释来源于这个博主,姐妹万岁哈哈哈哈🤣。
文章中只放代码(随缘附少量基础讲解和效果),项目操作可以自行百度or留言,防止太长一篇1~3个案例,案例来源于哈工大(威海)王峥老师布置的作业。

红旗飘飘

模仿飘起来的红旗材质。Unity3D将面料Cloth封装为一个组件,任何一个物体,只要挂载了蒙皮网格和布料组件,就拥有了布料的所有特性,能够模拟出布料的效果。
实现步骤:

  • 创建红旗:在场景促创建一个空物体,并在其上添加Cloth物理组件。
  • 选择mesh类型:将空物体作业选择Mesh类型为Plane。
  • 添加约束:使用Cloth中的Edit Contraint,选择旗帜左侧准备固定在旗杆上的一列点,并将Max Distance值设为0,意思是不可移动;
  • 设置布料参数:将Cloth中的External Acceleration加速度设置为:(100,30,30);将Rodom Acceleration随机加速度设置为:(0,30,0)。
    无须代码即可实现红旗飘飘~
    在这里插入图片描述

布蒙球

实现一块布,掉到球上把其蒙住的效果
实现步骤:

  • 在场景中添加一个球体。
  • 在球体上方添加一个 Plane,并为其添加一个Cloth物理组件。可以发现Unity会自动添加Skinned Mesh Renderer组件。
  • 按Skinned Mesh Renderer组件Mesh右侧的按钮,选择Plane对象,而RootBone则选为Plane物体。
  • 将Cloth组件的Sphere Collider中的size设置为1,就会出现Element 0和其下的First及Second,将球体赋于First,完成。
    在这里插入图片描述