Создание класса
Установите C++-инструменты для своей версии UE5. Через меню создания C++-класса выберите Actor и назовите его RotatingActor. В сгенерированном классе уже будут объявления конструктора и Tick. Сохраните модульный API-макрос и generated.h из шаблона.
Ниже приведены фрагменты для сгенерированных файлов, а не самостоятельная программа. Удалите дублирующиеся определения конструктора и Tick при замене шаблонного кода.
Свойство и вращение
Внутри объявления ARotatingActor в заголовочном файле добавьте:
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Movement")
float RotationSpeed = 45.0f;В файле реализации замените соответствующие методы:
ARotatingActor::ARotatingActor()
{
PrimaryActorTick.bCanEverTick = true;
}
void ARotatingActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
AddActorLocalRotation(
FRotator(0.0f, RotationSpeed * DeltaTime, 0.0f)
);
}Видимый объект на уровне
Создайте Blueprint-наследник RotatingActor. Добавьте Static Mesh, назначьте куб и сделайте его корнем с Mobility = Movable. Сам базовый Actor без геометрии не будет виден.
Соберите проект, поместите Blueprint на уровень и запустите Play. Значение RotationSpeed доступно в Details благодаря UPROPERTY. После изменения структуры класса безопаснее остановить редактор и выполнить полную сборку через IDE.