Unity组件学习记录——动画系统和Timeline(更新中)

前言

文章标识

(?)标识为未更新详细信息或未了解具体使用的内容
(?+文字)标识为对于使用存在疑问的部分

动画系统

Animation动画界面(更新中)

编辑器基本设置

【左窗口】

[Preview] 预览
(红色圆点)录制按钮,开启录制模式时根据修改自动添加关键帧
[Animations] 动画切换
[Samples] 关键帧
(Add Keyframe)添加关键帧
(Add Event)添加事件
[Dopesheet] 关键帧模式
[Curves] 曲线模式,可以控制动画播放中物件属性的变化速度
(1)曲线类型选择
-Clamped Auto 根据key生成平滑曲线的默认切线类型
-Auto 旧版本默认切线类型
-Free Smooth 可手动调节key两侧切线斜率(为保证两侧曲线平滑衔接,左右两侧切线固定共线)
-Flat 出入切线水平
-Broken左右两侧切线不共线(设置Broken后可单独设置两侧切线类型)
(2)Tangent选项
(可以调节左右切线或一起调节)
-Free 自由切线(会开启Broken)
-Linear 线性曲线(?)
-Constant 瞬间变化
-Weighted (?)

【右窗口】

【Inspector窗口】
[Loop Time] 循环播放控制,勾选并开始游戏后,动画效果将循环播放
[Loop Pose] 循环姿势(?)
[Cycle Offset](?)

Animator动画状态机(更新中)

常规:

【Inspector界面】

[Controller] 指定一个动画状态机给该游戏对象
[Avatar] 选定游戏对象的骨骼映射
[Apply Root Motion] (?)
[Updata Mode] (?)
[Culling Mode] (?)

基本设置:

【Inspector界面】

(1)选定[Auto Live Link]界面中的动画状态时(?)
(2)选定[Auto Live Link]界面中的箭头时
[Transitions](?)
[Solo](?)
[Mute](?)
[(?)]
[Has Exit Time] 是否允许打断(?),勾选后一个动画状态播放完后才会进行下一个状态,若不勾选则允许动画中途打断(?)
[Settings]
[Exit Time] 动画打断时间(?)(从哪一帧开始逐渐降低当前动画的权重并切换到下一动画)
[]
[]
[]
[]
[]
[(?)时间轴] 可以设置箭头所关联的动画状态的时间(?),并且可以在切换中进行插值运算以使切换更加平滑(?)
[Conditions](?)
(3)选定[Layers]窗口中的某个Layer时(?)

【Animator界面】

[Auto Live Link]控制面板,用于指定动画切换关系
[Entry]起始状态,指向游戏开始时游戏对象的默认动画状态(橙色)
[Exit](?)
[Any State]任意状态,该状态条一般用于指向某个通用动画状态,逻辑上在游戏对象任何时候都可能进入此状态(如死亡)
[Layers]层级窗口(?)
[Parameters]参数窗口(?)

通过代码进行动画控制(待更新)

UGUI按钮动画(待更新)

Button

带有默认的交互动画,共有四种状态:

[Normal] 正常状态(未交互时)
[Disabled] 禁用状态(non-interactable)
[HighLighted] 高光状态(鼠标移上时)
[Pressed] 按下状态(点击时)

(?)将交互模式切换为Animation后可添加动画,将自动生成一个可列的状态机,包含四个状态的动画

Sprite动画(更新中)

图片精灵(Sprite)
——UI中的一种用于绘制图集的元件(通常不会独立使用)

1.动画创建
将精灵图片资源(多张)拖入场景会自动生成拥有【Sprite Renderer】和【Animator】组件的游戏对象(也可以拖入单张精灵图片,后手动创建状态机)

2.动画编辑
将精灵图片拖入动画编辑右窗口的相应时间轴即可生成对应关键帧

3D模型相关

3D模型基础

1.常用软件:3dmax,maya,blender

2.文件格式:.fbx(常用)

3.3D模型组成(?):
材质
贴图
动画

3D模型基本设置(更新中)

【Model界面】

[Scene]
[Scale Factor] 缩放系数,用于模型大小校正
[Convert Units] 单位转换,勾选后会对模型大小进行“带单位转换”,根据模型中的单位数据导入。取消勾选后,模型导入时的大小数值单位将直接作为unity的默认单位(一米)
[Import BlendShapes](?)勾选后将导入混合模型
[Import Visibility]
[Import Cameras]
[Import Lights]
[Preserve Hierarchy]
[Meshs]
[Mesh Comperssion](?)网格压缩
[Read/Write Enable](?)勾选后,网格可被实时读写
[Optimaize Mesh](?)优化网格,选中后unity可以更快渲染
[Generate Colliders](?)生成碰撞体,选中后将会为导入模型生成碰撞体
[Ceometry](?)
[keep Quads]
[Weld Vertices]
[Index Format]
[Normals]
[Blend Shape Normals]
[Normals Mode]
[Smoothness Source]
[Sommthing Angle]
[Tangents]
[Swap UVs]
[Generate Lightmap UV]

【Rig界面】

