Unity3D基础论-Animation-Animator-Audio Source

Unity3D基础论-Animation-Animator-Audio Source_第1张图片
动画

Mecanim动画系统:方便的实现人型动画的设置和重用、方便的实现动画剪辑的设置、可视化的动画控制界面、对动画播放的精确控制;

Rig面板:AnimationType动画类型:None 没有动画、Legacy 旧版动画、Generic 新版通用型动画(非人型)、Humanoid 新版人型动画;骨骼创建方式:Create From Model通过模型创建、Copy From Other Avatar拷贝其他骨骼;配置骨骼:必须匹配的骨骼(实线圆圈)、可选匹配的骨骼(虚线圆圈);

Animation面板:Position,Rotation,Scale误差;Clip动画剪辑设置:增加、删除、重命名、设置起始帧、设置结束帧、动画循环Loop Time、姿势循环、循环偏移量、BakeIntoPose烘焙进姿势、BakedUpon烘焙基准、Offset偏移量量、Mirror镜像;

Animator组件:Controller 动画控制器器(动画状态机)、Avatar 骨骼、Apply Root Motion 应用根动作

Animator类:SetFloat/Int/Bool/Trigger:设置动画状态机参数(Float,Int,Bool,Trigger);GetFloat/Int/Bool:获取动画状态机参数(Float,Int,Bool);GetCurrentAnimatorStateInfo:获取当前层动画状态信息、IsName、IsTag;StringToHash(静态方法)将一个字符串转换为哈希ID;

动画层:

动画层设置:Weight权重 该层动画执行的比例、Mask遮罩 该层动画可以控制身体的哪些部分、IK Pass支持IK动画;动画遮罩设置:遮罩设置、IK反向动力学遮罩;

IK动画:

打开IK Pass、IK部位、左手、右手、左脚、右脚、眼镜LookAt

代码实现:

animator.SetIKPositionWeight          animator.SetIKRotationWeight        animator.SetIKPosition        animator.SetIKRotation

动画事件:

1.函数必须是public    2.方法必须是放置在该人物对象身上的脚本组件中   3.参数只能增加一个,且参数类型只能是Float,Int,String,Object之一   4.添加了帧事件,必须要在代码里声明事件方法,否则报错。

Animation  :旧版动画组件,需要手动添加

Unity3D基础论-Animation-Animator-Audio Source_第2张图片
Animation旧版动画
Animation

添加完组件后到下图设置:

Unity3D基础论-Animation-Animator-Audio Source_第3张图片
Animation
Unity3D基础论-Animation-Animator-Audio Source_第4张图片
create
Unity3D基础论-Animation-Animator-Audio Source_第5张图片
Add

拉动物体就能修改数值;

Unity3D基础论-Animation-Animator-Audio Source_第6张图片
Add
Unity3D基础论-Animation-Animator-Audio Source_第7张图片
循环方式

代码:

调用动画:

获取动画组件
Unity3D基础论-Animation-Animator-Audio Source_第8张图片
触发播放动画
Unity3D基础论-Animation-Animator-Audio Source_第9张图片
设置你想要的效果

导入的模型:

Unity3D基础论-Animation-Animator-Audio Source_第10张图片
动画模型
Unity3D基础论-Animation-Animator-Audio Source_第11张图片
设置
Unity3D基础论-Animation-Animator-Audio Source_第12张图片
添加自己设置的动画

Wrap Mode:在这儿修改动画的循环方式

Quaternion:四元数

rotation的类型就是四元数

LookRotation:看向某个物体

Quaternion.LookRotation();

有些模型需要选择新版人型动画:

Unity3D基础论-Animation-Animator-Audio Source_第13张图片
阿凡达/阿芬达:骨骼
Unity3D基础论-Animation-Animator-Audio Source_第14张图片
设置
Unity3D基础论-Animation-Animator-Audio Source_第15张图片
设置动作、事件等

Curves :曲线     Events :事件

Animator:新版动画组件,点击模型就能看到

Unity3D基础论-Animation-Animator-Audio Source_第16张图片
Animator
Unity3D基础论-Animation-Animator-Audio Source_第17张图片
控制器
Unity3D基础论-Animation-Animator-Audio Source_第18张图片
使用控制器
Unity3D基础论-Animation-Animator-Audio Source_第19张图片
设置控制器
Unity3D基础论-Animation-Animator-Audio Source_第20张图片
设置控制器
Unity3D基础论-Animation-Animator-Audio Source_第21张图片
设置控制器
Unity3D基础论-Animation-Animator-Audio Source_第22张图片
设置控制器
Unity3D基础论-Animation-Animator-Audio Source_第23张图片
设置控制器
Unity3D基础论-Animation-Animator-Audio Source_第24张图片
代码控制新版动画

