一、创建文件夹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 动画控制器相关推荐

  1. Unity简单操作:设置触发条件 切换Animator动画控制器 里面播放的Animation动画

    确保animator里面有多个animation动画剪辑,点击Animator里面[Parameters]添加触发条件 添加连线箭头并且 给箭头连线绑定触发事件 添加连线箭头并且 给箭头连线绑定触发事 ...

  2. 【Unity3D小技巧】Unity3D中Animation和Animator动画的播放、暂停、倒放控制

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦. 一.前言 ...

  3. Unity3D实战【七】Cinemachine Post Processing 摄像机跟踪和后处理

    一.摄像机跟随 1.PackManger中安装Cinemachine 2.点击菜单栏的Cinemachine->Create Virtual Camera,会代替原来的Main Camera 3 ...

  4. Unity3D 动画控制器 Animator Component

    文章目录 Animator 组件 Animator Controller 动画控制器 自建状态 1.右键菜单 2.在状态上右键 3.Animator Layers 4.Animator Pameter ...

  5. 【Unity3D】Animator动画播放时卡死在第一帧BUG系列

    常见因素: 1.Animator在Update或其他每帧执行的协程或方法里疯狂被代码调用. 2.Animator动画播放事件会再次调用Animator动画播放. 3.Animator状态机切换问题,A ...

  6. 【Unity3D实战】零基础一步一步教你制作酷跑类游戏(1)

    . 首先做个自我介绍,我是一名在读的大三学生,软件工程游戏开发方向.一直以来,我梦想着成为一名游戏开发者,所以在大三分方向时我毫不犹豫地选择了游戏开发方向.刚刚接触 Unity3D一段时间,现在需要大 ...

  7. 【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 )

    文章目录 一.创建动画控制器 二.创建动画 三.设置值监听器 四.设置状态监听器 五.布局中使用动画值 六.动画运行 七.完整代码示例 八.相关资源 Flutter 动画基本流程 : ① 创建动画控制 ...

  8. 在Unity3D中使用精灵动画引擎制作动画的两种方法

    本文节选翻译自Gamasutra社区博客,文中观点仅代表作者本人意见,与本公众号无关. 在Unity3D中使用精灵动画引擎的两种方法 本文将介绍两种简单快捷的方法来制作游戏角色动画. 1.动画和动画控 ...

  9. 【Unity3D实战】RPG黑暗之光:游戏分解及各系统的实现

    [Unity3D实战]RPG黑暗之光:游戏分解及各系统的实现 一.任务系统: 1.添加接任务的老爷爷: Model中选择并添加老爷爷,调整方向,并添加一个Box collider组件. 2.设计任务U ...

最新文章

  1. 使用git更新github上的开源项目
  2. 【官方权威教程】 PyTorch 深度学习, 学习PyTorch的必备宝典!
  3. 资源下载 | 历年 AAAI 最佳论文(since 1996)
  4. 常见的16进制文件头
  5. Windows Phone StackPanel 布局示例
  6. Run-time Settings--General--Run Logic
  7. PHP导航猫网址导航系统源码V2.4.5
  8. python中给变量赋值时、既确定了变量的值_python中将函数赋值给变量时需要注意的一些问题...
  9. 世界名著100部简介
  10. java:利用数组实现将古诗词纵向输出
  11. Module not found: Error: [CaseSensitivePathsPlugin]
  12. 浩子CHS工作室成立
  13. Django在Terminal中python manage.py startapp myapp报name ‘os‘ is not defined
  14. 智慧医院新系统架构设计与建设
  15. 查找共家庭组计算机,家庭组多台电脑共享方法
  16. 利用xposed自动获得支付宝个人收款二维码链接和收款记录
  17. esp8266最小系统似乎是可以直接用起来接在飞控上的
  18. php mysql echarts动态生成图表
  19. su - oracle和su oracle 的区别
  20. 计算机基础及excel,S102-计算机基础(06)-EXCEL简介及基本操作

热门文章

  1. 用lua将xml文件转成lua文件配置
  2. 超级计算机看未来天气,【气象科普知识】想知道未来天气,有时候也可以看看云...
  3. 华为鸿蒙os升级名单时间,华为鸿蒙系统升级时间表
  4. 四级备考指南!!??
  5. 一款聊天网站,在线聊天室PHP源码可以游客登录
  6. Nginx性能监控与调优
  7. Windows RDP远程代码执行高危漏洞加固指南
  8. CSUSTOJ-哈希的纸团(mid思维)
  9. 中文语义理解引擎 Clause 入选百度飞桨优秀开源项目 | Chatopera
  10. 快手发现页视频采集问题