简介
本文主要记载自己学习unity的过程,边看视频边写笔记,原视频为麦可老师(M_Studio)在B站发的Unity教程 Your First Game,笔记内容没那么详细,仅供复习使用,学习请前往观看麦可老师的视频
麦可老师在这节课主要讲了动画效果
一、添加一个animator组件
首先选中player,选择右侧属性面板,点击addcomponent,搜索animator,点击添加该组件
二、为animator组件创建一个控制器
在assets目录下面创建一个文件夹命名为Animation,用来存放所有动画效果
然后在animation文件夹下面再创建一个文件夹Player,用来存放玩家的动画效果
右键选择Create-Animator Controller 命名为Player
然后把这个controller拖拽到player上Animator属性上contorller位置 然后unity会为我们自动将playercontroller挂载到player物体Animator上
三、创建动画效果
点击windows 选择animation 再选择第一项animation,打开animation窗口
将animation窗口放到一个合适的位置,点击create,创建第一个动画,命名为Idle,用来表示站立动画
进入Assets\Sunnyland\artwork\Sprites\player\idle文件夹,找到站立动画素材,将素材像素(pixels per unit)设置为16
然后将动画的每一帧图片放到这个窗口的时间轴里
点击播放按钮就可以看到主人公有动画效果了
但是这个速度太快了 可以拉长时间轴 将效果调整为最佳效果
四、添加跑动动画
点击window菜单,以此点击animation->animator,打开animator窗口,再点击player,即可查看当前的动画关系
回到animation窗口,点击idle右边的小三角号,选择create new clip,将其命名为run.anim,放到Assets\Animation\player目录下,使用刚才添加站立动画的方式为run添加一个跑动的效果
(ps:如果动画没有循环效果,请找到对应后缀名为anim的动画文件,将loop time属性勾上)
五、关联跑动动画
刚才我们添加完了跑动动画,但是还没有方法让角色可以从站立进入到跑动动画,打开animator窗口,右键run动画,选择make transition,会出现一个箭头,将箭头连接到idle上,这样我们就实现了跑步动画过渡到站立的动画,同样的方法再将站立动画过渡到跑步动画
然后将左侧面板切换到parameter,点击加号,添加一个float类型的参数,命名为running,然后选择由idle过渡到run的箭头,点击属性面板的condition,点击加号添加一个条件running greate 0.1,代表如果running大于0.1的时候,就将动画从idle过渡到run,因为我们需要瞬间过渡,所以还需要将过度时间设置为0,修改transition duration属性,将其设置为0,同样的,再点击run过渡到idle的箭头,将其设置为running小于0.1
六、使用代码进行动画切换
刚才已经做好了动画的过渡,但是什么时候进行过渡还没有设置,所以需要编写代码进行控制
打开playercontroller,先声明一个变量anim,再将animator组件拖拽到上面
1 | /// <summary> |
在角色移动的那添加代码
1 | anim.SetFloat("running", Mathf.Abs(facedirection)); |
上面代码的意思是,如果角色移动了,就将running参数设置为facedirection的绝对值
完整代码如下
1 | using UnityEngine; |
运行游戏,按方向键,我们的角色就有了跑步的动画了
第六节课到这里 原视频地址