LyraLog25 机器人3 归纳总结
机器人的生成 通过体验的 GameFeatureAction 往 GameState 加了一个 UGameStateComponent 他在体验加载完成后会加载固定数量的机器人 void UEqZeroBotCreationComponent::SpawnOneBot() { FActorSpawnParameters SpawnInfo; SpawnInfo.SpawnCollisionHand…
LyraLog24 机器人(乱)2
允许开火的装饰器 BTDecorator_AllowedToFire 这个就是编辑器设置里面那个,机器人是否能开火的开关 开火的 Service TODO 本来这里还要拿到枪和子弹,但是为了快速跑通,先跳过一下。初始换了把子弹多的步枪 SetFocus SetFocus 是外部传入的,Target Ennemy 也是行为树那里关联引用 攻击跑通 比较神奇,AI直接把我打死了,按event触发开火,…
LyraLog23 机器人 1
初步整理 有哪些类? /ShooterCore/Bot/B_AI_Controller_LyraShooter_Passive /ShooterCore/Bot/B_ShooterBotSpawner.B_ShooterBotSpawner 继承关系 B_AI_Controller_LyraShooter_Passive=>B_ShooterBotSpawner=>ULyraBotCr…
LyraLog22 开火问题测试修正1
子弹扩散好像有问题 EqZero.Weapon.DrawBulletTraceDuration 5.0 — 画出子弹飞行轨迹(红线),持续 5 秒 EqZero.Weapon.DrawBulletHitDuration 5.0 — 画出命中点(红点),持续 5 秒 EqZero.Weapon.DrawBulletHitRadius 10.0 — 调整命中点的显示半径(默认 3.0 uu,可以调大方…
LyraLog21 LryaGAS总结1
Who: 谁能放技能?AbilitySystemComponent How: 技能的逻辑?GameplayAbility Change: 技能的效果?GameplayEffect What: 技能改变的属性?GamePlayAttribute If: 技能涉及的条件?GameplayTag Visual: 技能的视效?GameplayCue Async: 技能的长时行动?GameplayTask …
LyraLog20 GA_Fire的预测
本质上是一个远程技能。在 C++里面维护了相关的代理 void UEqZeroGameplayAbility_RangedWeapon::ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivati…
LyraLog 19 换弹开镜完善
换弹技能 /EqZeroCore/Weapons/Pistol/AbilitySet_ShooterPistol.AbilitySet_ShooterPistol 这个技能集里面配置 换弹技能 /Game/Weapons/Pistol/GA_Weapon_Reload_Pistol.GA_Weapon_Reload_Pistol 这个主要配置一下换弹蒙太奇,基于武器有所不同 /Game/Weapo…
LyraLog18 开火准星血条装备栏
上一回我们讲到我们基础的都已经搭好了,现在继续完成我们的开火蓝图 /Game/Weapons/GA_Weapon_Fire.GA_Weapon_Fire 就是这个蓝图 手枪轻微抖动,调试技能确实被触发了,射线能够发射 这个蓝图可真抽象呢??? 射击失败的事件监听的蓝图逻辑 GA_Weapon_Fire 然后就是Cue好多。。。 经过测试,大概是这样 GameplayCue.Weapon.Pisto…
LyraLog17 装备系统 1
规划一下。 /ShooterCore/Game/B_Hero_ShooterMannequin.B_Hero_ShooterMannequin Event Possessed => 权威 => 等待体验加载完成 => 等库存组件和 QuickBar 组件都加载好。 QuickBar 就是右下角武器栏 他会加一个物品上去,默认是一把枪 /ShooterCore/Weapons/Pi…
LyraLog16 交互技能的落地
完成场景中有一个东西,点击后交互,然后加到背包中,就算OK 另外,地上的枪的获得不是这一套东西 交互物的创建 /Game/Items/B_InteractableRock.B_InteractableRock 创建这个物品,添加StaticMesh 随便加一个mesh。设置碰撞预设自定义,注意 Lyra_TraceChannel_Interaction改成Overlap,这样可以被相关的检测检测到…