07 2023 档案

摘要:打开BattleManager脚本把底下的DoDamage改成TryDoDamage ActorManager里的DoDamage函数自然也要改成TryDoDamage。 写成: public void TryDoDamage() { sm.HP -= 5; ac.IssueTrigger("hit 阅读全文
posted @ 2023-07-28 22:28 dontpanic1703 阅读(29) 评论(0) 推荐(0)
摘要:新建一个脚本代码StateManager。 在Class下面创建ActorManager变量 am。 在ActorManager脚本里写入StateManager 变量sm。并在Awake下面写入: sm = gameObject.GetComponent<StateManager>(); if ( 阅读全文
posted @ 2023-07-28 21:24 dontpanic1703 阅读(19) 评论(0) 推荐(0)
摘要:在资源里加入death动画。 从Any State拉箭头指向die。 然后在ActorManager脚本里。 把DoDamage函数里IssueTrigger的hit,改成die测试死亡动画。 阅读全文
posted @ 2023-07-22 21:00 dontpanic1703 阅读(32) 评论(0) 推荐(0)
摘要:将WeaponManager脚本的参数都修改成左右手形式。 BattleManager脚本里把参数修改一下:改成0.5。 ActorController脚本的代码修改: 状态机的左右手三个攻击动画标签,要把attack改成attackR和attackL。 在状态机找到attack,添加FSM On 阅读全文
posted @ 2023-07-22 19:44 dontpanic1703 阅读(35) 评论(0) 推荐(0)
摘要:创建一个新脚本TransformHelpers放进Scripts文件夹的Helper文件夹里 接下来要实现往Unity放进新的定义方法。 把TransformHelpers修改成: 把这个hihi方法放进WeaponManager的start函数里: 测试这个方法在运行的时候调用的过程。 接下来我们 阅读全文
posted @ 2023-07-22 17:54 dontpanic1703 阅读(36) 评论(0) 推荐(0)
摘要:在ActorManager脚本里,新建一个GameObject变量叫model,对应值是ac.model 新建一个WeaponManager 变量叫wm,去获取model里的WeaponManager。 在Awake的wm下面加上条件: if (wm == null) { wm = model.Ad 阅读全文
posted @ 2023-07-22 16:41 dontpanic1703 阅读(26) 评论(0) 推荐(0)
摘要:把状态机的hit 修改,选中hit到ground的箭头点开settings,将interruption Source 改成 Current State。 点击状态机attack1ha,把里面的动画改成同名,点击edit改名,点开event,把攻击动画帧和收刀动画帧设置两个点(WeaponEnable 阅读全文
posted @ 2023-07-22 15:50 dontpanic1703 阅读(31) 评论(0) 推荐(0)
摘要:把敌人的自己的武器tag改成Weapon,玩家的武器范围(Radius)改成3.5。 在BattleManager的OnTriggerEnter里写上判断武器的代码: if (col.tag == "Weapon") { am.DoDamage(); 对应下面的DoDamage被武器接触后执行的Do 阅读全文
posted @ 2023-07-20 19:30 dontpanic1703 阅读(40) 评论(0) 推荐(0)
摘要:新建一个ActorManager脚本代码。 在class下面写: public BattleManager bm; 定义一个新的战斗管理 start改成: void Awake() { GameObject sensor = transform.Find("sensor").gameObject; 阅读全文
posted @ 2023-07-20 18:49 dontpanic1703 阅读(22) 评论(0) 推荐(0)
摘要:在PlayerHandle里找到sensor,新建一个脚本BattleManager。 在class上面加入: [RequireComponent(typeof(CapsuleCollider))]。 保存之后,在sensor重新引入这个脚本就会自动创建一个胶囊体 新建一个Layer叫Sensor, 阅读全文
posted @ 2023-07-20 12:27 dontpanic1703 阅读(40) 评论(0) 推荐(0)
摘要:在sword and shield 动画包里找到impact2,先选中PlayerHandle的ybot,然后点开Animator的Base Layer。 把impact2的动画拖进去,在Any State 拖出箭头指向impact动画,动画改名为hit ,然后在Parameters里添加一个hit 阅读全文
posted @ 2023-07-20 10:04 dontpanic1703 阅读(28) 评论(0) 推荐(0)
摘要:首先把玩家模型复制一份出来,修改好复制的模型颜色 把玩家模型标签改成Player,复制的为Enemy ,注意不要给模型上其他的物件写上标签。只单独给Handle模型。 然后新建一个脚本代码DummyIUserInput 在IUserInput脚本里下面新建UpdateDmagDvec函数: prot 阅读全文
posted @ 2023-07-19 18:59 dontpanic1703 阅读(23) 评论(0) 推荐(0)
摘要:打开CameraController在13行下面新建 public bool isAI = false; 在Awake函数里,增加判断条件,并把下列原先的代码放假判断式: if(!isAI) { piCamera = Camera.main.gameObject; lockDot.enabled = 阅读全文
posted @ 2023-07-18 21:19 dontpanic1703 阅读(23) 评论(0) 推荐(0)
摘要:利用状态机里的 布尔值R0L1,判断 左手攻击信号为True,右手攻击信号为False 。 下面的三个动作只需要消勾即可,保留镜像动作,然后把下方三个动作拉箭头到Exit 接下来要将左手持盾的动作修改,原来防御状态机无论左手拿什么一直是持盾状态,要修改变成拿武器时候不会做持盾状态 在 ActorCo 阅读全文
posted @ 2023-07-18 20:50 dontpanic1703 阅读(38) 评论(0) 推荐(0)
摘要:在Animator基础动态层鼠标右键新建 State Machine ,将这个子状态层更名为attack,把原来attack状态层的动画复制进去,删除原来的attack层 把三个攻击动画连到Exit上。idle动画删除 然后将这三个攻击动画选中修改 Animator State ,将Tag统一修改为 阅读全文
posted @ 2023-07-17 17:19 dontpanic1703 阅读(45) 评论(0) 推荐(0)