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

在这里插入图片描述
目前我们手游开发,经常会遇到头发,双马尾,长裙,飘带等。以前我们都是在三维软件中制作骨骼后,自己手动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.mzph.cn/news/645332.shtml

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

相关文章

【学网攻】 第(8)节 -- 端口安全

文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节 -- 交换机划分Vlan【学网攻】 第(5)节 -- Cisco VTP的使用​​​​​​【学网攻】 第(6)节 -- 三层交换机实现VLAN间路由【学网攻…

前端项目部署发版流程

一、本地代码以全部提交并推送至仓库 二、项目根目录添加(Dockerfile、nginx.conf文件) 三、npm run build打包生成dist文件(项目根目录) 四、启动docker(登录状态) 五、执行命令 docker buildx build -t ‘项目的容器集群地…

水库大坝安全监测的技术手段及方法

水库大坝安全监测是指通过仪器观测和巡视检查对水利水电工程主体结构、地基基础、两岸边坡、相关设施以及周围环境所作的测量及观察。水库大坝安全监测是作为水库大坝安全管理的重要组成部分,是掌握水库大坝安全性态的重要手段,是科学调度、安全运行的前…

【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍

Java技术体系方向-JVM虚拟机参数调优原理 内容简介栈上分配与逃逸分析逃逸分析(Escape Analysis)栈上分配基本思想使用场景线程私有对象 虚拟机内存逻辑图JVM内存分配源码:代码总体逻辑 在某些场景使用栈上分配设置JVM运行参数:开启逃逸模式,…

jquery获取select项并移动到另一个select里

用了jquery和bootstrap5。 如下项的左侧可移动到右侧&#xff0c;右侧可移动到左侧。 div代码如下 <div class"input-group mb-3"><span class"input-group-text">可用节点</span><select class"form-select service-type&quo…

uniapp组件库Modal 模态框 的使用方法

目录 #平台差异说明 #基本使用 #传入富文本内容 #异步关闭 #点击遮罩关闭 #控制模态框宽度 #自定义样式 #缩放效果 #API #Props #Event #Method #Slots 弹出模态框&#xff0c;常用于消息提示、消息确认、在当前页面内完成特定的交互操作。 #平台差异说明 AppH5微…

modbus poll测试工具测试modbus tcp与PLC设备连接使用方法

socket默认端口是502&#xff0c;socket连上之后&#xff0c; 按照modbuspoll工具设置的读写参数 生成的RTU命令格式去组装读PLC的设备数据 modbuspoll工具配置&#xff0c;以v9.9.2中文破解版为例&#xff1a; 首先点连接菜单&#xff08;connection&#xff09;建立连接&…

for循环延时时间计算

​ 文章目录 前言一、计算方式二、for循环 2.1 for循环里定义变量2.2 codeblock设置C99标准 三、四、总结 前言 之前做led点亮的实验&#xff0c;好像是被delay函数影响了&#xff0c;因为delay参数设置的不对&#xff0c;led没有正常闪烁。现在就想搞明白一些。 一、计算…

Fluent Bit配置与使用——基于版本V2.2.2

Fluent Bit日志采集终端 文档适用版本&#xff1a;V2.2 1、日志文件处理流程 数据源是一个普通文件&#xff0c;其中包含 JSON 内容&#xff0c;使用tail插件记录日志&#xff0c;通过parsers进行格式化匹配&#xff08;图里没写&#xff09;&#xff0c;通过两个筛选器&…

新能源汽车智慧充电桩管理方案:环境监测与充电安全多维感知

随着新能源技术的不断发展&#xff0c;新能源充电桩作为电动汽车的重要基础设施&#xff0c;其管理和维护变得尤为重要。环境监测类传感器能够实时监测充电桩周围的环境参数&#xff0c;如温度、湿度等&#xff0c;为管理人员提供及时、准确的数据&#xff0c;以便做出相应的调…

JS之歌词滚动案例

让我为大家带来一个歌词滚动的案例吧&#xff01; 详细的介绍都在代码块中 我很希望大家可以自己动手尝试一下&#xff0c;如果需要晴天的mp3音频文件可以私信我 上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

Excel·VBA时间范围筛选及批量删除整行

看到一个帖子《excel吧-筛选开始时间&#xff0c;结束时间范围内的所有记录》&#xff0c;根据条件表中的开始时间和结束时间构成的时间范围&#xff0c;对数据表中的开始时间和结束时间范围内的数据进行筛选 目录 批量删除整行&#xff0c;整体删除批量删除整行&#xff0c;分…

HTML+CSS:炫酷登录切换

效果演示 实现了一个登录注册页面的切换效果&#xff0c;当用户点击登录或注册按钮时&#xff0c;会出现一个叠加层&#xff0c;其中包含一个表单&#xff0c;用户可以在表单中输入用户名和密码&#xff0c;然后点击提交按钮进行登录或注册。当用户点击返回按钮时&#xff0c;会…

【Android】Android中的系统镜像由什么组成?

文章目录 总览Boot Loader 的加锁与解锁Boot 镜像内核RAM diskARM 中的设备树 (Device Tree) /System 和/Data 分区镜像参考 总览 各种Android设备都只能刷专门为相应型号的设备定制的镜像。 厂商会提供一套系统镜像把它作为“出厂默认”的 Android 系统刷在设备上。 一个完…

SpringCloudAlibaba系列之Nacos实战

目录 注意事项 参考资源 Nacos配置中心 初始化项目 进行Nacos相关配置 运行 Nacos注册中心 dubbo方式 对外暴露接口dubbo-api 服务提供者dubbo-provider 服务消费者dubbo-consumer 负载均衡客户端方法 服务提供者 服务消费者 注意事项 不管是使用Nacos配置中心&…

代码随想录 Leetcode144/94/145 二叉树的前/中/后序遍历

题目&#xff1a; 前&#xff1a; 中&#xff1a; 后&#xff1a; 代码&#xff08;首刷自解 2024年1月24日&#xff09;&#xff1a; //前序遍历&#xff0c;递归 class Solution { public:void funcOfRecursion(TreeNode* cur, vector<int>& vec) {if (cur null…

谈谈 RocketMQ 5.0 分级存储背后一些有挑战的技术优化

作者&#xff1a;斜阳 RocketMQ 5.0 提出了分级存储的新方案&#xff0c;经过数个版本的深度打磨&#xff0c;RocketMQ 的分级存储日渐成熟&#xff0c;并成为降低存储成本的重要特性之一。事实上&#xff0c;几乎所有涉及到存储的产品都会尝试转冷降本&#xff0c;如何针对消…

自动化Web页面性能测试介绍

随着越来越多的用户使用移动设备访问 Web 应用&#xff0c;使得 Web 应用需要支持一些性能并不是很好的移动设备。为了度量和测试 Web 应用是不是在高复杂度的情况下&#xff0c;页面性能能满足用户的需求。 同时&#xff0c;随着 Web 应用的空前发展&#xff0c;前端业务逐渐…

插入排序

插入排序 概述步骤代码示例输出结果 概述 插入排序是一种最简单直观的排序算法&#xff0c;它的工作原理是通过创建有序序列和无序序列&#xff0c;然后再遍历无序序列得到里面每一个数字&#xff0c;把每一个数字插入到有序序列中正确的位置。 插入排序是一种简单直观的排序…

某马头条——day10

热文章数据查询 分布式任务调度xxl-job 概述 环境搭建 docker化部署 docker run -p 3306:3306 --name mysql57 \ -v /opt/mysql/conf:/etc/mysql \ -v /opt/mysql/logs:/var/log/mysql \ -v /opt/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORDroot\ -d mysql:5.7 dock…