原始武器(Weapon) {{ currentPage ? currentPage.title : "" }}

原始武器(PrimalWeapon)

用途:用于玩家手持武器与快捷栏物品生成的武器

变量

描述

OwnerCharacter

父角色,拥有者

AbilitySpecHandles

添加能力句柄

AttachType

武器附加类型

Behind 背后

Hand 手中

Physic 物理掉落

bTempWeapon

是否为临时武器,例如快捷栏生成的武器,无法背在身后

ActiveGameplayEffectHandle

激活的GE修改器句柄

GameEffectClass

GE类型,武器拥有的能力需要添加到GE中玩家手持时将会激活GE,背在身后时将会取消GE

DrawWeaponAbilityClasss

DisarmWeaponAbilityClasss

拿起武器能力类型/解除武器能力类型

该能力将会生成实体时给予拥有者,用于从身后拿取武器,如未设置,则会跳过动画直接附加到手中

InputAbilityMap

输入能力地图,例如左键->能力A,仅需添加初始能力

WeaponType

武器类型

Uarmed 空手

Melee 近战

Range 远程

Wizar 法杖

WeaponCategory

武器分组

None 无

Sword 剑

GreatSword 大剑

DualWield 双刀

Katana 武士刀

Spear 长矛

Staff 法杖

Bow 弓

Axe 斧头

PickAxe 镐

Amount

弹药数量

AmmoItemBasic

弹药类型

Buffs

武器BUFF

DamageType

伤害类型

bApplyHitSoundIfValid

HitEffectSound

是否开启命中音效

命中音效

bApplyHitEffectIfValid

HitEffectSystemType

HitEffectPS/HitEffectNS/HitGameplayCueTags

是否开启命中特效,例如雷电剑命中后的雷电特效

SurfaceHitEffects

物理材质命中特效,用于武器单独设置命中特效

优先该变量

SlashEffectSystemType

SlashEffectPS/SlashEffectNS/SlashGameplayCueTags

刀光特效,仅命中Character时生成

函数

描述

AddBuff(TSubclassOf<AWeaponBuff> BuffClass,float Duration)

添加武器BUFF

RemoveBuff(AWeaponBuff* Buff)

移除武器BUFF

DestroyAllBuff

销毁所有武器BUFF

SetAttach(EWeaponAttachType NewAttachType)

设置附加状态

GetAbilityByInput(FGameplayTag InputTag)

使用输入标签获取能力

ApplyGameEffect(bool bEnable)

应用GE修改器

CanEquipToHand(重载)

可否手持,例如游泳状态无法手持武器

OnAttach(EWeaponAttachType NewAttachType)(重载)

附加状态改变

OnCreate(UPrimalItemBasic* NewItemClass)

创建时

MulticastSetAmmoClass(UPrimalItemBasic* NewAmmoItemBasic)

组播,设置武器弹药类型

GetMeshsInternal(重载)

获取所有武器网格体组件

SetWeaponVisible(bool bVisible)

设置武器是否可见

OpenTrail(重载)

开启武器拖尾特效,

使用网格体插槽TrailStart 到 TrailEnd

CloseTrail(重载)

关闭武器拖尾特效

ApplyTrailParticle(UPrimitiveComponent* MeshComponent, UParticleSystem* TrailParticle)

应用拖尾粒子特效,该特效为快速销毁的特效,例如闪光

需要网格体添加插槽

Trail_Part_1

Trail_Part_2

Trail_Part_3

ApplyCollostion(UUltimateCollisionComponent* CollisionComponent,ECollistionType CollistionType)

应用武器碰撞

GetWeaponStats(重载)

获取武器的属性列表

ApplySurfaceHitEffect(FHitResult HitResult)

应用命中特效

生成例如闪电效果和声音,返回音效是否已生成

如果EffectSystemType 为Cue 则需要自行创建GC处理特效

特效优先级:HitGameplayCue->SurfaceHitEffects->HitEffectPS/NS

音效优先级:SurfaceHitEffects -> HitEffectSound

如果返回false,则需要使用WorldSettings->ApplySurfaceHitEffect(HitResult,true,true);生成默认特效和声音

如果返回true,则只需使用WorldSettings->ApplySurfaceHitEffect(HitResult,false,true);生成特效

  • 通知与通知状态:

  • UANS_WeaponTrail:武器拖尾通知状态,用于开启武器拖尾

  • UAN_ToggleWeapon:武器切换状态,用于武器切换附加状态bDisarmWeapon是否收回武器

  • UAN_WeaponBuff:给予武器BUFF,例如火焰剑能力蒙太奇中为武器添加火焰BUFF

{{{ content }}}