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

2024-03-07 17:52

本文主要是介绍【unity小技巧】Unity人物衣服布料系统的探究 —— Cloth组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、Cloth组件解释
    • 基本介绍
    • 出于性能的考虑, 可以对Cloth产生影响的Collider只有两种
    • 打开编辑模式
    • 绘制
  • 二、基本使用
    • 1. 创建出一个空物体
    • 2. 在空物体上添加cloth组件,可以直接点击Add Component搜索cloth添加,也可以在工具栏 Component–>physics–>cloth选择添加。添加后自动添加两个组件:
    • 3. 添加组件后需要给Skinned Mesh Renderer指定网格和材质(这里添加了一个plane的网格,和一个自己创建的材质球):
    • 4. 添加约束
      • 点击Edit cloth constraints编辑约束
      • 点击`选择`,图片上的小黑点表示可供选择的约束点,如果觉得不够明显,可以调节`约束大小`调整显示球体大小,`此设置不会对约束产生影响`。
      • 选择绘制上方约束,然后勾选`最大距离`,设置布料的最大距离值为零,绘制布料上方部分,保持上方部分固定。
    • 5. 运行,效果
    • 物理交互
  • 三、人物衣服
  • 参考
  • 完结

一、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

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,最近开始自学unity,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!php是工作,unity是生活!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

在这里插入图片描述

这篇关于【unity小技巧】Unity人物衣服布料系统的探究 —— Cloth组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/784338

相关文章

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

90%的人第一步就错了! 顺利登录wifi路由器后台的技巧

《90%的人第一步就错了!顺利登录wifi路由器后台的技巧》登录Wi-Fi路由器,其实就是进入它的后台管理页面,很多朋友不知道该怎么进入路由器后台设置,感兴趣的朋友可以花3分钟了解一下... 你是不是也遇到过这种情况:家里网速突然变慢、想改WiFi密码却不知道从哪进路由器、新装宽带后完全不知道怎么设置?别慌

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

录音功能在哪里? 电脑手机等设备打开录音功能的技巧

《录音功能在哪里?电脑手机等设备打开录音功能的技巧》很多时候我们需要使用录音功能,电脑和手机这些常用设备怎么使用录音功能呢?下面我们就来看看详细的教程... 我们在会议讨论、采访记录、课堂学习、灵感创作、法律取证、重要对话时,都可能有录音需求,便于留存关键信息。下面分享一下如何在电脑端和手机端上找到录音功能

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境