UE 4 C++ 游戏开发教程:在实时旋转 Actor 的世界中畅游【十一】
2024-02-08 20:15:45
在 UE4 中实时旋转 Actor 的 C++ 教程
本教程是 UE4 游戏开发系列教程的第十一部分,我们将向您展示如何实时旋转 Actor。这将使您能够创建旋转的门、风车或任何其他需要旋转的物体。
创建一个新的 C++ Actor 类
首先,我们需要创建一个新的 C++ Actor 类。为此,请打开 Visual Studio 并创建一个新的 C++ 项目。在“项目类型”下,选择“游戏”,然后在“模板”下,选择“空白 C++ 项目”。
将项目命名为“Rot”,然后单击“确定”。
在项目中,创建一个新的 C++ 类。右键单击“源文件”文件夹,然后选择“添加”>“新建项”。
在“添加新建项”对话框中,选择“类”,然后在“名称”字段中输入“Rot”。单击“添加”。
在 Rot.h 文件中,添加以下代码:
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
class ARot : public AActor
{
public:
ARot();
UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
float RotationSpeed = 0.0f;
UFUNCTION(BlueprintCallable, Category = "Rot")
void RotateNow();
protected:
virtual void BeginPlay() override;
UPROPERTY()
class USphereComponent* SphereComponent;
};
在 Rot.cpp 文件中,添加以下代码:
#include "Rot.h"
ARot::ARot()
{
SphereComponent = CreateDefaultSubobject<USphereComponent>(TEXT("Sphere"));
RootComponent = SphereComponent;
}
void ARot::BeginPlay()
{
Super::BeginPlay();
GetWorld()->GetTimerManager().SetTimer(RotationTimerHandle, this, &ARot::RotateNow, RotationSpeed, true);
}
void ARot::RotateNow()
{
AddActorLocalRotation(FRotator(0.0f, RotationSpeed, 0.0f));
}
将 C++ Actor 类添加到关卡
现在,我们需要将 C++ Actor 类添加到关卡中。为此,请打开关卡并单击“添加”>“蓝图”>“Actor 蓝图”。
在“选择父类”对话框中,选择“Rot”。单击“确定”。
在关卡中放置 Rot Actor。
旋转 C++ Actor 类
现在,我们需要旋转 C++ Actor 类。为此,请打开 Rot Actor 的蓝图。
在蓝图中,找到“旋转”节点。将“旋转速度”变量连接到“旋转”节点的“速度”输入。
编译并保存蓝图。
运行游戏
现在,我们可以运行游戏并看到 Rot Actor 在旋转。
恭喜!
您现在已经学会了如何在 UE4 中实时旋转 Actor。您可以使用此技术来创建旋转的门、风车或任何其他需要旋转的物体。
扩展您的知识
以下是您可以用来扩展您对 UE4 中旋转 Actor 的知识的一些资源: