【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是生活!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436960.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GOWIN软件使用

1、管脚复用 根据自己需求把复用管脚勾选上,管脚当普通管脚使用 JTAG设置成普通管脚,下载程序时候JTAGEN管脚需要上拉高电平(可以在下载器线上上拉个电阻,下载后把下载线拔走,否则JTAG管脚无法使用,管脚充…

2010练习题

5&#xff0c; //几个类&#xff08;Vehicle类 Car类 Streetwheel类 Brake类&#xff09;有着必然的联系&#xff0c;设计类与实现 #include<iostream> using namespace std; class Vechile{public:virtual void function() 0; }; class Streetwheel{public:Streetwhee…

基于ACM32 MCU的电动滑板车方案了,助力低碳出行

随着智能科技的快速发展&#xff0c;电动滑板车的驱动系统也得到了长足的发展。国内外的电动滑板车用电机驱动系统分为传统刷式电机和无刷电机两种类型。其中&#xff0c;传统的刷式电机已经逐渐被无刷电机所取代&#xff0c;无刷电机的性能和寿命都更出色&#xff0c;已成为电…

基于C++中netCDF库读取.nc数据时的一些坑

本文介绍基于C 语言的netCDF库读取.nc格式的栅格文件时&#xff0c;出现数据无法读取、数据读取错误、无法依据维度提取变量等情况的原因与解决方法。 最近&#xff0c;由于需要读取ERA5气象数据&#xff0c;因此使用C语言中的netCDF库读取.nc格式文件&#xff1b;这其中也是踩…

Win8.1 连接Wifi后开启热点

1 首先管理员运行 cmd, 输入命令&#xff0c;其中ssid无线名称&#xff0c;key密码&#xff0c;此时网络连接出现 本地连接 2. netsh wlan set hostednetwork modeallow ssidwahahaad key12345678 netsh wlan start hostednetwork 2 找到当前连接的 WLAN, 设置共享。 3 先停止…

纯手工搭建一个springboot maven项目

前言&#xff1a;idea社区版无法自动搭建项目&#xff0c;手动搭建的经验分享如下&#xff1a; 1 包结构 参考下图&#xff1a; 2 项目结构 3 maven依赖 具体的项目包结构如下图&#xff1a; 依据这个项目包结构配置一个springboot 的 pom依赖&#xff1a; <?xml ve…

基于springboot+vue的高校学生党员发展管理系统(源码+论文)

文章目录 目录 文章目录 前言 一、功能设计 二、功能实现 6.1 系统首页界面 6.2 用户登录界面 6.6 管理员后台界面 6.7 学生信息管理界面 6.8 资料管理界面 6.9 入党申请管理界面 6.10 正式党员管理界面 三、库表设计 四、论文 前言 为了进一步加强高校内党组织建设&#xff0c…

ue WebUI插件下载官方Github方法

首先要先将EPIC账号绑定Github账号 这个网上有很多教程 我就不细说了 绑定以后点击这个链接 https://github.com/tracerinteractive/UnrealEngine 进去后是这样的 点击这里 下滑找到对应版本下载即可 好了就这样 别被割韭菜了

《汇编语言》- 读书笔记 - 第17章-使用 BIOS 进行键盘输入和磁盘读写

《汇编语言》- 读书笔记 - 第17章-使用 BIOS 进行键盘输入和磁盘读写 17.1 int9 中断例程对键盘输入的处理键盘缓冲区 17.2 使用 int 16h 中断例程读取键盘缓冲区编程检测点 17.1 17.3 字符串的输入编程&#xff1a;字符串输入程序需求分析处理过程子程序完整代码 17.4 应用 in…

Mybatis-Plus——06,CRUD查

CRUD查 一、普通查询1.1、通过id查询单个用户1.2、通过id查询多个用户1.3、条件查询 通过map封装 二、分页查询2.1、配置分页插件2.2、运行方法 三、通过wrapper条件构造器查询3.1、查询name不为空&#xff0c;email不为空&#xff0c;age大于18的用户3.2、查询nameJone的用户3…

[技术杂谈]解决右键没有vscode打开选项的问题

问题&#xff1a; 点击鼠标右键没有‘使用vscode打开’的选项。 原因&#xff1a; 在安装时没有勾选相关选项 解决办法&#xff1a; 新建一个reg文件写入下面文件&#xff0c;注意替换自己真实Code.exe路径 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\she…

计算机考研❗️这些院校(含985)性价比巨高

✅厦门大学 (985) 不歧视双非&#xff0c;全靠实力&#xff0c;校园环境还贼美 ✅重庆大学 (985) 信息公开透明&#xff0c;复试抽签 ✅北京师范大学 (985) 不歧视本科出身&#xff0c;面试抽签答题。 ✅东南大学 (985) 保护第一志愿&#xff0c;复试抽签 ✅吉林大学 (…

3Dmax中VR渲染太阳光渲染参数怎么设置?渲染100云渲染助力

我们用3Dmax建模时一些场景会用到太阳光&#xff0c;那么渲染参数是如何设置的呢&#xff1f; 我们一起来看看&#xff0c;直接上图 以上就是详细的参数设置&#xff0c;大家可以用做参考&#xff0c;如果本地渲染慢的朋友可以考虑使用云渲染100 机器多&#xff0c;渲染稳定不…

仪酷LabVIEW OD实战(4)——Object Detection+OpenVINO工具包快速实现yolo目标检测

‍‍&#x1f3e1;博客主页&#xff1a; virobotics(仪酷智能)&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f384;所属专栏&#xff1a;『仪酷LabVIEW目标检测工具包实战』 &#x1f4d1;上期文章&#xff1a;『仪酷LabVIEW OD实战(3)——Object Detectiononnx工具包快速…

【新版Hi3521DV200处理器性能】

新版Hi3521DV200处理器性能 Hi3521DV200是针对多路高清/超高清&#xff08;1080p/4M/5M/4K&#xff09;DVR产品应用开发的新一代专业SoC芯片。Hi3521DV200集成了ARM Cortex-A7四核处理器和性能强大的神经网络推理引擎&#xff0c;支持多种智能算法应用。同时&#xff0c;Hi352…

微服务之商城系统

一、商城系统建立之前的一些配置 1、nacos Nacos是一个功能丰富的开源平台&#xff0c;用于配置管理、服务发现和注册、健康检查等&#xff0c;帮助构建和管理分布式系统。 在linux上安装nacos容器的命令&#xff1a; docker run --name nacos-standalone -e MODEstandalone …

在centos7系统中如何给docker配置代理

一、需求场景 生产环境私有云中&#xff0c;通常一个集群的机器中只有几台机器可以直接访问公网&#xff0c;其他机器需要通过代理的方式从能访问公网的机器出去&#xff0c;在已经做了如下配置之后&#xff0c;使用docker pull命令已经报错超时timeout&#xff0c;这时可以尝…

python中的defaultdict

collections.defaultdict 是 collections 模块提供的一个有用的类&#xff0c;它是内置字典类 dict 的一个子类。与普通字典一样&#xff0c;可以进行元素的访问、添加、删除等操作。区别在于当访问一个不存在的键时&#xff0c;defaultdict 会返回默认值&#xff0c;而不会引发…

Go程序是如何编译并运行起来的(图文详解)

Go程序是如何编译的 从hello RdrB1te开始 package main import "fmt" func main() { fmt.Println("hello RdrB1te") }不实际编译它&#xff0c;只输出它的编译过程&#xff1a; go build -n简单的编译过程分析&#xff1a; 上面的过程确认了两个…

SpringBoot集成JSP和war包部署到Tomcat

SpringBoot集成JSP 加依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot…