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 ...
随机推荐
- JAVA SERVLET专题(下)
HTTP简介 ·WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵守一定的规则,这个规则就是HTTP协议. ·HTTP是hypertext transfer protocol(超文本传输协议)的 ...
- 《day18_String练习_基本类型包装类_集合入门》
package cn.itcast.api.String.test; public class StringTest_1 { public static void main(String[] args ...
- UVa 10328 - Coin Toss (递推)
题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 原题中问出现连续至少k个H的情况,很难下手.我们可以试着将问题转化一下. 设dp[i][j]表示抛掷i个硬币出现连续至多j个H ...
- 什么php?
PHP是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用.PHP的语法借鉴吸收了C语言.Java和Perl等流行计算机语言的特点,易于一般程序员学习.PHP的主要目标是允许网络开 ...
- PHP、C++的重载
首先明确一点:PHP重载是用在面向对象的类当中,而不支持函数重载. 这点与C++不一样,在C++当中,重载可以用于面向过程和面向对象,而且方法也不一样. 在C++中,重载适用于当函数名相同时,函数所需 ...
- H5实现俄罗斯方块(二)
对应的js 1.封装操作dom的js: (function (document) { //游戏的实例 var gameInst; /**封装一个返回原型的DOM对象 */ function DomOb ...
- java作业3
Java字段初始化的规律: 静态初始化生成实例之后(就是new之后)变成你赋给它的值 ,先执行静态初始化,如果没有实例化,按照初始化块和构造方法在程序中出现的顺序执行. 当多个类之间有继承关系时,创建 ...
- C#导入、导出功能
//导出功能 protected void btnExport(object sender, EventArgs e) { //用来打开下载窗口 string fileName = "中心联 ...
- Unity3D ShaderLab 立方体图的菲涅尔反射
Unity3D ShaderLab 立方体图的菲涅尔反射 菲涅尔反射是反射类型中比较常见的一种类型,当我们的视线正对物体表面,那么反射量会明显增加, 我们几乎可以在任何支持反射类型的物体表面看到这种情 ...
- 服务器的Arch Linux,CentOS的,Debian的,Fedora的,Gentoo的,openSUSE的,Slackware的,和Ubuntu哪个好
我能够建议的就是:如果你自己是开发者,如果你自己买了一台 VPS 自己搭服务器用.选 Ubuntu/Debian 挺好.当然如果你觉得自己闲工夫实在多得没处花,可以隔三差五的就到服务器上做升级更新,用 ...