【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,完成。