【Unity】Avatar与AvatarMask系统介绍(TPS.番外篇)

  • 一些动画知识
    • 动画文件格式
    • Avatar系统-Unity统一骨骼的解决方案
    • AvatarMask-部分动画的应用

这次也是拖了蛮久,一个是在修动画,一个是别的游戏确实比较能吸引住人。
在主要系列进行前,要先为接下来要讲的动画做一些基础知识的补充,这期是Avatar,即替身系统,以及AvatarMask的讲解。

一些动画知识

对于动画,我的了解比较基础,大家可以去看这位的系列《动画入门》。
在这里,我就提一些我遇到的以及需要注意的地方。

动画文件格式

对于外部导入的动画文件,相信最多的就是从Mixamo上下载的动画文件了。还有一些其他的,比如在资源商店里购买的那些。
一般来说,导入到unity后,会是这样的界面,我们需要关注的就是Rig。

通常而言,Mixamo的动画都是Generic类型,而我们会将其更改为Humanoid类型。这些操作代表的是什么?

这就要聊到动画文件本身了。我们思考一个问题,我们如何描述动作?
对于这些动画文件来说,描述方式是骨骼的位置及旋转。这样很好理解,我们只需要确定一个基准骨骼(通常选择腹部的骨骼作为基准),然后逐层确定骨骼位置,这样就可以确定所有的骨骼位置了,同样,,动起来之后我们只需要描述在哪一帧时哪些骨骼发生了位移和旋转,其余节点随之重新计算位置即可1

那么我们明白了动画文件描述的是哪些属性,那么如何将属性与对应骨骼绑定呢?一种很直接的方式就是:骨骼叫什么,我就拿进来,然后把对应数据写在后边。没错,就这么简单。

正是这种简单的做法导致了接下来出现的问题。

Avatar系统-Unity统一骨骼的解决方案

当模型师A的动画很棒,而模型师B的角色是我要用的,那么这个动画的复用2要求是什么?动画中的骨骼命名要与角色骨骼相同(结构我不清楚,但我认为也最好一样)。如果这两位模型师规范过创建和命名规则,那么复用没有任何问题;但对于个人开发者而言,我们手中的模型和动画没有任何的命名规范,那么如何去复用这些动画呢?

Unity为我们提供了Avatar,即替身系统。这是一种Unity设置的骨骼模式,只要你是人型的角色,就会识别,并根据角色原本的骨骼及命名,创建对应的Avatar。那么只需要大家的骨骼都转换成这种模式,我们就可以实现动画复用了。

对于用户而言,我们只需要将Rig中的模式3切换为人形即可。那么这种简单的创建就会带来很多问题,就是Avatar的精准度。注意:这是常见问题

在讨论这个问题前,我们先得了解Avatar的基本形态。
创建Avatar有两种方式,可以复用其他Avatar,也可以为当前模型创建Avatar。我们一般都是让其创建。下图是创建后的Rig界面,那么Avatar怎么看呢?我们的模型中有,也可以直接点击下图中的Configure打开界面。

下图就是Avatar的界面了。我们看到了角色的Avatar。
可以看到右侧,unity将原本的骨骼节点对应到了Avatar。其中有些节点可以为空,而关键节点不可以为空。


Unity是以T字的人体来创建的,然后每个骨骼方向什么都是计算出来,或者说推算出来的,因此不一定准确。
于是乎,我们可以看到一些很奇怪的画面,比如下图中跑步的左脚是很奇怪的,原因是复用的动画的替身没有绑定很准确,导致我的角色的左脚有问题。
解决方式:如果unity的角色在动画预览下不正常,则修改动画的Avatar绑定。
如果如果unity的角色在动画预览下正常,那么就该修改角色的Avatar。
这样的修改方式是要保证动画的通用性。

老实说,这个动画中只有上半身还比较好,下本身只能说一言难尽,那我能不能只用上半身的动画而不用下半身的动画呢?
替身系统为我们提供了解决方案。

AvatarMask-部分动画的应用

很多时候,我们希望只改变角色的部分动画。
比如说,换子弹。当我按照一般思路来处理动画,那么考虑到静止,走路,跑步等状态,我们要做特别多的动画,而且动画之间的过渡问题实在是让人难堪。
考虑到是跑步或者什么状态都是下半身的运动,我们的手就没有动嘛(非空手状态下手部不考虑大的晃动)。那换子弹也就是两条胳膊的事情,跟腿也不冲突。那现在我只需要让各个部分做自己的事情,,不就可以处理复杂的动画了吗?
AvatarMask就是这样子。它基于原本的替身体系。
你只需要选择在这一个动画层中,哪些骨骼需要动就可以。


