【Unity动画系统】动画基本原理与Avater骨骼复用

动画基本原理


动画片段文件是一个描述物体变化状态的文本文件

在Unity中创建的资源文件大多都是YAML语言编写的文本文件

Curves表示一种变化状态,为空的话则没有记录任何内容

位置变化后的旋转变化状态:

 

动画文件里的Path名字要相同才能播放相同的动画

当骨骼名称相同时就可以复用另外模型的骨骼

  • 当动画内命名不同,则会标记不同颜色,并且不会播放动画
  • 也可能时因为制作的人物模型及骨骼结构也不尽相同

替身系统Avatar


将A的骨骼与Unity定制一个标准肌肉对应关系,AAvatar中保存了肌肉信息和A的骨骼信息。

制作一个B的骨骼与肌肉的Avatar。

 

将A的骨骼节点的描述转化为Unity肌肉的拉伸程度文本。

要在B上复用,就得通过B的Avatar文件把动画文件中对肌肉拉伸的描述翻译成对B模型骨骼变化的描述,这样动画文件就可以在B上进行了。

实战:


None:表示不需要播放任何动画

Generic:表示通用动画,不是人形,例如飞鸟猛兽就可以用这个动画

Humanoid:表示人形动画

Create From This model:从这个模型本省创建avatar,根据模型a的骨骼建立一个与Unity肌肉对应的关系

Copy From Other Avatar:选择另一个已经配置好的Avatar

Skin Weights:表示每一个模型的蒙皮或者说mesh上的节点可以被几个骨骼影响

Optimize Game Objects:优化游戏对象,当使用了Avatar之后,播放动画就与模型文件上的骨骼无关了,动画就会从Avatar骨骼上读取信息,选中的话,模型上的骨骼就会被删除掉

点击Apply之后就会生成一个Avatar,点击Configure Avatar就可以配置骨骼

Mapping:骨骼映射

Muscles & Settings:肌肉设置

虚线表示并非必选包含的骨骼 , 实线表示这块必选包含的骨骼

Unity中Avatar系统对骨骼和肌肉做对应关系时, 至少需要人体模型上有十五块符合排列规则的骨骼

骨骼配置关系


Clear:清除掉上面所有的匹配信息

Automap:可以自动的进行匹配

Save:会把这里匹配方式保存在一种叫human template的模板当中

Load:就是读取我们在其他地方保存模板

Reset:会将模型摆回初始状态

Sample Bind-Pose:会将模型摆回绑定时的初始状态

Enforce T-Pose:会将模型强制摆成T pose

Muscles & Settings

这里可以看到模型在肌肉拉升到极限是一种什么样的状态

如果对拉伸的程度不满意的话,可以对每一个肌肉做出限制

此时也把B按如上配置一遍

将要复用的动画 

选取下面的

然后将A的Avatar放入下面的Source

点击Apply,就从对A模型骨骼的描述,改变为了对Unity肌肉的描述

将下来就可以使用各自的Avatar进行动画演示了

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

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

相关文章

uniapp制作分页查询功能

效果 代码 标签中 <uni-pagination change"pageChanged" :current"pageIndex" :pageSize"pageSize" :total"pageTotle" class"pagination" /> data中 pageIndex: 1, //分页器页码 pageSize: 10, //分页器每页显示…

[笔试训练](九)

目录 025&#xff1a;添加逗号 026&#xff1a;跳台阶 027&#xff1a;扑克牌顺子 025&#xff1a;添加逗号 添加逗号_牛客题霸_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 将输入的数字&#xff0c;每次模上10&#xff0c;从个位开始取每一位数&#xff…

[C++ QT项目实战]----C++ QT系统登陆界面设计

前言 在C QT项目开发过程中&#xff0c;设计系统登录界面可以使用QT框架来实现。以下是一个简单的系统登录界面设计示例&#xff1a; 创建登录界面UI&#xff1a;可以使用QT Designer来设计登录界面的UI&#xff0c;包括用户名输入框、密码输入框、登录按钮等。在QT Designer中…

Centos8操作系统安装mysql5.7版本以及报错解决

目录 一、卸载MySql 1.首先查看已安装的mysql 2.逐个或者执行一下命令统一卸载掉 注意&#xff1a; 3. 卸载其他相关文件 二、安装MySql 1.安装mysql的rpm源 2.安装MySql 如果遇到以下错误&#xff1a; 问题一: 解决方法&#xff1a; 问题二、 解决方法&#xff1…

基本的SQL语句类型

基本的SQL语句类型 1. 数据查询语句 介绍数据查询语句的基本语法和用途&#xff0c;包括SELECT语句用于从数据库中检索数据&#xff0c;以及条件筛选、排序和聚合等操作。 2. 数据操作语句 解释数据操作语句的作用&#xff0c;包括INSERT语句用于向数据库中插入新记录&…

C语言面试题之相交链表

相交链表 实例要求 1、给定两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。2、如果两个链表不存在相交节点&#xff0c;返回 null 。示例&#xff1a; 实例分析 可以使用两种方法&#xff1a;哈希表方法和双指针方法。哈希表方法…

在 Quartz 的集群模式中,SchedulerThread线程多久会执行一次检查?

目录 引言 调度逻辑与时间计算 computeTimeToNextTrigger 方法 行为特点 引言 在 Quartz 的集群模式中&#xff0c;SchedulerThread 线程的执行频率取决于触发器的状态和计划时间。没有一个固定的时间间隔&#xff0c;因为线程需要适应当前调度器的任务需求。这个线程主要任…

