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下面,这样头发就会受到此处碰撞的影响。

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

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

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

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

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

相关文章

DSP-TMS320F2837x学习---X-BAR

X-BAR主要包括三部分:输入X-BAR、输出X-BAR、ePWM X-BAR、CLB-XBAR(注:28377D及以下不含有CLB模块) 一、输入X-BAR 输入X-BAR可以访问每个GPIO,送到不同IP模块,例如ADC、ePWM、外部中断等。 注意&#xf…

深度学习剖根问底: Adam优化算法的由来

在调整模型更新权重和偏差参数的方式时,你是否考虑过哪种优化算法能使模型产生更好且更快的效果?应该用梯度下降,随机梯度下降,还是Adam方法? 这篇文章介绍了不同优化算法之间的主要区别,以及如何选择最佳…

搬运5款超级好用的效率软件

​ 今天再来推荐5个超级好用的效率软件,无论是对你的学习还是办公都能有所帮助,每个都堪称神器中的神器,用完后觉得不好用你找我。 1.绘图软件——Krita ​ Krita是一款专业的开源绘图软件,适用于数字绘画、动画、漫画、插画等领…

qt-C++笔记之使用信号和槽实现跨类成员变量同步响应

qt-C笔记之使用信号和槽实现跨类成员变量同步响应 —— 杭州 2024-01-24 code review! 文章目录 qt-C笔记之使用信号和槽实现跨类成员变量同步响应1.运行2.main.cpp3.test.pro4.编译 1.运行 2.main.cpp 代码 #include <QCoreApplication> #include <QObject> #…

Redisson 分布式锁可重入的原理

目录 1. 使用 Redis 实现分布式锁存在的问题 2. Redisson 的分布式锁解决不可重入问题的原理 1. 使用 Redis 实现分布式锁存在的问题 不可重入&#xff1a;同一个线程无法两次 / 多次获取锁举例 method1 执行需要获取锁method2 执行也需要&#xff08;同一把&#xff09;锁如…

Backtrader 文档学习-Order OCO orders

Backtrader 文档学习-Order OCO orders 主要是可以使用订单组的管理策略&#xff0c;使用订单组策略&#xff0c;则一组订单中&#xff0c;有一个符合条件的订单成交&#xff0c;订单组中其他的订单就自动被取消。 1.概述 V1.9.36.116 版本交互式代理支持StopTrail、StopTra…

初探二分法

推荐阅读 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;一&#xff09; 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;二&#xff09; 文章目录 推荐阅读题目解法一解法二 题目 题目&#xff1a;给定一个 n 个元素有序的&#xff0…

图像旋转角度计算并旋转

#!/usr/bin/python3 # -*- coding: utf-8 -*- import cv2 import numpy as np import timedef Rotate(img, angle0.0,fill0):"""旋转:param img:待旋转图像:param angle: 旋转角度:param fill&#xff1a;填充方式&#xff0c;默认0黑色填充:return: img: 旋转后…

[已解决]504 Gateway Time-out 网关超时

文章目录 问题&#xff1a;504 Gateway Time-out 504 Gateway Time-out 网关超时思路解决 问题&#xff1a;504 Gateway Time-out 504 Gateway Time-out 网关超时 思路 网上的常规思路是修改nginx配置文件,增加请求执行时间,试过没有用 keepalive_timeout 600; fastcgi_con…

凭服务出圈的海底捞,竟然在这件事上也很卷

1月9日&#xff0c;法大大与企业绿色发展研究院联合发布了《2023年签约减碳与低碳办公白皮书》&#xff08;点击阅读及下载&#xff1a;法大大推出“签约减碳”年度账单&#xff0c;引领低碳办公新风潮&#xff09;&#xff0c;该白皮书基于《低碳办公评价》标准倡导的创新减碳…

qt-C++笔记之命令行编译程序,特别是使用Q_OBJECT宏包含了moc(Meta-Object Compiler)的情况

