欢迎大家加入Unreal Engine C++ & Blueprint群一起交流:1143575617
本节继续完善GroundBlast招式。
导入招式地上确认范围目标的图片并新建一个Material。
并如下设置。
打开GATargetActor的C++文件。
在头文件中加入以下组件:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GroundBlast")
class UDecalComponent* Decal;
class USceneComponent* rootComp;
CPP文件中如下修改
构造器:
AGATargetActor::AGATargetActor() {
PrimaryActorTick.bCanEverTick = true;
Decal = CreateDefaultSubobject<UDecalComponent>(TEXT("Decal"));
rootComp = CreateDefaultSubobject<USceneComponent>(TEXT("rootComp"));
RootComponent = rootComp;
Decal->SetupAttachment(rootComp);
Radius = 200.0f;
Decal->DecalSize = FVector(Radius);
}
Tick函数:
void AGATargetActor::Tick(float DeltaSeconds)
{
Super::Tick(DeltaSeconds);
FVector lookAt;
GetLookAtLocation(lookAt);
//DrawDebugSphere(GetWorld(), lookAt, Radius, 50, FColor::Red, false);
Decal->SetWorldLocation(lookAt);
}
我们将DEBUG球注释掉,换上贴花。
效果如下: