当前位置: 首页 > wzjs >正文

微信授权登录网站退出怎么做网站备案查询工信部官网

微信授权登录网站退出怎么做,网站备案查询工信部官网,做网站哪些网络公司好,网站流量100gUE RPG游戏开发练手 第二十二课 卸下手上武器 1.为武器类添加输入映射和新的技能集,当武器装备到手上就需要使用这个新的输入映射以及让角色学习武器的技能集 2.新建GA_UnEquip卸载武器技能 3.新建装备好武器后的按键映射 4.配置技能的GameplayTag和InputAction的映射关系 配置…

UE RPG游戏开发练手 第二十二课 卸下手上武器

1.为武器类添加输入映射和新的技能集,当武器装备到手上就需要使用这个新的输入映射以及让角色学习武器的技能集

image-20250512165910162

image-20250512165956801

2.新建GA_UnEquip卸载武器技能

image-20250509152202724

image-20250509152427104

image-20250509152351925

3.新建装备好武器后的按键映射

image-20250509152722581

image-20250509152750831

image-20250509152928363

image-20250509153132220

image-20250509153237257

image-20250509153508787

image-20250509153632521

4.配置技能的GameplayTag和InputAction的映射关系

image-20250509161416928

image-20250509161427290

配置技能输入映射,当IA_UnEquip的输入被触发就会通过InputTag.UnEquipAxe这个GameplayTag去查找当前可激活的技能来激活使用

image-20250509161600317

5.为武器配置好输入映射以及GA_UnEquip技能

image-20250512171125746

6.技能系统组件增加学习技能接口和移除技能接口

image-20250512172705331

MyAbilitySystemComponent.h完整代码

// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"
#include "AbilitySystemComponent.h"
#include "Structs/HeroWeaponData.h"
#include "MyAbilitySystemComponent.generated.h"
/*** */
UCLASS()
class RPGGAMETEST_API UMyAbilitySystemComponent : public UAbilitySystemComponent
{GENERATED_BODY()
public:void OnAbilityInputPressed(const FGameplayTag& InInputTag);void OnAbilityInputReleased(const FGameplayTag& InInputTag);// 传入技能数组,调用学习技能,输出技能的句柄列表void GrantHeroWeaponAbilities(const TArray<FHeroAbilitySet>& InDefaultWeaponAbilities,int32 ApplyLevel, TArray<FGameplayAbilitySpecHandle>& OutGrantedAbilitySpecHandles);// 传入技能句柄列表将技能移除void RemovedGrantedHeroWeaponAbilities(UPARAM(ref) TArray<FGameplayAbilitySpecHandle>& InSpecHandlesToRemove);
};

MyAbilitySystemComponent.cpp完整代码

// Fill out your copyright notice in the Description page of Project Settings.#include "MyAbilitySystemComponent.h"
#include "MyGameplayAbility.h"
void UMyAbilitySystemComponent::OnAbilityInputPressed(const FGameplayTag& InInputTag)
{if (!InInputTag.IsValid()){return;}// 查找激活的能力for (const FGameplayAbilitySpec& AbilitySpec : GetActivatableAbilities()){if (!AbilitySpec.DynamicAbilityTags.HasTagExact(InInputTag)) continue;TryActivateAbility(AbilitySpec.Handle);}
}void UMyAbilitySystemComponent::OnAbilityInputReleased(const FGameplayTag& InInputTag)
{}void UMyAbilitySystemComponent::GrantHeroWeaponAbilities(const TArray<FHeroAbilitySet>& InDefaultWeaponAbilities, int32 ApplyLevel, TArray<FGameplayAbilitySpecHandle>& OutGrantedAbilitySpecHandles)
{if (InDefaultWeaponAbilities.IsEmpty()){return;}for (const FHeroAbilitySet& AbilitySet : InDefaultWeaponAbilities){if (!AbilitySet.IsValid()) continue;FGameplayAbilitySpec AbilitySpec(AbilitySet.AbilityToGrant);AbilitySpec.SourceObject = GetAvatarActor();AbilitySpec.Level = ApplyLevel;AbilitySpec.DynamicAbilityTags.AddTag(AbilitySet.InputTag);OutGrantedAbilitySpecHandles.AddUnique(GiveAbility(AbilitySpec));}
}void UMyAbilitySystemComponent::RemovedGrantedHeroWeaponAbilities(UPARAM(ref)TArray<FGameplayAbilitySpecHandle>& InSpecHandlesToRemove)
{if (InSpecHandlesToRemove.IsEmpty()){return;}for (const FGameplayAbilitySpecHandle& SpecHandle : InSpecHandlesToRemove){if (SpecHandle.IsValid()){ClearAbility(SpecHandle);}}InSpecHandlesToRemove.Empty();
}

7.武器挂载到手上添加新的映射以及学习新的技能

image-20250512173357963

image-20250512173521117

8.创建卸载武器的蒙太奇动画

image-20250512174017927

image-20250512174119380

image-20250512174230892

image-20250512174248451

image-20250512174332736

9.编辑蒙太奇动画

image-20250512174502494

image-20250512174643997

image-20250512174814669

10.编辑GA_UnEquip技能,播放蒙太奇动画,并等待GameplayEvent事件

image-20250512175136020

11.编写UnAttachWeaponOnHand的C++方法,将武器从手上切换到背部,并且移除装备上武器时添加的输入映射,以及移除装备上武器时添加的技能

image-20250512175325255

image-20250512175417646

代码片段

void AMyCharacter::UnAttachWeaponOnHand()
{if (!CurrentWeapon) return;USkeletalMeshComponent* CurMesh = GetMesh();if (!CurMesh) return;// 将武器挂载到手上CurrentWeapon->AttachToComponent(CurMesh,FAttachmentTransformRules::SnapToTargetNotIncludingScale,"AxeBackSocket");ULocalPlayer* localPlayer = GetController<APlayerController>()->GetLocalPlayer();UEnhancedInputLocalPlayerSubsystem* localPlayerSystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(localPlayer);// 卸载映射FHeroWeaponData& HeroWeaponData = CurrentWeapon->GetHeroWeaponData();localPlayerSystem->RemoveMappingContext(HeroWeaponData.WeaponInputMappingContext);// 移除技能MyAbilitySystemComponent->RemovedGrantedHeroWeaponAbilities(GrantedAbilitySpecHandles);
}

12.运行关卡最终效果

https://htmlresources.oss-cn-shanghai.aliyuncs.com/uestudyvideos/20250512_193350.mp4

http://www.dtcms.com/wzjs/147419.html

相关文章:

  • 外包做网站公司有哪些近期国家新闻
  • 怎么做自己的发卡网站6综合权重查询
  • 网站建设计划方案模板下载谷歌广告上海有限公司官网
  • 建设项目社会招标上那个网站裂变营销五种模式十六种方法
  • 流行的网站开发语言百度广告优化
  • 东城做企业网站多少钱怎样制作属于自己的网站
  • 成都专业做网站公司有哪些腾讯广告推广平台
  • 做网盘搜索网站合法吗上海营销seo
  • 嘉兴做网站seo某产品网络营销推广方案
  • 流程网站展示型网页设计公司
  • 提供做网站公司有哪些重庆可靠的关键词优化研发
  • 网页css样式代码株洲企业seo优化
  • 做网站要怎样加盟欧普google入口
  • 响应式网站应该怎么做seo技术培训东莞
  • 不通过网站可以做360全景吗什么是百度竞价推广
  • 为什么有网网站打不开怎么回事啊如何找外链资源
  • 襄城县做网站的seo公司重庆
  • 行业论坛网站昆明百度推广开户费用
  • 做网站的多少钱外链吧官网
  • 做网站要源代码app推广80元一单
  • 网站语言切换功能如何做重庆seo霸屏
  • 建设工程质量监督竣工备案网站长沙市seo百度关键词
  • 莲湖微网站建设郑州seo竞价
  • 做网站卖设备找哪家好站内搜索工具
  • 做t恤网站 一件也可以做搜索引擎下载入口
  • 华为官方网站专卖店上海最新疫情
  • win2008网站404seo推广代理
  • 做品牌网站的链接优化方法
  • 安徽全过程网站搭建案例代写新闻稿
  • 石家庄市栾城区建设局网站360推广和百度推广哪个好