【unity小技巧】Unity人物衣服布料系统的探究 —— Cloth组件

简介: 【unity小技巧】Unity人物衣服布料系统的探究 —— Cloth组件

一、Cloth组件解释

基本介绍

Cloth只能必须和Skinned Mesh Renderer搭配使用, 但是这不代表使用简单的物体时还必须在Max中导出一个带有蒙皮信息的FBX, 其实可以新建一个GameObject然后赋予Cloth组件, 这会自动添加Skinned Mesh Renderer组件, 然后在Skinned Mesh Renderer组件中赋予基本体的Mesh上去并且设置正确的材质也完全可以

Stretching Stiffness: 拉扯硬度.

Bending Stiffness: 弯曲硬度.

Use Tethers: 默认开启, 用于方式过度拉伸

Use Gravity: 是否使用世界重力.

Damping: 阻尼会应用于每个布料顶点. 要想打造看上去抖动更小的布料, 可以试试这个.

External Acceleration: 常量外力.

Random Acceleration: 随机外力.

World Velocity Scale: 与World Acceleration Scale共同组成布料的GameObject.transfrom的运动会对物理模拟造成的影响比例.

World Acceleration Scale: 与World Velocity Scale共同组成布料的GameObject.transfrom的运动会对物理模拟造成的影响比例.

Friction: 当布料碰到在这个列表中存在的Collider时所产生的摩擦力, 这只会影响布料的模拟. 上面说过了布料的物理模拟是单向的

Collision Mass Scale: How much to increase mass of colliding particles. 这个参数我不懂, 求补充

Use Continuous Collision: 使用Continuous Collision, 增加消耗, 减少直接穿透碰撞的几率

Use Virtual Particles: Add one virtual particle per triangle to improve collision stability

Solver Frequency: Number of solver iterations per second. 显然是一个优化参数, 默认120很高了, 我可以试着调低一些

Sleep Threshold: 静止阈值.

Capsule Colliders: 要对布料产生交互的胶囊碰撞体

Sphere Colliders: 要对布料产生交互的ClothSphereColliderPairs. 可以理解为他是按照一组来的, 一组中可以只有一个SphereCollider, 也可以有两个, 当有两个的时候, 那么这两个SphereCollider会在布料的碰撞系统中被”焊接”起来. 这样就允许通过两个大小不同的SphereCollider来组合成一个圆锥形状的碰撞体了.


出于性能的考虑, 可以对Cloth产生影响的Collider只有两种

SphereCollider以及CapsuleCollider, 但是SphereCollider可以赋予两个为一组(当然了还可以只赋予一个, 第二个保持null), 那么通过组合这两个SphereCollider可以出现第三种, Unity会将这组的两个SphereCollider进行相连, 那么就可以有圆锥形的Collider

打开编辑模式

按这个

来打开编辑Constraint模式

Visualization:这里能够选择当前在Scene视图中预览Max Distance还是Surface Penetration. (这两者二选一), 还能选择是否让操作影响视口背面的顶点


Max Distance(最大距离):可以设置每个顶点最大可移动距离. 最常用的用法是将不能动的顶点的Max Distance设置为0


Surface Penetration(表面渗透):控制的是顶点最大可以嵌入到Mesh里面的程度. 在布料网格顶点比较稀疏的情况下可以明显对比出差别

绘制

在绘制模式中, 这个按钮代表要绘制

这里设置的值

二、基本使用

1. 创建出一个空物体

2. 在空物体上添加cloth组件,可以直接点击Add Component搜索cloth添加,也可以在工具栏 Component–>physics–>cloth选择添加。添加后自动添加两个组件:

3. 添加组件后需要给Skinned Mesh Renderer指定网格和材质(这里添加了一个plane的网格,和一个自己创建的材质球):

ps:这样就添加好了一个基本的布料系统组件,但是组件并没有产生什么影响,接下来我们将让plane产生布料的效果。

4. 添加约束

点击Edit cloth constraints编辑约束

点击选择,图片上的小黑点表示可供选择的约束点,如果觉得不够明显,可以调节约束大小调整显示球体大小,此设置不会对约束产生影响