[Animation Type]动画种类
[None] 无动画,不导入动画Animation Clip
[Legacy] 老动画,不支持动画状态机,无法对动画进行编辑,导入完后直接使用Animation播放
[Generation]
[Generic] 通常动画类型,支持人形或非人形模型
[Avatar Definition](?)Avatar 定义(骨骼映射)
[Create From This Model] 为此模型创建Avatar
[Copy From Other Avatar] 复制其他的Avatar
(?)Apply后会在人物Prefab中生成Avatar
[Root node] 根节点
[Optimize Game Objects](?)游戏对象优化,一般用于游戏发布等后期阶段
[Humanoid] 人物动画类型,只支持人形模型
[Avatar Definition](?)Avatar 定义(骨骼映射)
[configure…]当人物模型为Humanoid动画类型时,点击后会打开一个新的场景,在此场景中可以编辑模型的骨骼映射
[Create From This Model] 为此模型创建Avatar
[Copy From Other Avatar] 复制其他的Avatar
(?)Apply后会在人物Prefab中生成Avatar
[Optimize Game Objects](?)游戏对象优化,一般用于游戏发布等后期阶段

【Animation界面】

[Import Constraints]
[Import Animation]

[Bake Animations]
[Resample Curves]
[Anim.Compression]
[Rotation Error]
[Position Error]
[Scale Error]
[Animated Custom Pro]

【Materials界面】

[Import Materials]
[sRGB Albedo Colors]
[Location]
[Textures]
[Materials]
[Remapped Materials]

Avatar编辑界面(待更新)

IK动画

Blend Tree

Animator Override Controller

人物动画(课程笔记-暂停更新)

1.关于模型资源导入:(?如何不生成额外的默认材质而正确导入)导入素材后会在贴图材质上生成同名的默认material,会导致导入场景后材质贴图丢失

解决方案1:可在Material选项设置中更替为正确的material(手撕)
————————————————————
解决方案2:3dsMax中模型和贴图采用统一命名,贴图文件拷贝到Unity项目中,然后再导入fbx,就会为自动创建的材质找到对应贴图了。(未成功)

解决方案3:
一、模型打包时要把模型和贴图压缩在同一个文件夹里面
二、如果你是下载的模型,那么你点击解压后 在→ 高级 选项里选择→不解压路径,这样你解压的贴 图和模型就都在一个文件夹了,这样的模型导入3D后是带贴图的。

作者:困卡
链接:https://www.jianshu.com/p/553acf315d90
来源:简书

————————————————————

2.关于模型大小:默认使用FBX设置界面的默认设置,可以通过此设置界面修改或导入后手动修改

3.关于人物动画:
(1)模型Rig设置中,旧版本【Legacy】不支持动画状态机的使用(?),添加组件会弹出警告,运行时没有动画效果
(2)【Generic】和【Humanoid】两种动画种类都需要使用动画状态机进行播放,不能单独使用Animation组件进行播放(会报出警告)
(3)【Generic】和【Humanoid】的差别:Generic动画无法使用Humanoid动画的重定向功能,其动画只能给相应模型使用,而Humanoid动画则可通过动画重定向功能实现一个模型的动画给其他模型使用;Humanoid是人形动画,不支持非人形动画;Humanoid动画可以直接完成角色的移动,而不必使用代码控制。

4.动画分割:
(1)人物动画的分割栏目为【Animation】下方的[Clips],每次完成分割后欲添加(减少)新的片段,则通过加号(减号)新建(删除)。(动画设置界面会相应刷新)
(2)在动画文件设置界面(?),可以通过在Start栏目和End栏目输入对应帧数确定要选择的动画片段,也可以在时间轴上拖拽左右端来确定。
(3)在选定动画片段时,可通过动画预览窗口右上角的播放速度控制提高动画片段分割的准确性
(4)完成分割后点击Apply,Prefab中的原始动画文件将会分割为相应命名的多个片段的动画文件

5.Animator动画状态机的使用
(1)取消箭头有两种方式,一种是选中箭头(箭头变蓝)后点击“Delete”,一种是在箭头或动画状态的【Inspector】视窗的[Transitions]栏目中选择相应的方向点击“-”(减号),箭头即被删除
(2)勾选[Has Exit Time]后,正在进行的动画状态将会播放完毕后再判断tag进行变化。此时通过代码控制改变tag无法使动画立即切换。因此对于需要立即切换的动画应取消勾选本项

6.Humanoid的导入方式
(1)当模型动画为[Humanoid]时,可以在Avatar编辑界面检视其骨骼映射,调整动作
(2)当模型动画为[Humanoid]时,在动画分割界面(?)增加一些新的设置,设置如图
Humanoid动画种类下动画分割界面
(?[Loop match]用于检视动画开始帧和结束帧的一致性(?);可以通过勾选如[Bake Into Pose]使角色不会由于动画的播放而产生旋转或位移;[Based Upon](?);

7.动画重定向(?)
(1)使用[Copy From Other Avatar]的情况下,导入其他模型的Avatar,若骨骼映射存在差异(?),则使用相同的动画状态机后无法正常播放动画(报错?)
(2)使用[Create From This Model] ,在动画状态机组件中配置为另一人形动画种类模型的[Animator Controller],此时完成了动画重定向,操作时可以同时影响两个角色,且动画状态基本相同(注意导入控制脚本)

TimeLine编辑器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值