可以发现,这套东西很简单,但很有用。


  1. 比如胳膊没有动,但是肩膀发生了运动,因为是父子关系,胳膊是以肩膀为坐标原点记录位置的,所以当肩膀发生了运动,胳膊在世界坐标下的位置也发生了移动,所以要重新计算 ↩︎

  2. 所谓的复用,就是指一套要将 ↩︎

  3. Generic代表是普通模型,无论是车,动物,人都可以。而随之导入的动画一般就和上文介绍的普通动画一样,复用很麻烦。
    Humanoid代表的是这个模型一定是人形模型,Unity会为其创建Avatar以统一骨骼系统。 ↩︎

【Unity】Avatar与AvatarMask系统介绍(TPS.番外篇)相关推荐

  1. Unity 事件番外篇:事件管理中心(另一种版本)

    前置知识:Unity 事件管理中心 本篇博客展示的是事件管理中心的另一种写法.如果大家想了解其中的原理,可以看看前置知识里的介绍. 之前那个版本的事件管理中心,利用 EventHandler 和 Ev ...

  2. 浅析android手游lua脚本的加密与解密(番外篇之反编译的对抗)

    前言   去年在看雪论坛写了一篇<浅析android手游lua脚本的加密与解密>的精华文章,今年写一篇番外篇,将一些lua反编译对抗的内容整合一起,并以3个实例作为说明(包括2018腾讯游 ...

  3. [zt]数学之美番外篇:平凡而又神奇的贝叶斯方法

    数学之美番外篇:平凡而又神奇的贝叶斯方法 Tags: 数学, 机器学习与人工智能, 计算机科学 save it69 saved tags: 贝叶斯 math bayesian algorithm 数学 ...

  4. 『中级篇』docker之wordpress容器SSL(番外篇)(78)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker之wordpress容器SSL(番外篇)(78) 搞了2天终于搞定了,现在分享给大家. apache2 ...

  5. 『中级篇』docker之虚拟机创建vagrant技巧(番外篇)(81)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker之虚拟机创建vagrant技巧(番外篇)(81) 之前一直用的原生的centos7的源镜像安装虚拟机,然 ...

  6. yxy和志愿者小姐姐番外篇之大宝宝123追番记(补题,淘汰赛)

    1264: yxy和志愿者小姐姐番外篇之大宝宝123追番记 时间限制: 1 Sec  内存限制: 64 MB                                               ...

  7. 转:数学之美番外篇:平凡而又神奇的贝叶斯方法 收藏

    为什么80%的码农都做不了架构师?>>>    转自:http://blog.csdn.net/pongba/archive/2008/09/21/2958094.aspx 数学之美 ...

  8. 教你从0到1搭建秒杀系统-Canal快速入门(番外篇)

    Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能会用到.本篇介绍一下数据库中间件Canal的使用. 很多时候为了缩短调用延时,我们会对部分接口数据加入了缓存.一旦这些数据 ...

  9. 文本分类入门(番外篇)特征选择与特征权重计算的区别

    文本分类入门(番外篇)特征选择与特征权重计算的区别 在文本分类的过程中,特征(也可以简单的理解为"词")从人类能够理解的形式转换为计算机能够理解的形式时,实际上经过了两步骤的量化- ...

最新文章

  1. 虚拟启动光盘-从ISO光盘镜像引导系统
  2. NETMF Versions 4.1 Release 发布
  3. mysql get lock_MYSQL-GET_LOCK锁
  4. kotlin编程语言_Kotlin初学者编程基础
  5. sql server 数据库忘记sa账户密码/ 无管理员账户解决办法
  6. 机器学习笔记(十):机器学习系统的设计
  7. 自旋锁 Linux内核,Linux内核中的自旋锁
  8. 一致性hash算法虚拟节点_一致性Hash算法原理详解
  9. vue-cli 没有build如何配置_如何从零开发一个 gradle 插件(一)
  10. pdf打印机如何加密pdf文件?
  11. cf最低要求配置2021是什么
  12. sunShine问题
  13. [Linux] 使用 Wine
  14. LUOGU P1512 伊甸园日历游戏
  15. 【卫星轨道】初步学习,零散知识点
  16. 先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
  17. 不同介质中的运动目标检测(虚拟潜望镜)
  18. “Word文件设置了多级列表,却还是不能创建目录”的解决办法
  19. 动作事件监听器——实现ActionListener接口
  20. 各品牌网络监控摄像头RTSP地址查询

热门文章

  1. 《经济学是什么》精髓:如何用经济学家的眼光理解个人选择和市场经济?
  2. html显示下滑线,html超链接添加下划线
  3. shell脚本100 例(下) shell 脚本知识点,学习、进修、面试、居家旅行必备精品.--潜心研究必有所成
  4. shell 删除simatic_西门子技术--TIA Portal 软件安装时注册表的删除
  5. Homebrew 无法下载安装文件的解决方法
  6. ADO.NET增、删、改、查
  7. 腾讯推页游平台’”页游乐园”YY.QQ.com
  8. eclipse安装STS支持注意的坑
  9. 《Scrum精髓—敏捷转型指南》读后感
  10. 操作系统笔记——储存器管理、文件系统、设备管理