RPG类型的动作游戏因为其敏捷的工作动作,技能连招之间丝滑的衔接,视觉冲击感爆棚的技能释放特效,所谓“拳拳刀肉,刀刀进身”的攻击效果,吸引了一大批忠实角色类扮演游戏的忠实粉丝。

那么,你知道连招是怎么实现的吗?

今天我们就来向大家展示一个简单的角色连击功能,并且手把手来教大家怎样去实现这个功能。

涉及到代码或者一些问题的答疑,各位小伙伴可以扫描下方二维码添加助教咨询。

首先我要在这里说一下,在动作游戏中,一个角色的连续攻击是常见的功能。

而一个连贯性丝滑的技能连击动作可以带给玩家更好的操作手感,以及可以有更多的可发挥性。

实现一个连贯性强的角色连击功能需要掌握2个基础知识,分别是Animator 的熟练运用和播放动画的代码编写。

开端

接下来,前期的准备工作需要做些什么呢?

1.     准备一个avatar为humanoid模型

(人形动画不会做不要紧,我们为你准备好的资源里都是会携带人形动画并且提前设置好的,不会的同学赶紧扫描下方二维码添加你的专属助教一起来实操吧!)

2.     准备人物攻击的动画Animation,也就是角色动画设置

(1)给角色添加组件-> Animator

点击角色—点击Inspector面板下方的Add Component(添加组件)—输入Animator—点Animator完成添加,这时候角色就成功添加Animator组件了。

(2)创建一个动画控制器-> Animator Controller

新建一个文件夹,专门放动画控制器(如果已经有就必新建啦~);在该文件夹中鼠标右键—Creat—Animator Controller。

(3)设置攻击动画的Loop Time  为false

找到你需要的攻击动画点击Edit—Loop Time取消勾选就是False了

(4)给动画控制器(Animator Controller)添加一个循环的待机动画

点击你所创建的动画控制器Animator Controller,打开Animator面板右键Creat State—Emty—点击创建出来的图形化面板,在右上角命名为Idle(待机)并且给其Motion添加Idle(待机)动画;

三个攻击动作也是这么操作,分别创建atk_1、atk_2、atk_3的图形化面板,选定atk_1、atk_2、atk_3的攻击动作并且给其Motion添加atk_1、atk_2、atk_3的动画。

(5)添加动画变量用于控制攻击动画的切换

①点击Parameters创建Trigger类型的条件atk

atk: 用于判断是否要进行攻击

②点击Parameters创建Float类型的条件animTime

animTime:用于判断动画播放百分之多少之后进行攻击才能连击

(6)设置动画之间的播放条件

①右键Ildle—Make Transition—连atk_1

给Idle状态切换到Atk状态之间的线添加atk条件,并且将Has Exit Time 取消勾选

②右键atk_1—Make Transition—连atk_2

给atk_1状态切换到atk_2状态之间的线添加atk条件和animTime条件,animTime条件设置为Greater为0.5,并且将Has Exit Time 取消勾选

③右键atk_2—Make Transition—连atk_3

给atk_2状态切换到atk_3状态之间的线添加atk条件和animTime条件,animTime条件设置为Greater为0.5,并且将Has Exit Time 取消勾选

④所有的返回的条件设置相同:

分别右键atk_1、atk_2、atk_3—Make Transition—连Idle,将Has Exit Time勾选(默认是勾选的)

(7)最后将角色的动画控制器(Animator Controller)和人形角色动画(humanoid模型)拖拽给角色的Animator组件。

这样角色的动画设置就完成了。接下来,就要通过代码来控制角色进行连击动画的播放了。

3.通过代码控制角色连击:

在这里先说一下我的代码逻辑(为了方便小白们的理解,我说的详细一点哈)

(1)首先是声明一个Animator 组件的变量并且获取角色动画控制器;

(2)写一个方法UpdateAnimStatus();用于更新动画控制器中的动画变量,在UpdateAnimStatus方法中。

①这里的”animTime”表示更新的对象;

②用了Repeat, animTime的值只会在0-1之间确保animTime不会出现负值或者大于1的值;

③anim.GetCurrentAnimatorStateInfo(0).normalizedTime,获取当前第0层正在播放的动画的播放时间并且使其值转化为0-1之间。

代码讲解:

如果有看不清或者不理解的小伙伴可以扫描下方二微码添加你的专属助教老师答疑哦,同时还有更多U3D学习资源、面试攻略、求职模版等重磅福利等你来领取哦。

添加助教老师

领取海量U3D资源/面试攻略/简历模版

更有机会领取最新训练营免费入营资格

《ARGP狼人战斗系统》

等你来解锁

Unity架构师之路

Unity教程 | 墙外的Unity | 免费资源

扫描下方二维码领取

