新增攻击动画层

1.在原来的BaseLayer基础上,新增加LayerMaskWeight表示新增层的权重,Blending我们设置成override。
2.创建avatar mask,先创建一个全身的avatar mask
3.将attack层中的avatarmask设置为我们创建的
4.在parameter中添加attack的Trigger,在玩家按下keyC的时候用triggerOnceSignal将attack设置为true,在ActorController中当attack为true时,将anim的attack的Trigger设置为true。
5.我们给状态的转换添加FSMOnEnter,在attack1hAEnter的时候我们将通过anim.SetLayerWeight设置我们layerMask的weight权重

    public void OnAttack1hAEnter(){anim.SetLayerWeight(anim.GetLayerIndex("attack"),1.0f);}public void OnAttackIdle(){anim.SetLayerWeight(anim.GetLayerIndex("attack"),0);}

6.在角色jump的时候不能攻击,在角色攻击的时候不能wasd输入,给角色攻击加上这些限制。

连击

1.添加新的动画通过trigger触发新的状态
2.调整state转换的判断顺序,先判断是否连击,再判断是否回到idle
3.在攻击动画进行到中间的时候再可以接受下一段攻击判断,通过添加动画Event来解决。在动画播放到Event的时候ResetTrigger,这样玩家想要连击必须在Event后再此按键。

第三段动画向前移动

1.因为我们的Collider与Animator不在一个物体上,我们不能简单地用Animator中的RootMotion。
2.我们要在Animator的物体上加一个脚本,获取到RootMotion,将pos的移动获取然后赋值给Collider物体。
在OnAnimatorMove中控制RootMotion

    private Animator anim;private void Awake(){anim = GetComponent<Animator>();}public void OnAnimatorMove(){SendMessageUpwards("OnUpdateRM",anim.deltaPosition);}

3.在ActorController中将RigidBody的Position直接累加一个deltaPosition

动画水平映射

通过勾选Animator中state的Mirror选项,动画将以镜面反射的效果在人物另一边进行播放。
通过代码控制:将Mirror后面的parameter进行勾选,我们就可以通过parameter中的一个bool对此选项进行控制了。

Unity-黑暗之魂复刻-角色攻击相关推荐

  1. unity简单复刻无敌破坏王

    使用unity简单复刻无敌破坏王总结 国庆突发奇想想简单复刻一下无敌破坏王,这里写一些总结,希望也能对大家有帮助 游戏截图: 基本思路: 时间有限,也只是简单复刻,所以只实现破坏方块的功能,画面算是广 ...

  2. 傅老师黑暗之魂复刻笔记(第一季第一部分)

    1. 在Unity中通过一维混合树实现人物静止与跑动之间的动态切换,可以通过一维的参数混合两个动画,forward值为0时静止,1时完全走动: 2. GetComponent函数全部在Awake和St ...

  3. Unity-黑暗之魂复刻-角色摄相机

    1.使用两个Handle控制MainCamera的水平和垂直的旋转,PlayerHandle控制水平旋转,cameraHandle控制垂直旋转,这样我们可以很方便的控制相机. MainCamera.P ...

  4. [技美CG]Unity3D复刻UnityShader 之 ShaderToy - Bubbles

    Unity3D复刻UnityShader 之 ShaderToy - Bubbles 背景: 官方地址/参考资料: ShaderToy-Bubbles原始代码: Unity复刻开始 核心显示类: 核心 ...

  5. 【Mib自看】黑魂复刻Unity脚本

    [课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...

  6. Unity复刻骑砍中的帝国象棋(一)

    Unity复刻骑砍中的帝国象棋(一) 起因和简介 这两天从一款游戏中发现了这么个棋类小游戏,觉得挺有意思,没错,就是下面这个: 作为程序员的我,一下就想到复刻它一下.这个棋类小游戏,我并不知道它确切的 ...

  7. Unity黑魂复刻经典教程心得(三)-CameraController

    CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...

  8. 复刻 Unity编辑器 移动的方式

    复刻 Unity编辑器 移动的方式 第一人称移动 自定义键值补充 代码搭载 老规矩,直接上代码: 第一人称移动 using System.Collections; using System.Colle ...

  9. Ruby‘s Adventrue游戏制作笔记(十一)Unity角色攻击——发射子弹

    Ruby's Adventrue游戏制作笔记(十一)Unity角色攻击--发射子弹 前言 一.编辑子弹 二.创建脚本 三.修改玩家攻击脚本 四.将子弹拖入玩家脚本 五.让子弹碰撞到该碰撞的东西 六.编 ...

最新文章

  1. 你应该了解的 5 个 JavaScript 调试技巧
  2. 学习C语言的理由-别问我为什么,会用C语言,就是NB
  3. Python configparser模块
  4. Oracle用户管理(User|Privileges|Role)
  5. android的keyevent方法,Android keyevent按键和值的对应
  6. ITIL 4 讲解:服务目录
  7. 计算机ip地址和用户名和密码忘记了怎么办,192.168.1.112这是IP地址 我把密码忘了 怎么处理啊 电脑室现在还...
  8. 2021-2027全球与中国编码器附件市场现状及未来发展趋势
  9. SpringBoot项目 四种读取properties文件的方式
  10. MacBook突然没了声音
  11. SWIFT国际清算体系的科普贴
  12. Java使用Spire.Doc实现Word转换Pdf
  13. DTAS尺寸公差分析软件-三维尺寸公差分析软件尺寸链计算软件
  14. 非全日制计算机专业值得读吗,全日制、非全日制哪个更好?19计算机考研扫盲贴!...
  15. 串行、并行、并发,别再傻傻分不清了!
  16. IPhoneApp发布:手机号速查
  17. 【基于Web的网上书城——开题报告 分享(仅供参考呀)】
  18. matlab无刷双馈电机模型搭建,无刷双馈电机建模及智能控制策略研究
  19. 【20G】Kaggle数据集强势分析“绝地求生”,攻略吃鸡!
  20. 从FM推演各深度CTR预估模型(附代码)

热门文章

  1. 光猫+路由器如何映射端口
  2. 带刺玫瑰特别美?OLED屏幕画面美但眼睛会累
  3. 十二星座匹配对象_水瓶座最佳配对对象是谁
  4. 基于翻译模型(Trans系列)的知识表示学习
  5. Kubernetes 调度 - 污点和容忍度详解
  6. dubbo 中文官网
  7. hash函数原理实现
  8. 学习笔记21.07.09:绘制色块图
  9. 腾讯2019秋招--小q爬塔(dp)
  10. 代码审计--12--源代码审计思路(上)