qt-C笔记之命令行编译程序&#xff0c;特别是使用Q_OBJECT宏包含了moc(Meta-Object Compiler)的情况 —— 杭州 2024-01-24 code review! 文章目录 qt-C笔记之命令行编译程序&#xff0c;特别是使用Q_OBJECT宏包含了moc(Meta-Object Compiler)的情况1.问题现象&#xff1a;q…

eNSP学习——交换机配置Trunk接口

目录 原理概述 实验内容 实验目的 实验步骤 实验拓扑 实验编址&#xff1a; 试验步骤 基本配置 创建VLAN&#xff0c;配置Access接口 配置Trunk接口 思考题 原理概述 在以太网中&#xff0c;通过划分VLAN来隔离广播域和增强网络通信的安全性。以太网通常由多台交换机组…

架构师之路(十五)计算机网络(网络层协议)

前置知识&#xff08;了解&#xff09;&#xff1a;计算机基础。 作为架构师&#xff0c;我们所设计的系统很少为单机系统&#xff0c;因此有必要了解计算机和计算机之间是怎么联系的。局域网的集群和混合云的网络有啥区别。系统交互的时候网络会存在什么瓶颈。 ARP协议 地址解…

水雾发生器走过路过不要错过

一、细水雾灭火机理与结构特征如下&#xff1a; 瓦斯输送管道细水雾发生器&#xff0c;是根据细水雾灭火机理及煤矿瓦斯的燃烧特性而进行研制的。其灭火机理&#xff1a; 一是冷却&#xff0c;细水雾颗粒容易气化&#xff0c;大量吸热&#xff0c;迅速降温&#xff0c;终止燃烧…

【JavaWeb】会话管理 cookie session 三大域对象总结

文章目录 会话管理一、Cookie1.1 Cookie的使用1.2 Cookie的时效性1.3 Cookie的提交路径 二、Session2.1 HttpSession的使用2.2 HttpSession时效性 三、三大域对象3.1 域对象概述3.2 域对象的使用 总结 会话管理 HTTP是无状态协议 无状态就是不保存状态,即无状态协议(stateless)…

解决Sublime Text V3.2.2中文乱码问题

目录 中文乱码出现情形通过安装插件来解决乱码问题 中文乱码出现情形 打开一个中文txt文件&#xff0c;显示乱码&#xff0c;在File->Reopen With Encoding里面找不到支持简体中文正常显示的编码选项。 通过安装插件来解决乱码问题 安装Package Control插件 打开Tool->…

【数据结构与算法】栈(Stack)之 浅谈数组和链表实现栈各自的优缺点

文章目录 1.栈介绍2. 哪种结构实现栈会更优&#xff1f;3.栈代码实现&#xff08;C语言&#xff09; 往期相关文章&#xff1a; 线性表之顺序表线性表之链表 1.栈介绍 栈是一种特殊的线性表&#xff0c;只允许在栈顶&#xff08;Top&#xff09;进行插入和删除元素操作&#…

【项目日记(四)】第一层: 线程缓存的具体实现

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:项目日记-高并发内存池⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你做项目   &#x1f51d;&#x1f51d; 开发环境: Visual Studio 2022 项目日…

Unity中URP下获取每一个额外灯数据

文章目录 前言一、我们先来看一下 SimpleLit 中的调用二、获取额外灯索引1、非移动平台2、非GLES平台3、大多数平台 三、获取额外灯数据 前言 在上一篇文章中&#xff0c;我们知道了URP下是怎么获取额外灯数量的。 Unity中URP下获取额外灯数量 在这篇文章中&#xff0c;我们…

场内基金出货是什么意思?出货和洗盘有什么区别?

场内基金出货是股市中常见的一种操作策略&#xff0c;指股市中的投资大户或者机构大量或者批次买入某只股票&#xff0c;并散发利好该股票的消息&#xff0c;导致该股票在短时间内股价升高&#xff0c;从而吸引投资散户购买该股票。等到股价上升到一定的阶段时&#xff0c;庄家…