Unity2D动画制作:实现角色移动时播放对应动画
创作时间:
作者:
@小白创作中心
Unity2D动画制作:实现角色移动时播放对应动画
引用
CSDN
1.
https://blog.csdn.net/qq_55048532/article/details/139025601
在Unity2D游戏中,角色的移动动画是提升游戏体验的重要环节。本文将详细介绍如何使用Animator组件制作角色移动时播放对应的动画,包括制作动画混合树、编辑动画控制器以及编写相关的Ruby脚本。
一、制作动画混合树
打开Window->Animation->Animator,打开动画编辑窗口
点击想要编辑动画的游戏对象
在动画编辑窗口中新建一个混合树
二、通过动画控制器编辑动画在合适的时机播放
点击加号,新建两个Parameters(参数)LookX,LookY(图中是MoveX和MoveY)
右键混合树,添加4个Motion(动作)
修改BlendType(混合类型)的属性为2D Simple Directional(2D简单方向)
将4个Motion添加刚刚制作的4个AnimationClip资源
将两个参数调整为LookX和LookY(图中是MoveX和MoveY)
调整两个参数的值
按照相同的方法再制作一个Idle混合树
返回上一级,设置Idle混合树为层级默认状态
选中Idle混合树,点击Make Transition,再点击Move行为树,使Idle状态可以切换到Move状态
再使Move状态到Idle状态也建立连接
新建一个浮点型的Speed参数,点击Idle到Move的箭头,新建一个Conditions(条件)
将条件设置为Speed大于0.1
同理,将Move变为Idle的条件设置为Speed小于0.1
三、编辑Ruby脚本
注:在以下代码中,只显示本章节新编辑的代码,其他代码均省略
- 定义二维向量lookDirection,表示Ruby的朝向
public class Ruby : MonoBehaviour{
// Ruby的朝向
private Vector2 lookDirection = new Vector2(0, -1); // 初始时Ruby面朝下方
}
- 在Update方法中定义二维向量move表示要移动的方向和大小
public class Ruby : MonoBehaviour{
// Ruby的朝向
private Vector2 lookDirection = new Vector2(0, -1); // 初始时Ruby面朝下方
void Update(){
// horizontal和vertical分别是水平和竖直方向位移的大小
Vector2 move = new Vector2(horizontal, vertical);
}
}
- 当Ruby移动时,重新设置Ruby的朝向并进行归一化处理;给Animator组件中的参数赋值
public class Ruby : MonoBehaviour{
// Ruby的朝向
private Vector2 lookDirection = new Vector2(0, -1); // 初始时Ruby面朝下方
void Update(){
// horizontal和vertical分别是水平和竖直方向位移的大小
Vector2 move = new Vector2(horizontal, vertical);
// 当Ruby移动时
if(!Mathf.Approximately(move.x, 0) || !Mathf.Approximately(move.y, 0)) {
lookDirection.Set(move.x, move.y);
lookDirection.Normalize(); // 对向量lookDirection进行归一化处理,使每个方向的值变为(-1,1)范围内的小数
}
// 给Animator组件中的参数赋值
animator.SetFloat("LookX", lookDirection.x);
animator.SetFloat("LookY", lookDirection.y);
animator.SetFloat("Speed", move.magnitude);
}
}
本章完。
热门推荐
清华教授认为:“穷人辣,富人鲜”,爱吃辣的地方真是因为穷吗?
企业流程标准化的六大步骤及实施要点
微信聊天记录藏哪儿了?一篇文章带你找到答案!
探索狗的10个有趣冷知识,最后一个你没想到
同等学力申硕:非本科背景人士的硕士之路
燃气热水器哪种防冻方式好?冬季安全保障必备
肝不好的朋友听听劝!6个养肝血、泄肝火的动作跟着练
如何成为一名赚钱的摄影师:14种创收方式
人力资源外包履约能力及质量保证措施
易趣拼音~巧记16个整体认读音节,一遍就会!
急性胆囊炎的治疗原则
中国z高烂尾楼的传奇与困境,天津117大厦,看 DeepSeek 分析如何解困!
“犹如”在语言表达中的运用技巧与生动比喻的应用探讨
杭州千人相亲大会为什么没有男人去?
斯坦福教授骆利群:为何人脑比计算机慢1000万倍,却如此高效
如何避免术后感染?一文教你掌握防护细节
网站设计需求分析报告
茹振钢代表的“麦田守望”

腔隙灶不治疗可以吗
电导率、电阻和欧姆定律
硬盘专业名词详解:SATA与PCIe总线、NVMe与AHCI协议、各类接口对比
崖山之后无华夏:南宋灭亡背后的三国杀局与历史启示
科普:纹眉分了那么多种类,有什么区别
煮冻汤圆,切记别直接下锅煮,多加1步,不漏馅不夹生,香甜软糯
别踩雷啦,真正有效的祛斑方法都在这了
Phigros自制谱面完全指南:从创作到录制的全流程详解
全站仪的架设流程
狗狗的日常饮食指南:15种健康食材推荐
十万预算内的旅行车选择有哪些?
阿里在港双重上市,A股投资者终于可以买了