Unity动画系统基础

来源:互联网 发布:enako 知乎 编辑:程序博客网 时间:2024/05/18 03:36

Unity动画系统基础

##1Mecanim动画系统

++++1Macanim功能强大的动画系统

++++2、方便的实现人型动画的设置和重用

++++3、方便的实现动画剪辑的设置

++++4、可视化的动画控制界面

++++5、对动画播放的精确控制


++++1Mecanim工作流程

++++2、动画类型

++++3、人型动画设置

++++4、设置Avator

++++5、设置动画剪辑

++++6Animator组件

++++7Animator控制器啊

++1.1Mecanim工作流程

++++1、资源导入,这一阶段由美术师或动画师通过三维工具来完成。

++++2、角色的建立,主要分为以下两种方式。

--第一种:人形角色的建立,Mecanim通过扩展的图形操作界面和动画重定向功能,为人物模型提供了一种特殊的工作流,它包括Avator的创建和对肌肉定义(Musicle Definitions)的调节。

--第二种:一般角色的建立,一般为运动物体和四足动物而设定,动画重定向对此不适用。

++++3、角色的运动,包括设定动画片段以及其相互间的交互作用,也包括建立状态机和混合树、调整动画参数以及通过代码控制动画等。

++1.2、动画类型

++++动画类型分为四种:

--None :无任何动画

--Legacy :旧版Animation动画

--Generic :一般动画(非人形动画)

--Humanoid :人形动画


++1.3、人型动画设置

++++1、选择骨骼创建方式

++++2、配置骨骼Avatar

++++3、检测骨骼是否匹配


++1.4、设置Avatar

++++1、必须匹配的骨骼(实心圆圈)

++++2、可选匹配的骨骼(虚心圆圈)

++++3、选择配置部位

++++4、选择具体骨骼

++++5、完成匹配


++++AvatarMecanim系统中极为重要的模块,因此为模型资源正确的设置Avatar也至关重要,不管Avatar自动创建过程是否成功,用户都需要进入【Configure ... Avatar】界面中确认Avatar的有效性,即确认用户提供的骨骼结构与Mecanim系统预定义的骨骼结构是否正确的关联起来,并且模型处于T形姿态。


++++Mecanim使用肌肉(Muscle)来限制不同骨骼的运动范围,一旦Avatar配置完成,Mecanim就能解析其骨骼结构,进而用户就可以在Muscles选项卡中调节相关参数。在此可非常容易的调节角色的运动范围,确保看起来真实自然。

++++用户可以在视图上方使用预先定义的变形方法对几根骨骼同时进行调整,也可在视图下方对身体上单根骨骼进行调整。


++1.5、设置动画剪辑

++++1、选择动画选择卡

++++2、导入动画

++++3、动画压缩,可以进行关键帧压缩

++++4、用来设置动画曲线的精确程度

++++5、模型中所包含的动画剪辑

++++6、可以增加或者删除动画剪辑


++++7、动画剪辑起始帧和结束帧

++++8、动画循环

++++9、镜像

++++10、根动作设置:包括旋转、Y轴水平位置和XZ平面位置

--Bake Into Pose :烘焙进姿态

--loop match :当需要让一个动作重复时,后面的圆点颜色就代表重复质量。

  ---绿色表示该动画的第一帧和最后一帧角色的姿态相似,黄色次之,红色质量最差。

--Based Upon :定根动作的参考点。

--Offset :偏移量用来设置指定根动作,在运动时的偏移量。


++1.6Animator组件

++++控制器: 添加在角色身上的Animator控制器用来设置角色身上的行为,包括状态机、融合树和通过脚本控制的事件。

++++Avatar :当前角色的Avatar系统。

++++应用根动作: 使用角色自身动画的运动属性移动角色位置,还是使用脚本来实现。

++++更新模式:

--1Update更新;

--2、基于物理更新;

--3、能够不依赖Time.timeScale更新动画系统。

++++剔除模式: 动画的剔除模式。


++1.7Animator控制器

++++1、创建动画控制器: 在Project视图中点击Create,然后选择Animator Controller

++++2、重命名后,双击创建的 Animator Controller可以打开Animator视图。

++++3、只需要把动画剪辑拖入Animator视图即可。

--第一个加入的动画会设为默认状态,如果需要更改默认状态,需要在状态上单击右键选择设为默认。


##2State Machine状态机

++2.1、状态机

++++将动画加入状态机后,我们需要实现动画间的过渡。


++++动画间的过渡需要使用状态机和状态参数实现,目前支持的参数类型有4种。


++2.2、设置动画状态

++++1、状态名

++++2Tag:状态标签

++++3Speed:动画默认速度

++++4Motion:动作对应的动画剪辑

++++5Foot IK:脚部动画约束

++++6Mirror:镜像动画

++++7Transitions:从这个状态产生的动画过渡


++2.3、设置过渡条件

++++1Has Exit Time:勾选时,过渡不可被中断

++++2Settings:状态切换融合设置

++++3Conditions:设置过渡条件


++2.4Animator

++++常用方法

--SetFloat/GetFloat :设置/获取float类型参数的值。

--SetTrigger :设置一次触发。

--GetCurrentAnimatorStateInfo :获取某一层的状态机信息。

--IsInTransition :判断是否在执行动画过渡。

--StringToHash :返回状态机所代表的Hash值。


++2.5、使用代码控制状态机

++++首先,需要得到状态参数的散列表IDAnimator组件。

--获取状态参数的散列表ID

int speedFloat = Animator.stringToHash(“Speed”);

int deadBool = Animator.stringToHash(“Dead”);

++++然后,通过SetXxxxx函数改变状态参数的值

--改变Float类型状态参数的值:

animator.SetFloat(speedFloat, 2.0f);

--改变Bool类型状态参数的值:

animator.SetFloat(deadBool, true);


##3BlendTree融合树

++3.1BlendTree融合树

++++融合树的功能是将两个或多个相似的动作进行融合。

++++将走路和奔跑动画融合在一起。

++3.2、动画融合

++++使用一个参数控制融合状态。


++++动画融合

--双击融合树后进入融合树界面;

--融合树名字;

--Blend Type :融合类型;

  ---1D ,使用一个参数进行融合;

  ---2D简单定向, 所有动作都是不同方向时使用的简单融合。

  ---2D自由定向, 也用于混合朝向不同的动作,但它有一个原点动作。

  ---2D自由笛卡尔坐标, 可以在XY轴使用不同的定义,自由定义动作。

--Parameter :参数

--动作示意区

--Motion :动画剪辑

--Thresl :临界值

--时间缩放

--镜像

--添加删除

--Automate Thresholds :自动设置临界值

--Adjust Time Scale :调整时间缩放



--_--VRunSoft : lovezuanzuan--_--

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 8级钳工多少钱一个月 工银融 工银e生活 工银核心价值 工银e生活app 工银平衡基金净值 工银安盛人寿保险有限公司 工银人寿 工银e支付 001409工银互联网加基金净值 工银融e行 工银灵通卡 工银信使 工银多币种信用卡 工银新材料新能源股票基金 工银金融地产混合 工银亚洲 工银互联网加基金净值 工银互联网001409基金加股票 工银融e联下载 工银核心价值基金净值 001158基金工银新材料新能源 工银高端制造000793 工银e办公 工银e缴费 工银电子密码器 工银融e联怎么查余额 工银平衡 工银医疗保健000831 工银沪深300 工银核心价值净值 工银价值 000251工银金融地产股票 工银e生活下载 工银e钱包 工银e安全 工银战略转型000991 工银互联网加股票基金净值 工银货币基金 工银创新动力基金净值 工银e生活app下载