不管我们写的是什么类型的功能,首先我得写一个Debug来进行检测功能是否正确。
1.在文件夹中创建一个debughelper.h的文件
2.写入debug功能代码
#pragma once
namespace Debug
{
static void Print(const FString& Message, const FColor& Color = FColor::MakeRandomColor(), int32 InKey = -1)
{
if (GEngine)
{
GEngine->AddOnScreenDebugMessage(InKey, 6, Color, Message);
}
UE_LOG(LogTemp, Warning, TEXT("%s"), *Message);
}
}
想要实现攀爬效果,我们可以通过修改ue的charactermovement来实现我们自定义的movemen。
首先创建自定义组件custommovemecompone,设置我们使用的组件,不用初始的默认组件
AClimbingSystemCharacter(const FObjectInitializer& ObjectInitializer);
AClimbingSystemCharacter::AClimbingSystemCharacter(const FObjectInitializer& ObjectInitializer)
:Super(ObjectInitializer.SetDefaultSubobjectClass<UCustomMovementComponent>(ACharacter::CharacterMovementComponentName))
设置自定义组件变量,将默认类型转换为自定义类型,最后获取我们的自定义类型
class UCustomMovementComponent* CustomMovementComponent;
CustomMovementComponent = Cast<UCustomMovementComponent>(GetCharacterMovement());
FORCEINLINE class UCustomMovementComponent* GetCustomMovementComponent() const { return CustomMovementComponent; }
完成我们的自定义类型后就可以写我们的攀爬功能了