首页 > 其他分享 >黑魂 左右手攻击动作分离

黑魂 左右手攻击动作分离

时间:2023-07-18 21:02:28浏览次数:35  
标签:anim defense 分离 左右手 黑魂 bool SetBool pi public

 利用状态机里的 布尔值R0L1,判断 左手攻击信号为True,右手攻击信号为False 。

 

 

 

 下面的三个动作只需要消勾即可,保留镜像动作,然后把下方三个动作拉箭头到Exit

接下来要将左手持盾的动作修改,原来防御状态机无论左手拿什么一直是持盾状态,要修改变成拿武器时候不会做持盾状态

在 ActorController 34行处新建 private bool leftIsShield = true;作为测试左手防御和攻击的值。

在KeyboardInput里,新建KeyF和G作为测试防御和攻击的按键。配置好相关代码:

public string keyF;
public string keyG;

public MyButton KeyF = new MyButton();
public MyButton KeyG = new MyButton();

KeyF.Tick(Input.GetKey(keyF));
KeyG.Tick(Input.GetKey(keyG));

在IUserInput里 新建四个攻击防御的布尔值:

public bool la;  左手攻击
public bool ld; 左手防御
public bool ra;  右手攻击
public bool rd;  有手防御

注释掉attack布尔值。

 

在ActorController 里, 把31行private float lerpTarget;注销

在下方新建  public bool leftIsShield = true; 左手防御判断

把76行的anim.SetBool("defense", pi.defense);注销

把89行的pi.attack,改成pi.la || pi.ra,下面判断条件修改成:

if (pi.ra)
{
  anim.SetBool("R0L1", false);
  anim.SetTrigger("attack");
}
else if (pi.la&&!leftIsShield)
{
  anim.SetBool("R0L1", true);
  anim.SetTrigger("attack");
}

在下方新建一个持盾判断条件: 104行


if (leftIsShield)
{
  if (CheckState("ground"))
  {
    anim.SetBool("defense", pi.defense);
    anim.SetLayerWeight(anim.GetLayerIndex("defense"), 1);
  }
  else
  {
    anim.SetBool("defense", false);
  }

}
else
{
anim.SetLayerWeight(anim.GetLayerIndex("defense"), 0);
}

 打开LeftArmAnimFix增加 

private ActorController ac;

在Awake增加

ac = GetComponentInParent<ActorController>();

标签:anim,defense,分离,左右手,黑魂,bool,SetBool,pi,public
From: https://www.cnblogs.com/dontpanic1703/p/17560718.html

相关文章

  • 前后端分离
    json相关JavaScriptObjectNotation,即js的对象简谱,一种数据交换格式,采用独立于编程语言的文本格式存储和表示数据,因为目前前后端分离的存在,故json在数据传递上十分重要在js中一切都是对象,任何js支持的类型都可以用json表示,json语法是js语法的子集json的结构和形式,从简单到嵌......
  • 什么是前后端分离
    什么是前后端分离前后端分离是一种架构模式,或者说是最佳实践,它主张将前端开发人员和后端开发人员的工作进行解耦,尽量减少他她们之间的交流成本,帮助他她们更能专注于自己擅长的工作。我们先看看一个Web系统,在前后端不分离时架构设计是什么样的。用户在浏览器上发送请求,服务......
  • 黑魂复刻 attack子状态
     在Animator基础动态层鼠标右键新建StateMachine ,将这个子状态层更名为attack,把原来attack状态层的动画复制进去,删除原来的attack层把三个攻击动画连到Exit上。idle动画删除然后将这三个攻击动画选中修改AnimatorState,将Tag统一修改为attack 在脚本代码ActorControl......
  • python操作mongodb实现读写分离
    读写分离默认情况下,MongoClient实例将查询发送到副本集的主要成员。要使用副节点作为查询,以实现读写分离,我们必须更改读取首选项:读取首选项在模块pymongo.ReadPreference下:PRIMARY:从主节点中读取(默认)PRIMARY_PREFERRED:优先从主节点读取,如果不可用则从副节点读取、SECOND......
  • 万字长文 | Hadoop 上云: 存算分离架构设计与迁移实践
    一面数据原有的技术架构是在线下机房中使用CDH构建的大数据集群。自公司成立以来,每年都保持着高速增长,业务的增长带来了数据量的剧增。在过去几年中,我们按照每1到2年的规划扩容硬件,但往往在半年之后就不得不再次扩容。而每次扩容都需要花费大量精力。为了解决包括扩容周期......
  • vue和servlet 前后端分离 (复习)
    一、vue复习1.vue的使用步骤:(1)导入vue.js(2)创建除body以外最大的div标签,给定id值(3)创建vue对象newVue({el:"#app",data:{}//定义变量methods:{}//定义方法2.vue语法:v-bind:value(:value),v-model:value="",v-if,v-show,v-for的使用......
  • springboot+vue前后端分离项目发布上线
    首先呢不用多说就是买阿里云服务器,但是呢,学生免费一个月。前端呢就是配置与后端端口 然后呢就是要打包:npmrunbuild把你的dist文件东西进行上传到服务器。后端springboot呢就是要打jar包上传。然后服务器是先去下载配置jdk,然后就是点击网站选择springboot项目最后一步呢......
  • 10 前后端分离
    前后端结合的话有以下问题:前后端分离开发介绍开发流程mock数据是模拟数据。技术栈yapi介绍使用导出接口:swagger介绍使用方式<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-sta......
  • 三电平整流器输入不平衡控制MATLAB仿真模型 该仿真系统基 于模型预测算法,利用正负序分
    三电平整流器输入不平衡控制MATLAB仿真模型该仿真系统基于模型预测算法,利用正负序分离技术实现网侧参考电流的计算,能适应网侧电压不平衡情况。。。ID:3140626237903734......
  • 解决高可用集群篇(三)-- MySQL主从复制&ShardingSphere读写分离分库分表的具体操作步
    高可用集群篇(三)--MySQL主从复制&ShardingSphere读写分离分库分表1.什么是MySQL主从复制?MySQL主从复制是指将一个MySQL数据库服务器作为主服务器,其他MySQL服务器作为从服务器,通过将主服务器上的数据变更同步到从服务器上,实现数据的复制和同步的过程。主从复制的实现方式主......