Unity技能工厂——怎样实现丝滑的角色连击动画相关推荐

  1. Unity技能工厂——字体替换工具功能的实现!

    在平常我们做任何项目的时候,工具类对于我们来说是必不可少的组成部分,因为工具类可以解决实际问题或者是优化我们已经实现的功能. 当你在做项目的时候,搭建完场景后,前场景中你所创建的UI组件中的Text的 ...

  2. vue可视化拖拽组件模板_基于 Vue 丝滑般拖拽排序组件VueSlicksort

    今天给大家分享一个功能超强的自由拖拽排序组件VueSlicksort. vue-slicksort 一款功能强大的可拖拽的vue.js组件.拥有丝滑般拖拽动画效果,支持水平/垂直/网格拖拽排序.还可以 ...

  3. 苹果侧边滑动返回_一个丝滑的全屏滑动返回手势

    全屏返回手势 自 iOS7 之后,Apple 增加了屏幕边缘右划返回交互的支持,再配合上 UINavigationController 的交互式动画,pop 到上一级页面的操作变的非常顺畅和丝滑,从此 ...

  4. iOS 一个丝滑的全屏滑动返回手势

    原文链接:http://blog.sunnyxx.com/2015/06/07/fullscreen-pop-gesture/ 全屏返回手势 自 iOS7 之后,Apple 增加了屏幕边缘右划返回交互 ...

  5. unity在运行时导入maya场景角色和动画的方法研究

    在找unity 运行时加载maya导出的角色和动画文件的方法 先看下fbx格式有没可能 找了一些参考  基本上用的是烘焙骨骼关键帧的方法 但是依然无法解决像用脚本写的关节修正,变形器之类的 I jus ...

  6. Unity简单几行代码让玩家水平移动更丝滑真实

    可以先来看看基础的移动代码,接收玩家的输入,然后赋予刚体速度. 但是这种写法存在几个问题,下面一一纠正. 首先,如果直接改变刚体的速度,那么可能会出现穿墙的问题. 而且没有一种从速度0到缓慢加速的过程 ...

  7. 高通CVPR神研究:视频处理计算量降低78%,教卷积层自己“挑像素”,卡成PPT的视频纵享丝滑...

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 图像领域,已经限制不住AI算法大牛们的身手了. 现在,随着视频产业火热发展,相关算法也正成为计算机视觉研究的新潮流. 毕竟日常生活中,无论是 ...

  8. activexobject对象不能创建_【设计模式】建造者模式:你创建对象的方式有它丝滑吗?...

    目录 什么是建造者模式 为什么要使用建造者模式 构造函数创建对象 set方式构建对象 java实现建造者模式 第一种实现方式 第二种方式 建造者模式与构造函数的对比 建造者模式与工厂模式的对比 总结 ...

  9. ps清理缓存脚本_清理垃圾脚本,让你的电脑丝滑如新!

    APP菜园 打造属于我们自己的APP帝国 1.打开支付宝app,首页搜索 "8221050"  然后点击快捷功能,天天领红包. 2.软件领取流程:1.认真阅读下软件介绍:2.找到图 ...

最新文章

  1. 2022-2028年中国盲盒产业研究及前瞻分析报告
  2. python如何创建不同元素的矩阵_python – 如何在数据帧中创建矩阵元素的数...
  3. 【js细节剖析】通过=操作符为对象添加新属性时,结果会受到原型链上的同名属性影响...
  4. Hyper-V 3.0部署PART 14:准备仲裁磁盘
  5. OpenStack、Docker、KVM被评为最火的云开源项目
  6. [转] 常见WinCE启动失败原因分析
  7. [CQOI]九连环(FFT优化+高精)
  8. word2003如何设置护眼模式_手机屏幕的护眼模式是如何保护你的眼睛?
  9. Hongjin2 软件研发作为一项工程而言
  10. php 变量 类名,关于php:使用变量类名和静态方法时出错
  11. 3563: DZY Loves Chinese - BZOJ
  12. PAT:1031. 查验身份证(15) AC
  13. HANA学习笔记1-搭建HANA学习环境
  14. JAVA和JVM运行原理揭秘
  15. 计算机中丢失XINPUT无法修复,xinput1_3.dll丢失怎么修复
  16. 《大道至简-软件工程实践者的思想》读书笔记
  17. 测试删除hive表时出错
  18. Leetcode1859:将句子排序
  19. 基于百度AI做内容审核
  20. Keil编译警告汇总(持续更新。。。)

热门文章

  1. hadoop详细安装及配置
  2. 如何在ppt中生成柱状图_PPT中怎么制作动态柱状图表?绘制方法全在这里!
  3. Flutter 多版本管理FVM安装与使用
  4. 关于ret指令的理解
  5. 中国计算机函授学院历任校长是谁,中国计算机函授学院  全国十佳教学站校长会议在学院总部召开...
  6. win10 夜间模式设置无效(夜灯模式、bluelight)
  7. 西门子SMART LINE触摸屏连接1200PLC
  8. MATLAB imshow()函数
  9. [Docker] Dockerfile 记录
  10. 记录typescript常见的类型