Unity3D实战【八】Animator 动画控制器
一、创建文件夹Prefabs(存放预制体)和Animations(存放动画相关)
给人物改个名字(Player),Add Component->Animator,把人物拖到Prefabs文件夹里
在Animations文件夹下建一个文件夹Animators,右键Create->Animator Controller(Player),然后拖给人物
Window->Animation->Animator打开窗口,右键Create State->From New Blend Tree(Locomotion),删除无用参数Blend
双击Locomotion进入,创建一个Float类型参数Speed,点击Blend Tree设置参数
- 将素材包里的动画拖到motion里
打开PlayerController脚本代码
private Animator anim;void Awake(){anim = GetComponent<Animator>();}void Update(){SwitchAnimation();}/// <summary>/// 切换动画函数/// agent.velocity:人物的速度、sqrMagnitude将某某数值类型转化为float/// </summary>private void SwitchAnimation(){anim.SetFloat("Speed",agent.velocity.sqrMagnitude);}
- 支线
当前playercontroller脚本代码
using UnityEngine;
using UnityEngine.AI;public class PlayerController : MonoBehaviour
{private NavMeshAgent agent;private Animator anim;void Awake(){//在Awake函数中初始化agent = GetComponent<NavMeshAgent>();anim = GetComponent<Animator>();}void Start(){MouseManger.Instance.OnMouseClicked += MoveToTarget;//将函数注册到事件中}void Update(){SwitchAnimation();}/// <summary>/// 切换动画函数/// agent.velocity:人物的速度、sqrMagnitude将某某数值类型转化为float/// </summary>private void SwitchAnimation(){anim.SetFloat("Speed",agent.velocity.sqrMagnitude);}/// <summary>/// 因为要注册到OnMouseClick函数,所以函数参数类型也得一样/// </summary>/// <param name="target"></param>public void MoveToTarget(Vector3 target){agent.destination = target;}
}
- 上一篇:Unity3D实战【七】Cinemachine & Post Processing 摄像机跟踪和后处理
- 下一篇:Unity3D实战【九】Shader Graph 遮挡剔除
Unity3D实战【八】Animator 动画控制器相关推荐
- Unity简单操作:设置触发条件 切换Animator动画控制器 里面播放的Animation动画
确保animator里面有多个animation动画剪辑,点击Animator里面[Parameters]添加触发条件 添加连线箭头并且 给箭头连线绑定触发事件 添加连线箭头并且 给箭头连线绑定触发事 ...
- 【Unity3D小技巧】Unity3D中Animation和Animator动画的播放、暂停、倒放控制
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦. 一.前言 ...
- Unity3D实战【七】Cinemachine Post Processing 摄像机跟踪和后处理
一.摄像机跟随 1.PackManger中安装Cinemachine 2.点击菜单栏的Cinemachine->Create Virtual Camera,会代替原来的Main Camera 3 ...
- Unity3D 动画控制器 Animator Component
文章目录 Animator 组件 Animator Controller 动画控制器 自建状态 1.右键菜单 2.在状态上右键 3.Animator Layers 4.Animator Pameter ...
- 【Unity3D】Animator动画播放时卡死在第一帧BUG系列
常见因素: 1.Animator在Update或其他每帧执行的协程或方法里疯狂被代码调用. 2.Animator动画播放事件会再次调用Animator动画播放. 3.Animator状态机切换问题,A ...
- 【Unity3D实战】零基础一步一步教你制作酷跑类游戏(1)
. 首先做个自我介绍,我是一名在读的大三学生,软件工程游戏开发方向.一直以来,我梦想着成为一名游戏开发者,所以在大三分方向时我毫不犹豫地选择了游戏开发方向.刚刚接触 Unity3D一段时间,现在需要大 ...
- 【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 )
文章目录 一.创建动画控制器 二.创建动画 三.设置值监听器 四.设置状态监听器 五.布局中使用动画值 六.动画运行 七.完整代码示例 八.相关资源 Flutter 动画基本流程 : ① 创建动画控制 ...
- 在Unity3D中使用精灵动画引擎制作动画的两种方法
本文节选翻译自Gamasutra社区博客,文中观点仅代表作者本人意见,与本公众号无关. 在Unity3D中使用精灵动画引擎的两种方法 本文将介绍两种简单快捷的方法来制作游戏角色动画. 1.动画和动画控 ...
- 【Unity3D实战】RPG黑暗之光:游戏分解及各系统的实现
[Unity3D实战]RPG黑暗之光:游戏分解及各系统的实现 一.任务系统: 1.添加接任务的老爷爷: Model中选择并添加老爷爷,调整方向,并添加一个Box collider组件. 2.设计任务U ...
最新文章
- 使用git更新github上的开源项目
- 【官方权威教程】 PyTorch 深度学习, 学习PyTorch的必备宝典!
- 资源下载 | 历年 AAAI 最佳论文(since 1996)
- 常见的16进制文件头
- Windows Phone StackPanel 布局示例
- Run-time Settings--General--Run Logic
- PHP导航猫网址导航系统源码V2.4.5
- python中给变量赋值时、既确定了变量的值_python中将函数赋值给变量时需要注意的一些问题...
- 世界名著100部简介
- java:利用数组实现将古诗词纵向输出
- Module not found: Error: [CaseSensitivePathsPlugin]
- 浩子CHS工作室成立
- Django在Terminal中python manage.py startapp myapp报name ‘os‘ is not defined
- 智慧医院新系统架构设计与建设
- 查找共家庭组计算机,家庭组多台电脑共享方法
- 利用xposed自动获得支付宝个人收款二维码链接和收款记录
- esp8266最小系统似乎是可以直接用起来接在飞控上的
- php mysql echarts动态生成图表
- su - oracle和su oracle 的区别
- 计算机基础及excel,S102-计算机基础(06)-EXCEL简介及基本操作