Unity 动画
Unity 并没有自带建模工具。
3D建模工具
maya, 3dmax, blender
Skinned Mesh Renderer
Mesh Renderer
Mesh Filter
Modelling
最好是 T-pose
Rigging
建立骨架(Skeleton) 的过程。定义骨头之间的运动关系。是由外部制作的(Maya 3dmax)。Unity也没有工具用来做这个事情。Homanoid Character 至少需要15根骨头。臀部应该做为根。
Skinning
将骨架绑定到 Mesh 的过程,定义每个顶点受到哪几根骨头的影响。定义当骨头动时,身体的哪一部分跟着动,绑定顶点。Unity 最多支持一个顶点受4个骨头的影响。是由外部制作的。
Modelling, Rigging, Skinning 这3部全部是在外部制作的。
Muscle
肌肉,是一个 Mecanim里的概念,它可以让你更直观地控制角色的骨架,当 Avatar 存在时, Mecanim 是在 Muscle 空间工作的,而不是在 bone 空间工作的,这更加直观。
Muscle Clip
就是 Animation Clip
Mecanim
是 Unity 4.0.0 引入的新的动画系统的名字,旧的现在被称为 Legacy。Mecanim 包含2种,一种是 Humnoid, 一种是 Generic。这个新系统特别适合做人形的动画(Humnoid)。人形动画在游戏中使用非常广泛,Unity专门为他提供了一套工作流程。因为骨架是相似的,所以很容易将动画应用到另一个人形骨架上,就是retargeting,还有IK。人形都包含身体、头、四肢。Mecanim系统简单了人形的 Rigging,和动画的控制。
T-pose
就是一个人双臂展开的姿势。为了做 Avatar
Bind-pose
角色被建模时的姿势。
Human template
如何 将 FBX 中的 bone 匹配到 Avatar 的模板。
Retargeting
将动画应用到其他模型上去
Avatar
将骨架应用到另一个模型上去,定义骨骼结构。Avatar 就是一个人形的样子。创建 Avatar:导入 fbx 文件后,选择 Mesh -> 看 Inspector 中的 XX Import Settings -> Rig -> Animation Type -> Homanoid。然后点击 Apply。然后你的 fbx 下面就会出现一个 avatar子对象。然后选中这个avatar,在 Inspector 中就会有一个 config 按钮。
改完之后发现,在 import setting 的 Model 页中,下面本来是 Animation,现在变成了 Animator
然后,拖一个这个 fbx 到场景中 ,自然也会有一个 Animator 组件
Root Motion
角色的根的运动。可以被动画控制,也可以被外部控制。
Animator Component
就是这个
Animator Controller(Asset)
是在Unity 编辑器中编辑的,也可以新建。他使用 State Machine 来处理动画之间的过渡。然后你通过为模型添加 Animator 组件,为 Animator 添加 Animator Controler 来实现模型的动画。
在Unity中编辑Animator Controller:选中某个Animator -> Inspector 中点击 Edit
在文件夹中的对应文件如下:
Animation Layer
动画的层。用于控制整个模型的动画,或者是模型的一部分。他包含一个 Animation State Machine。例子:一个层用于控制整个角色的行走、跳跃,还有一个更高的层用于控制用于控制上半身的动作比如投掷或射击。后者优先级更高。
Animation State Machine
动画状态转换图。控制动画状态的转换。每一个动作就是一个状态,需要限定每一个状态可以过渡到哪几个状态。
Animation State
动画状态,每个状态代表一个 Animaiton Blend Tree 或是一个简单的 Clip
Animation Blend Tree
使用 Animation parameters 在相似的 Clip 中进行混合。
Blend Node
就是一个 Blend Tree,因为他也是一个 State,所以算是一个节点。
ATENTION!! 注意区分transition(过渡)和 blend tree(混合相似动作)
transition 是指在一定的时间内,从一个动作(状态)平滑地过渡到另一个动作(状态)。过渡是animation state machine 的一部分。他不是一种状态。
blend tree 是将多个相似的动作进行混合,每个动作都有一个权重。blend tree 是一种state。混合时使用“归一化的时间” normalized time。应该是指按比例对应。在相同的时间点,左脚同时着地。2个clip不需要时间一样长。
Animation parameters
在脚本和 Animation Controller 中进行通信。有一些是在脚本中设置,然后在 Animation Controller 中使用。有一些是是 Clip 中的 Curves 的参数,然后在脚本中使用。
Humanoid Character
Humanoid Animation
Generic Animation
也是 Mecanim 系统,但是他并不使用 Homanoid ,也没有 Avatar。
Legacy Animation
以前的动画系统,如果不想从以前的动画转换到新的,可以继续使用。在新的项目中,不需要使用这种动画了。
Animator
新的动画,导入 fbx 时,如果 Rig 选择 Generic 和 Humanoid,那么都使用 Animator。
Animation
旧的动画,导入 fbx 时,如果 Rig 选择 Legacy,就会自动加一个 Animation。
包含很多 AnimationState,每个 AnimationState 包含 AnimationClip 及剪辑的参数。
Animation Clip
是动画剪辑,如“跑步”,“行走”,“空闲”。Mecanim的Clip和Legacy的Clip在Inspector中是不一样的。
Animation Curves 曲线可以被附加到剪辑上,他可以用多个参数,然后由脚本进行控制。
Animation Layer
Skeleton
Body Mask
用于指定在一个骨架中,将身体的哪一部分剔除出去。在 Animation Layer 和 Importer 中使用
一个模型,从多个文件中载入动画。
Orc.FBX
Orc@idle.FBX
Orc@attack.FBX
在这种情况下,有带@的文件,导入时,只会使用他包含的 Animation,Mesh 则是从 Orc.FBX 中取出,这是 Unity 支持的。
Unity 动画的更多相关文章
- Unity动画机制 Animator与Animator Controller教程
Unity动画机制Animator 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...
- Unity 动画知识之一
Unity现在已经用的很广泛啦,可是却一直没有什么美术向的教程. 程序用方面的内容在各个论坛都有讨论,但是美术似乎很弱势啊. 明明美术也很需要掌握引擎方面的内容嘛! 山谷里的野百合还有春天呢 我们美术 ...
- Unity 动画系统目录 之 Animation
返回 Unity 动画系统目录 官方文档 Animation:https://docs.unity3d.com/ScriptReference/Animation.html Animator:http ...
- Unity动画优化
Unity动画优化 https://blog.csdn.net/TracyZly/article/details/79991593 Unity中Animator做UI动画的一些细节 https://b ...
- Unity动画
Unity 并没有自带建模工具. 3D建模工具 maya, 3dmax, blender Skinned Mesh Renderer Mesh Renderer Mesh Filter Modelli ...
- [Unity动画]01.HasExitTime & ApplyRootMotion
参考链接: https://www.cnblogs.com/hammerc/p/4828774.html 资源下载: https://assetstore.unity.com/packages/ess ...
- Unity动画知识之二:Animator动画状态机
上次我们讲过Unity游戏动画从入门到住院,今天我们来讲一下动画状态机. 好了,现在我们已经成功的导入了动画.接下来要玩的东西就很装13啦.因为大部分动画师是用不到这家伙的,需要掌握这个技能的,至少也 ...
- Unity 动画 命名
unity标准的动画命名格式是 ?模型名@动画名 如boss1@idle ,这样导入进来之后unity会自动给这个动画命名为idle而不是Take 001.
- Unity 动画系统 Animation 和 Animator的小实例
本文结合一个很简单的动画demo,分别采用2种方法,来对比Animation和Animator的使用方式: 方法1:单独使用Animation 方法2:Animation结合Animator 动画De ...
随机推荐
- Maven学习总结(五)——聚合与继承
一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 <modules> <module>模块一</module> & ...
- CSS3参考手册
很好用的CSS3 API http://www.css88.com/book/css/
- 轻松了解Spring中的控制反转和依赖注入(二)
紧接上一篇文章<轻松了解Spring中的控制反转和依赖注入>讲解了SpringIOC和DI的基本概念,这篇文章我们模拟一下SpringIOC的工作机制,使我们更加深刻的理解其中的工作. 类 ...
- IIS下使用appcmd批量搭建网站
使用 cmd 运行如下命令 > %windir%\system32\inetsrv\appcmd list site /config /xml > d:\sites.xml 修改 d 盘 ...
- Android的消息机制: Message/MessageQueue/Handler/Looper
概览 * Message:消息.消息里面可包含简单数据.Object和Bundle,还可以包含一个Runnable(实际上可看做回调). * MessageQueue:消息队列,供Looper线程 ...
- linux C++ 获取文件绝对路径
提供ftp服务时需要获取文件绝对路径,这里记录一下. #include <stdlib.h> #include <stdio.h> #include <limits.h& ...
- 构建自己的NSZombie
当开启 xcode zombie 选项,发送消息到一个被 "释放了的对象" 时 ObjZomies *oz = [[ObjZomies alloc] init]; oz.nam ...
- LDO/DC-DC区别总结(转)
电源是一个电子系统中不可缺少的非常重要的一部分.但是外接的电源通常不能够完全提供系统中需要的所有的电源种类.因此带来了电源电压的变换问题.常用的电源电压的变换芯片包括LDO和DC-DC两种.下面对这两 ...
- Oracle 11g导入导出命令
首先需要进入系统的cmd: 执行导出命令,效果如下 expdp hisjk/hisjk@orcl directory=DATA_PUMP_DIR dumpfile=hisjk.dmp SCHEMAS ...
- Windows无法安装到GPT分区形式磁盘的解决办法
现在很多新买的硬盘都是GTP格式,这种格式需要使用UEFI BIOS模式安装系统,我们以前传统的windows系统安装都是“MBR+legacy BIOS”模式安装 Windows无法安装到GPT分区 ...