unity36——原神等手游常用的物理bone(弹簧)裙摆,与Cloth(布料)裙摆插件 Magica Cloth 使用教程(一)

news2024/11/19 13:31:06

在这里插入图片描述
目前我们手游开发,经常会遇到头发,双马尾,长裙,飘带等。以前我们都是在三维软件中制作骨骼后,自己手动K针。这样做有一些弊端,时间长,并且K帧的飘带效果没法随着游戏中角色的移动,旋转等动作实时发生动画位移效果。因此,下面将介绍MagicaCloth的两种用法。
其中一种是需要绑定骨骼蒙皮,但是不需要K帧。bone cloth(原理,骨骼弹簧物理计算)计算量小,适用于手机,同屏20个角色

其中另一种是不需要骨骼绑定,直接导出mesh到unity中进行物理计算。clothing(布料解算器物理计算)计算量大。适用于PC或者手机换装界面,同屏不超过2个角色。

特别说明,不管是哪一种,导出FBX的时候,你想要计算的骨骼都不能K帧,不然会影响运动计算。

下面先上干货,这个视频是Bone cloth计算出来的动态效果。

物理弹簧模拟测试示意

首先我们先为插件安装一下环境。在这里我用的是URP项目2021版本。

在这里插入图片描述
在这里插入图片描述
1Package Manager 选中Reagistry 选择Burst
如上图,这是需要安装的第一个环境,如果版本内已经有了,直接跳过即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2如上图,击Add package 输入com.unity.jobs
安装jobs 这个是插件需要的第二个运行环境。

在这里插入图片描述
3如上图。这两个环境安装好后,就可以安装正式插件了。插件包直接用我准备好的就可以。magica cloth 2.4版本。直接丢入到引擎中,没有报错即可使用。

在这里插入图片描述在这里插入图片描述

4如上图,接下来还需要一个显示骨骼的辅助插件、方便调试。
Animation Rigging 此插件unity自带的插件工具,直接在package manager窗口中搜索安装即可。此插件能显示unity中的骨骼并且直接鼠标选中,方便咱们后面设置局部物理碰撞。

在这里插入图片描述
5 所有插件安装好后,导入一个你需要的,模型,这里以头发为例,我需要这个双马尾跟随身体做物理动画运算。那么点击菜单中的Animation Rigging菜单,选中你的模型,再点击最后一项Renderer swtup,你会得到骨骼映射。
在这里插入图片描述
右侧可以调整骨骼映射的颜色还有参数,鼠标单击左侧蓝色任意骨骼,就能直接跳转到对应骨骼,让我们在unity中操作骨骼更为方便(有兴趣的小伙伴也可以直接用这个插件骨骼K一些动画。)

在这里插入图片描述在这里插入图片描述

6选中你需要动的头发模型预制体,为他添加magica cloth插件命令。
添加插件后,你会得到上图右侧的菜单栏。鼠标点击两根双马尾的蓝色骨骼根节点映射。拖动到右边菜单Root Bones中。并且把插件的模式选择为bone cloth模式(这就代表启用骨骼弹簧运算)

当你设置好后,左图的骨骼会变成根节点为红色圆球,其他为绿色。这说明红色只会做旋转而不会随着物理计算位移。绿色计算位移加旋转。当然你也可以点击右侧小铅笔图标,绘制你需要的颜色点。

在这里插入图片描述7如上图,右侧菜单栏Preset有插件内置好的所有动态计算预设,懒得手动调节的朋友, 可以直接选择红色个方框中自己喜欢的对应预设就可以,有裙子、飘带、头发、刘海等。如果你觉得内置的不够精致,也可以点击左侧绿色方框中,打开菜单,调节更精细的滑块配置。
调整好之后点击运行,就可以看到效果。

