返回

UE 4 C++ 游戏开发教程:在实时旋转 Actor 的世界中畅游【十一】

前端

在 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 的知识的一些资源: