5,动画蓝图类接口转c++

蓝图中有个动画接口类传递连击index和角色是否在攻击,确定播放哪个攻击动画,

这里也改成C++

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"

#include "UObject/Interface.h"

#include "BPI_Anims.generated.h"

// This class does not need to be modified.

UINTERFACE(MinimalAPI)

class UBPI_Anims : public UInterface

{

GENERATED_BODY()

};

/**

*

*/

class ROUGHLIKE1_API IBPI_Anims

{

GENERATED_BODY()

复制代码
// Add interface functions to this class. This is the class that will be inherited to implement this interface.

public:

UFUNCTION(BlueprintNativeEvent, BlueprintCallable,Category = "Anim Interface")

void INT_SetAttacks(int32 comboIndex, bool IsAttacking);

};

在角色类添加

public:

//调用攻击动画接口类

UFUNCTION(BlueprintCallable, Category = "Animation")

void SetAnimAttack(int32 comboIndex, bool bIsAttacking);

void AMyPaperZDCharacter::SetAnimAttack(int32 comboIndex, bool bIsAttacking)

{

//获取动画组件

UPaperZDAnimationComponent* animComp = GetAnimationComponent();

if (!animComp)

{

return;

}

//获取动画实例

UPaperZDAnimInstance* animInstance = animComp->GetAnimInstance();

if (!animInstance)

{

return;

}

//检查是否实现接口

if (animInstance->Implements<UBPI_Anims>())

{

IBPI_Anims::Execute_INT_SetAttacks(animInstance, comboIndex, bIsAttacking);

}

}

改后,把以前的蓝图接口类删除,

在角色类中变为

动画蓝图类中替换为新接口,

相关推荐
RuiZN10 小时前
UE5 蓝图 FPS 02 Event Beginplay
c++·ue5
RuiZN11 小时前
UE5 蓝图 FPS 01 Event Tick
c++·ue5
directx3d_beginner14 小时前
6,执行攻击改为c++
ue5
平行云1 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(二)
linux·unity·ue5·webgl·实时云渲染·云桌面·像素流
RuiZN1 天前
UE5 UObject类详解
c++·ue5
平行云1 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(一)
linux·ue5·webgl·数字孪生·云渲染·实时云渲染·像素流
RuiZN2 天前
UE5 UObject和反射
c++·ue5
远离UE43 天前
UE5 如何在延时渲染在材质编辑器提前使用到多灯光的数据
ue5·编辑器·材质
SCLchuck3 天前
虚幻5 Unrealsharp EditorTick + Nanite雪地踩坑记录
ue5