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);
}
}
本章完。
热门推荐
女性主义运动中的关键事件、人物和思想是如何影响全球性别观念?
什么纯音乐适合做宣传片
装修后如何使用橘子皮去除室内异味
朱自清的父亲看到《背影》,才与儿子重归于好,安然去世
松江仓城老街5处老宅通过验收!
古希腊献祭仪式的历史和背景:献祭、预言、神谕和发展
《夜雨寄北》的创作背景是什么?如何理解?
【名句赏析】何当共剪西窗烛,却话巴山夜雨时。出处|原文|注释|作者
心脏动脉钙化点的成因与治疗
庄子哲学揭秘:如何在“道”中找到终极自由与精神觉醒
二战苏德战争,为何第4装甲集团军战斗力强悍?属于机动作战部队
环境工程专业大学排名一览表(2025最新排行榜)
20-25万预算:油车与电车轿车大比拼,谁更值得入手?
街机摇杆漂移问题全解析:原因、影响与解决方案
如何使车辆尾灯闪烁?这些操作对车辆安全有何影响?
高学历女性婚恋困局:文明进化中的新旧价值冲突
192.168.1.1路由器管理系统使用教程
Excel for Finance 04 `IFERROR` 函数
SSL证书分类有哪些?如何选择合适的证书类型
如何根据自身需求选择合适的基金?这些选择方法有哪些实际应用?
如何看待市场止跌现象?这种止跌现象如何进行深入分析?
腋窝摸到一颗小疙瘩,不痛不痒,最后竟是癌!
人生建议:生个女儿
基于大模型的生成式人工智能在审计实践中的应用研究
3.45亿车主需要的共享停车,如何破局?
保障基本人权:人最基本的人身权利
关于颈椎病,看这一篇就够了!
如何评估城市的生活质量和居住环境?这些评估标准如何帮助选择理想的居住地?
【教师必备】AI助你高效备课:解锁教学新境界
中金宏观 | 减少出口退税,影响几何?