游戏中要实现一边走一边攻击, 移动还分八方向的,所以使用了半身混合。
Animator 半身混合的处理,可以另外看资料。  
简单来说 就是分2层:0层 播放基础移动动作,比如“Run”, 1层设了Mask(配置了上半身节点),weight设1(会完全覆盖0层的上半身动作),播放"Attack"

就能满足要求了。

不过,策划又有需求,需要玩家移动快时, 脚走路的动画要变快, 但上半身攻击不能变快。

结果Animator 只有一个speed属性, 会影响所有当前动画。

找了一下资料,参考如下链接,有好几种方案,作者帮忙踩过坑了,我就选择最后一种方案。

http://blog.sina.com.cn/s/blog_13c4bf4b40102wup6.html

就是里用Animator 可以定义一些自定义参数(Parameters子页签), 控制动画的播放

上图左侧,可以看到动画的播放速度除了可以固定一个值外,还可配置Multiplier 乘以一个自定义系数。

这样,我们就不用在程序里一个动画一个动画调速度了,直接整个animator 设一次参数就行。
animator.SetFloat("USpeed", value);     
然后把9个移动的动作都做了一下配置。

就基本满足要求了。

不过个人也遇到了一个坑:

Animator所在节点如果 禁用又被启用时(比如怪物远离隐藏,后面又显示), 参数就被重置了。(Animitor主控切换参数当然也会被重置)
所以我在该节点挂的脚本里OnEnable函数里 每次都设一下 animator.SetFloat("USpeed", value);

unity animator动画融合时的上下半身速度分离控制相关推荐

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

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

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

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

  3. unity animator动画学习(1)

    人物模型: 导入人物模型骨架后,选择Rig,选择动画类型为 Humanoid,再选择生成Avator的方式.可以从已经建立好的avator开始,因为并没有建立过avator,所以笔者这里选择通过此模型 ...

  4. Unity——Animator动画分层

    前言:  现在的很多游戏都有这样的一种设计,在游戏的战场中,英雄有一套战斗动画:而在游戏的主城,又有英雄的展示,展示另外一套动画.  但是,在Unity中,一个prefab只能有一个动画状态机,我们需 ...

  5. Unity Animator 动画没切换

    恶魔射手(Survival Shooter)项目,有两个动画,一个是静止时的Idle,一个是走路时候的Move,如下图↓ 设置好动画状态机后发现按方向键后还是Idle,没反应,而一直按着方向键后呢又动 ...

  6. unity animator动画播放完毕后执行

    void Update(){ AnimatorStateInfo info =animator.GetCurrentAnimatorStateInfo(0); if (info.normalizedT ...

  7. Unity序列帧动画疑难解答

    **Unity序列帧动画疑难解答 熟悉界面: 界面熟悉很重要,千万不要发生与别人沟通时你说菜单他去找工具栏的情况. **菜单栏:**基础创建设置工具等功能入口 **工具栏:**软件内的基本操作工具,基 ...

  8. unity普通操作:animator播放,暂停,判断播放完成【(增加1个判断如果这个是动画融合的情况)】

    1.播放,暂停 anim.CrossFade("s2", 0); anim.speed=0://暂停 anim.speed=1://播放 判断播放完成(Update方式) void ...

  9. unity 对Animator动画系统的研究

    unity的新动画系统叫Mecanim,使用Animator来取代旧系统Animation,按Unity文档的惯例:知识点主要分2部分:unity manual和unity script,读者可以边看 ...

最新文章

  1. 分享:Dlib 17.49 发布,跨平台 C++ 通用库
  2. 基于android的家庭财务通 .apk,毕业论文(设计)基于Android的家庭财务管家的设计与实现.doc...
  3. asp.net mvc 4 AntiForgery 提供的防伪标记适用于用户“”,但当前用户为“XX” 问题处理记录...
  4. 使用bpf 排查 fd 泄漏
  5. makefile中的函数
  6. JDK1.8中的Stream详解
  7. 【Python】4500字、10个案例分享几个Python可视化小技巧,助你绘制高质量图表
  8. 数据导入导出、备份恢复
  9. oopc——6.oopc的好处
  10. 去360总部参加网络信息安全会议经历
  11. eigrp配置实验_来,太阁带你做实验
  12. 【官方方法】MacBook2017 双系统恢复macOS High Sierra
  13. c语言怎样得到函数内参数的值_C语言零基础入门—函数01
  14. 明月传说怎么在电脑上玩 明月传说电脑版玩法攻略
  15. 删除远程桌面登录的记录(mstsc)
  16. 谐波平衡 matlab,解非线性振动问题的摄动谐波平衡法
  17. XP突然弹出“automation 服务器不能创建对象”的有效解决方法--win10专业版
  18. nodejs代码将word转成图片
  19. maya之坐标轴与模型显示状态
  20. 服贸会在京举行|淘宝直播携手佳能佳直播联合发布《电商直播高画质开播指南》让品质直播触手可及...

热门文章

  1. 请每一个孝顺的子女耐心的看下去!
  2. 苹果蓝牙耳机太贵了买哪个替代?苹果蓝牙耳机平替推荐
  3. Java、出差报销金额的计算
  4. 2013年 雷诺 Renault Zoe | 警告信息 “停车: 电力故障危险”
  5. 改进维纳滤波的实现——光学稀疏孔径成像系统图像恢复算法研究 陈灏
  6. Proteus仿真-步进电机
  7. 记一次Redis出问题及解决方案
  8. 网吧模式一台服务器拖显示器,摆500台机器太傻 网咖显示器如何配置?
  9. 分布式存储系统Kudu(一)、核心原理
  10. VMware: vmw_ioctl_command error 无效的参数