我使用的UE4版本是4.8.3,首先,新建一个项目,建议跟我一样的初学者先建立一个空项目,以便于自己扩充来熟悉UE4,如图:
这里需要注意一点,就是项目名称不能有中文,不然可能会出现一些奇怪的BUG。
项目创建完成后会自动打开VS2013,当然前提是你电脑里得有。UE4与VS2013是交互使用的,比如你在UE4中添加一个类,那VS中也会自动添加一个类,并且包含基本代码,同样在VS中编写的代码编译后也会影响UE4,我只能说,32个赞!
创建好项目后,我们首先来制作一个可以上下浮动的圆锥,作为学习UE4的第一步。
首先,新建一个Actor类,类名为FloatingActor,就是我们制作的那个可以上下浮动的圆锥。
这时会显示正在编译c++代码,稍等一会编译完成后,你会发现VS中MyProject1文件夹下多了两个文件,FloatingActor.h与FloatingActor.cpp,是不是很方便?
下面我们开始写代码,相信选择使用c++而不是蓝图来制作游戏的各位都不怕写代码吧。
首先在FloatingActor.h中添加一个变量RunningTime,用来保存时间信息。
class MYPROJECT1_API AFloatingActor : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AFloatingActor();
// Called when the game starts or when spawned
virtual void BeginPlay() override;
// Called every frame
virtual void Tick( float DeltaSeconds ) override;
float RunningTime;
};
然后在FloatingActor.cpp中扩展一下Tick( float DeltaTime )函数:
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; //Scale our height by a factor of 20
RunningTime += DeltaTime;
SetActorLocation(NewLocation);
}
然后Ctrl+Shift+B编译一下,在UE4中也要编译一下,全都编译完成后,把我们的FloatingActor类拖到上方的关卡编辑器中,这样世界大纲中就会出现一个FloatingActor1对象,如图:
选中它后我们添加一个圆锥,然后更改一下初始位置,单击运行,我们便可以看到一个圆锥在桌子上放上下浮动了。
还有一点需要注意,用UE4制作的游戏是很大的,这么点东西,项目就已经1.5G了,还望大家做好心理准备。