特别说明:下面是干货,有些同学,会发现,头发在运动的过程中会出现穿模,也就是头发进入身体,或者其他衣物中,这是因为你没给身体加上对应的碰撞。下面讲解为身体设置碰撞,来解决穿模问题。老版本就是因为这块做的不好,所以导致很多人不用,但是现在的版本已经可以解决任何穿模问题,只要你耐心调整碰撞形状。
在这里插入图片描述
8如上图,如果我们不给身体设置碰撞,运行后头发会因为重力,直接垂直到绿色位置,插进身体里。因此我们需要给胸部骨骼上,创建一个碰撞。注意,一定要把碰撞设置在骨骼上,不然不生效。
在这里插入图片描述
如上图,找到你身体胸前的骨骼,右键选择红色方块内的各种碰撞形态,第一种为球形,第二种为圆柱体,第三种是平面,第四种、跟第五种、是任意形态设置。朋友们可以自行点击参数,调节滑块感受。
目前这个案例,因为胸前是一个斜面,我们需要的是双马尾搭在胸前受到重力作用。因此我选择了一个斜面碰撞体,如下图在这里插入图片描述
在这里插入图片描述
9设置好碰撞体后,点击你头发预制体中的插件,手动把刚刚设置的与i肢体,拖动到右侧菜单Collider collion菜单下的Collider List下面,这样头发就会受到此处碰撞的影响。

下面再次点击运行,你就会得到文章上面参考视频的效果,头发可以随着你身体各种移动方式来进行物理运动计算。

之后我们可以举一反三,为裙子,飘带、等其他部位,也设置骨骼物理计算。

本帖为初贴,只讲解了插件中,骨骼弹簧运算,适用于手机端。
下个帖子,将介绍插件中的第二个选项,布料解算。布料的结算会更加丝滑。并且不用蒙皮绑定,不用骨骼绑定。但是计算量比较大,也比较复杂,我们下期见。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS鸿蒙ArkTS,封装http网络请求

HarmonyOS鸿蒙ArkTS,封装http网络请求 前提: 要想使用http请求,系统必须要具备ohos.permission.INTERNET权限,在model.json5文件中的module模块下添加如下请求权限: 在module.json5文件中 配置 "requestPermi…

构建外卖跑腿系统:技术实现与架构设计

在当今数字化时代,外卖跑腿系统已成为人们生活中不可或缺的一部分。本文将探讨如何利用先进的技术和架构设计,开发一个高效、可靠的外卖跑腿系统。 1. 技术选型 在开发外卖跑腿系统之前,我们需要仔细选择适合的技术栈,以确保系…

HCIP复习课(三层架构)

1、ip配置 R1: R2: SW1: SW2: 2、vlanif配置: SW1: SW2: 3、ospf配置: R1: SW1: SW2: 4、vlan配置 SW1: SW2: SW3: SW…

在中国如何方便地使用GPT Plus?

一、背景 通过魔法,顺利登录ChatGPT,准备升级GPT Plus时,发现需要国外信用卡才能支付,这对大多数中国人来说是不方便的。在google搜索解决方案时,发现了WildCard平台,可以一键升级 GPT Plus (GPT-4)。将基…

【开源】基于JAVA+Vue+SpringBoot的康复中心管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员模块 三、系统展示四、核心代码4.1 查询康复护理4.2 新增康复训练4.3 查询房间4.4 查询来访4.5 新增用药 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的康复中…

BGP同步规则

BGP同步规则:开启同步下,从IBGP收到一条路由不会传给任何EBGP邻居(实验效果IBGP邻居和EBGP邻居都不传),除非从自身的IGP中也学到这条路由。目的是防止AS内部出现路由黑洞,向外部通告了一个本AS不可达的虚假的路由。 同步规则只影响…

一道CTFsql注入的问题

打开页面一个登录框,我甚至都没先弱口令登录,直接开始sql测试,结果测到最后发现没有,直接admin/admin就就去了,下次遇到登录框请先测试弱口令,ok? 登录成功后: 这句话提示中提到了…

【QT+QGIS跨平台编译】之十五:【libTiff+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、libTiff介绍二、文件下载三、文件分析四、pro文件五、编译实践一、libTiff介绍 libTiff是一个用于处理TIFF图像文件格式的开源软件库。 TIFF(Tagged Image File Format)是一种灵活且广泛支持的图像文件格式,常用于存储照片和其他高质量图像。libTiff提供了一套…

代理IP使用指南:风险与注意事项

在当今的数字化时代,使用在线代理IP已经成为一种常见的网络行为。然而,在使用这些代理IP时,我们需要注意一些风险和问题,以确保我们的网络安全和隐本私文。将探讨使用代理IP时需要注意的几个关键问题。 1、代理IP的安全性 使用代理…