选择绘制上方约束,然后勾选最大距离,设置布料的最大距离值为零,绘制布料上方部分,保持上方部分固定。

5. 运行,效果

物理交互

如果要和物体产生碰撞交互,需要在组件中指定产生物理交互的组件,但是仅能和两种碰撞体产生碰撞胶囊体球体碰撞器,这是出于性能考虑。

效果

三、人物衣服

人物衣服布料配置和前面基本一致,不够建议多配置几个物理交互碰撞体,反正衣服穿模的同时有很贴合身体

这里群子就配置了3个碰撞体

绘制裙子上方固定,最大距离值为0,下方为0.2

效果

参考

https://blog.csdn.net/qq_51978873/article/details/123769866

https://blog.csdn.net/linxinfa/article/details/89704028

目录
相关文章
|
4月前
|
图形学
小功能⭐️获取Unity游戏物体上,所挂载组件的名称
小功能⭐️获取Unity游戏物体上,所挂载组件的名称
|
3月前
|
图形学 开发者 UED
Unity游戏开发必备技巧:深度解析事件系统运用之道,从生命周期回调到自定义事件,打造高效逻辑与流畅交互的全方位指南
【8月更文挑战第31天】在游戏开发中,事件系统是连接游戏逻辑与用户交互的关键。Unity提供了多种机制处理事件,如MonoBehaviour生命周期回调、事件系统组件及自定义事件。本文介绍如何有效利用这些机制,包括创建自定义事件和使用Unity内置事件系统提升游戏体验。通过合理安排代码执行时机,如在Awake、Start等方法中初始化组件,以及使用委托和事件处理复杂逻辑,可以使游戏更加高效且逻辑清晰。掌握这些技巧有助于开发者更好地应对游戏开发挑战。
139 0
|
4月前
|
图形学 C# 开发者
Unity粒子系统全解析:从基础设置到高级编程技巧,教你轻松玩转绚丽多彩的视觉特效,打造震撼游戏画面的终极指南
【8月更文挑战第31天】粒子系统是Unity引擎的强大功能,可创建动态视觉效果,如火焰、爆炸等。本文介绍如何在Unity中使用粒子系统,并提供示例代码。首先创建粒子系统,然后调整Emission、Shape、Color over Lifetime等模块参数,实现所需效果。此外,还可通过C#脚本实现更复杂的粒子效果,增强游戏视觉冲击力和沉浸感。
231 0
|
4月前
|
开发者 图形学 前端开发
绝招放送:彻底解锁Unity UI系统奥秘,五大步骤教你如何缔造令人惊叹的沉浸式游戏体验,从Canvas到动画,一步一个脚印走向大师级UI设计
【8月更文挑战第31天】随着游戏开发技术的进步,UI成为提升游戏体验的关键。本文探讨如何利用Unity的UI系统创建美观且功能丰富的界面,包括Canvas、UI元素及Event System的使用,并通过具体示例代码展示按钮点击事件及淡入淡出动画的实现过程,助力开发者打造沉浸式的游戏体验。
106 0
|
4月前
|
图形学
Unity动画☀️Unity动画系统Bug集合
Unity动画☀️Unity动画系统Bug集合
|
6月前
|
存储 JSON 关系型数据库
【unity实战】制作unity数据保存和加载系统——大型游戏存储的最优解
【unity实战】制作unity数据保存和加载系统——大型游戏存储的最优解
178 2
|
6月前
|
图形学
【unity实战】Unity中基于瓦片的网格库存系统——类似《逃离塔科夫》的库存系统(下)
【unity实战】Unity中基于瓦片的网格库存系统——类似《逃离塔科夫》的库存系统
89 0
|
6月前
|
图形学 容器
【unity实战】Unity中基于瓦片的网格库存系统——类似《逃离塔科夫》的库存系统(上)
【unity实战】Unity中基于瓦片的网格库存系统——类似《逃离塔科夫》的库存系统
91 0
|
4月前
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
195 6
|
3月前
|
测试技术 C# 图形学
掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
128 4