本地环境: macOS High Sierra 版本10.13.1 (17B48)
Xcode版本: Version 9.1 (9B55)
Unreal Engine 4 版本: 4.18.1
官网连接
1.创建新项目
选择C++ - 基础代码 - 没有初学者内容 - 项目名称 QuickStart - 创建项目
2.创建C++类
在左上角点击文件 - 新建C++ 类 - Actor - 类名 FloatingActor - 创建类
3.写入并编译C++ 代码
在Xcode中会自动生成FloatingActor.h和FloatingActor.cpp这两个文件
FloatingActor.h页面中使用的代码如下
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "FloatingActor.generated.h"
UCLASS()
class QUICKSTART_API AFloatingActor : public AActor
{
GENERATED_BODY()
public:
// 设置此actor属性的默认值
AFloatingActor();
protected:
// 当游戏开始或生成时调用
virtual void BeginPlay() override;
public:
// 在每一帧调用
virtual void Tick(float DeltaTime) override;
float RunningTime;
};
FloatingActor.cpp页面中使用的代码如下
#include "FloatingActor.h"
// 设置默认值
AFloatingActor::AFloatingActor()
{
// 将此actor设置为在每一帧都调用Tick()。 如果您不需要这项功能,您可以关闭它以改善性能。
PrimaryActorTick.bCanEverTick = true;
}
// 当游戏开始或生成时调用
void AFloatingActor::BeginPlay()
{
Super::BeginPlay();
}
// 在每一帧调用
void AFloatingActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
FVector NewLocation = GetActorLocation();
float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));
NewLocation.Z += DeltaHeight * 20.0f; //把高度以20的系数进行缩放
RunningTime += DeltaTime;
SetActorLocation(NewLocation);
}
编写好后在虚幻编辑器中点击编译按钮
4.测试代码
在虚幻编辑器中的底部找到内容浏览器,找到之前创建的FloatingActor这个对象,将对象拖拽到中心的关卡编辑器中,在右侧标签中找到命名为FloatingActor-XXX的对象,选中后在右下方细节面板中点击添加组件,在下拉列表中找到基本形状,选中自己喜欢的形状.
选中FloatingActor对象,自己拖拽位置
最后在虚幻编辑器顶部点击播放按钮,开始预览