Android Automotive:在路上释放 Android 操作系统的力量

Android Automotive:在路上释放 Android 操作系统的力量 Android 在汽车行业的历程车载信息娱乐系统 (IVI) 的演变汽车中的 Android:演变和进步Android 汽车操作系统的崛起Polestar 2:开创 Android 汽车体验Android 开源项目 (AOSP) 及其他项…

K个一组翻转链表---链表OJ

https://leetcode.cn/problems/reverse-nodes-in-k-group/?envType=study-plan-v2&envId=top-100-liked K个一组进行翻转,大体上是和前面两两翻转是类似的,区别就在于,这里需要自己判断是否需要翻转,如何翻转,怎么记录。这里我们用递归来实现。 是否需要翻转…

指针的深入了解2

1.const修饰指针 在这之前我们还学过static修饰变量,那我们用const来修饰一下变量会有什么样的效果呢? 我们来看看: 我们可以看到编译器报错告诉我们a变成了一个不可修改的值,我们在变量前加上了const进行限制,但是我…

【Linux】第三十九站:可重入函数、volatile、SIGCHLD信号

文章目录 一、可重入函数二、volatile三、SIGCHLD信号 一、可重入函数 如下图所示,当我们进行链表的头插的时候,我们刚刚执行完第一条语句的时候,突然收到一个信号,然后我们这个信号的自定义捕捉方法中,正好还有一个头…

内网安全:Exchange服务

目录 Exchange服务 实验环境 域横向移动-内网服务-Exchange探针 一. 端口扫描 二. SPN扫描 三. 脚本探针(还可以探针是否有安全漏洞) 域横向移动-内网服务-Exchange爆破 一 .BurpSuite Intruder模块爆破 域横向移动-内网服务-Exchange漏洞 CVE-2020-17144 Exchange R…

【JaveWeb教程】(38)SpringBootWeb案例之《智能学习辅助系统》的详细实现步骤与代码示例(11)过滤器Filter讲解

目录 SpringBootWeb案例10 过滤器Filter2.4 过滤器Filter2.4.1 快速入门2.4.2 Filter详解2.4.2.1 执行流程2.4.2.2 拦截路径2.4.2.3 过滤器链 2.4.3 登录校验-Filter2.4.3.1 分析2.4.3.2 具体流程2.4.3.3 代码实现 SpringBootWeb案例10 过滤器Filter 2.4 过滤器Filter 刚才通…

uniapp组件库Card 卡片 的使用方法

目录 #平台差异说明 #基本使用 #配置卡片间距 #配置卡片左上角的缩略图 #配置卡片边框 #设置内边距 #API #Props #Slot #Event 卡片组件一般用于多个列表条目,且风格统一的场景。 #平台差异说明 AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程…

UE5在VisualStudio升级后产生C++无法编译的问题

往期的虚幻引擎项目在VS更新后,编译时会报错,这一般出现在VS升级之后,UE对于VC的编译器定位没有更新导致; 有出现如下问题: 问题1: Running I:/EPCI/Epic Games/UE_5.3/Engine/Build/BatchFiles/Build.ba…

研发日记,Matlab/Simulink避坑指南(九)——可变数组应用Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结归纳 前言 见《研发日记,Matlab/Simulink避坑指南(四)——transpose()转置函数Bug》 见《研发日记,Matlab/Simulink避坑指南(五)——CAN解包 DLC Bug》 见《研发日记,Matlab/Si…

(bean的创建图)学习Spring的第十天(很重要)

大致框架按如下 第一次细分 bean对象还未创建 操作第一个map 引入BeanFactoryPostProcessor , 即Bean工厂后处理器 , 为Spring很重要的扩展点 BeanFactoryPostProcessor内部的方法 可以对BeaDefinition进行修改 , 也可进行BeanDefinition的注册 ( 原有在xml文件配置的bean…

vue常用指令(v-mode)

一、v-mode 指令 作用: 获取和设置表单元素的值(实现双向数据绑定) 双向数据绑定 单向绑定: 就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。双向绑定: 用户更新了View,Model的数据也自动被更新了,…