融合数:可以放两个或多个状态

Unity3D基础论-Animation-Animator-Audio Source_第25张图片
融合数

双击融合数进入新的界面:

Unity3D基础论-Animation-Animator-Audio Source_第26张图片
设置融合数
Unity3D基础论-Animation-Animator-Audio Source_第27张图片
设置融合数

使用代码完成融合数里两个动画的切换

Unity3D基础论-Animation-Animator-Audio Source_第28张图片
Unity3D基础论-Animation-Animator-Audio Source_第29张图片
遵循迪凯尔坐标系/标准坐标系。
Unity3D基础论-Animation-Animator-Audio Source_第30张图片
Unity3D基础论-Animation-Animator-Audio Source_第31张图片
Unity3D基础论-Animation-Animator-Audio Source_第32张图片

新版人形动画:

Unity3D基础论-Animation-Animator-Audio Source_第33张图片
Unity3D基础论-Animation-Animator-Audio Source_第34张图片
设置人形骨骼
Unity3D基础论-Animation-Animator-Audio Source_第35张图片
设置人形骨骼
Unity3D基础论-Animation-Animator-Audio Source_第36张图片
设置人形骨骼
Unity3D基础论-Animation-Animator-Audio Source_第37张图片
设置曲线

动画覆盖:同时做两个动作,跟融合不一样

Unity3D基础论-Animation-Animator-Audio Source_第38张图片
动画覆盖

可以控制部分区域骨骼做出不同的动作

Unity3D基础论-Animation-Animator-Audio Source_第39张图片
遮罩
Unity3D基础论-Animation-Animator-Audio Source_第40张图片
设置遮罩
Unity3D基础论-Animation-Animator-Audio Source_第41张图片
设置遮罩
Unity3D基础论-Animation-Animator-Audio Source_第42张图片
设置遮罩

代码控制不同的动作

Unity3D基础论-Animation-Animator-Audio Source_第43张图片
Unity3D基础论-Animation-Animator-Audio Source_第44张图片
Unity3D基础论-Animation-Animator-Audio Source_第45张图片
Unity3D基础论-Animation-Animator-Audio Source_第46张图片
Unity3D基础论-Animation-Animator-Audio Source_第47张图片

反向动力学:

Inverse kinematics

一种通过先确定子骨骼的位置,然后反求推导出其所在骨骼链上n级父骨骼位置,从而确定整条骨骼链的方法。

在前向动力学系统中,每一个子关节的位置、方向都是由父关节所支配的。在电脑动画软件的发展初期,关节动画都是正向链接系统,它的特点是软件开发容易,最致命的弱点便是工作效率太低。

与前向动力学正好相反,反向动力学是依据某些子关节的最终位置、角度,来反求出整个骨架的形态。它的特点是工作效率高,大大减少了需要手动控制的关节数目,缺点是求解方程组需要耗费较多的计算机资源,在关节数增多的时候尤其明显。                                    

拓展:Audio Source-声音组件

声音:发声组件 AudioSource ; 声音选项:2D声音 没有位置概念,在哪都能听到;3D声音有位置概念,只有距离声音较近地方才能听到。

声音文件: AudioClip;

发声方式:

当前对象挂载了了AudioSource组件,并且AudioSource中有声音片段,执行播放方法。通常用于单个声音片段播放

不不需要挂载AudioSource组件,直接通过静态方法在某一位置播放某一声音片段通常用于多个声音片段播放

原理:新建一个空对象,挂载AudioSource组件,添加指定声音片段,播放之后,自动销毁。

缺点:耗CPU调度,耗内存。

静态方法:PlayClipAtPoint(AudioClip,Vector3)

Invoke:

功能:隔一段时间之后,执行一个方法

参数:方法名称(String)  时间间隔(float)

Unity3D基础论-Animation-Animator-Audio Source_第48张图片
Audio Source

音乐组件翻译

Unity3D基础论-Animation-Animator-Audio Source_第49张图片

END

你可能感兴趣的:(Unity3D基础论-Animation-Animator-Audio Source)