【分布式 | 第四篇】限流算法实现方案

文章目录 4.限流算法4.1计算器4.2漏桶算法4.3令牌桶限流 4.限流算法 4.1计算器 计数器比较简单粗暴&#xff0c;比如我们要限制1s能够通过的请求数实现的思路就是从第一个请求进来开始计时&#xff0c;在接下来的1s内&#xff0c;每个请求进来请求数就1&#xff0c;超过最大请…

删除二叉搜索树中的节点

题目链接 删除二叉搜索树中的节点 题目描述 注意点 节点值唯一root 是合法的二叉搜索树节点数的范围 [0, 10000] 解答思路 可以根据二叉搜索树的性质找到要删除的节点&#xff0c;关键是删除节点后怎么重新构建成一棵新的二叉搜索树首先要找到的是删除节点node的父节点nod…

微信小程序:9.小程序配置

全局配置文件 小程序根目录下的app.json文件是小程序的全局配置文件。 常用的配置文件如下: pages 记录当前小程序所有的页面存放路径信息 window 全局设置小程序窗口外观 tabBar 设置小程序底部的tabBar效果 style 是否启用新版style 小程序窗口的组成部分 了解windo节点常…

【NC16664】合唱队形

题目 合唱队形 此题可以用动态规划&#xff0c;也可以用贪心和二分 思路 此题就是求一个数组中山脉数组的最大长度。思路很直观&#xff0c;这里直接给出算法&#xff1a; 记数组元素个数为 n n n&#xff0c;遍历数组每个元素&#xff0c;对每个元素&#xff1a; (1) 求出这…

场景文本检测识别学习 day07(BERT论文精读)

BERT 在CV领域&#xff0c;可以通过训练一个大的CNN模型作为预训练模型&#xff0c;来帮助其他任务提高各自模型的性能&#xff0c;但是在NLP领域&#xff0c;没有这样的模型&#xff0c;而BERT的提出&#xff0c;解决了这个问题BERT和GPT、ELMO的区别&#xff1a; BERT是用来…

redis 结合Lua脚本实现 秒杀、防止超卖

需求&#xff1a;同1商品单个用户限购1件&#xff0c;库存不会超卖1 Lua脚本&#xff0c;因可实现原子性操作&#xff0c;这个文件放到resources目录下 local userId KEYS[1] -- 当前秒杀的用户 ID local goodsId KEYS[2] -- 秒杀的商品 ID -- 订单id local orderId ARGV[1…

微信收款码0.2费率开通

很多人想申请低手续费率的收款码不知从何下手&#xff0c;在参考了大量博客教学之后&#xff0c;终于搞懂了详细流程以及注意事项。在此记录一下。我申请的是一个只需要0.2%费率的微信收款码&#xff0c;申请时间是2022年2月12日。申请之前只需要准备营业执照和法人身份z&#…

【iconv】Linux c++ 中文字符串转十六进制 GBK 编码/内码

文章目录 问题描述c 代码CMakeLists.txt参考链接 问题描述 Linux 系统默认使用的是 UTF-8 编码&#xff0c;并且 c 中没有标准库可以直接将中文字符转为 GBK 编码/内码。因此需要借助 iconv 库来实现。 在实现代码之前&#xff0c;可以在一下在线工具网站进行中文字符到各个编…

​可视化大屏C位图:园区鸟瞰

将园区鸟瞰图作为可视化大屏设计的焦点图有以下几个好处&#xff1a; 提供全局视图&#xff1a;园区鸟瞰图可以展示整个园区的布局和结构&#xff0c;提供全局视图。这对于大型园区或复杂的场所来说尤为重要&#xff0c;用户可以一目了然地了解整个园区的规模、分布和关联关系…

使用新版ESLint,搭配Prettier使用的配置方式

概述 ESLint重大更新(9.0.0版本)后,将不再支持非扁平化配置文件,并且移除了与Prettier冲突的规则,也就是说与Prettier搭配使用,不再需要使用插件“eslint-config-prettier”来处理冲突问题。 注:使用新版的前提条件是Node.js版本必须是18.18.0、20.9.0,或者是>=21.1…

ESP-IDF编译系统详解(1)

接前一篇文章&#xff1a;VSCode ESP-IDF安装与配置全过程 本文内容主要参考&#xff1a; 《ESP32-C3物联网工程开发实战》 —— 乐鑫科技 编著 特此致谢&#xff01; 前文已经详述了ESP-IDF开发环境的搭建&#xff0c;包括ESP-IDF的下载与安装完整流程&#xff0c;以及VSCo…

怎么排查K8S容器当中的Java程序内存泄露问题

今天早上发现生产线其中的一个服务在凌晨的时候突然重启了&#xff0c;内存突然从1G升到1.8G&#xff0c;CPU使用量从0.1升到了0.28&#xff0c;说明在这个时间点&#xff0c;内存突增达到了限额以上&#xff0c;服务重启了。因为这个服务布署了多节点&#xff0c;这次重启对业…

故障诊断 | 基于GASF-CNN的状态识别研究

概述 抗蛇行减振器作为高速动车组二系悬挂系统的关键零部件,对改善车辆运动稳定性、提高车辆系统的临界速度具有重要意义。抗蛇行减振器在高级修时需全部进行拆解维修或报废处理,若在高级修中的三、四级修时其性能尚能够满足实际使用要求,将其过早地拆解检修或者报废换新无…