epic games宣布ue4免费使用(游戏发布之后,每个季度大于3000美元则收取收益的5%)之后,吸引了大批看好VR和AR前景的游戏开发者。不过国内(中文)ue4教程和资料太少,而且一大部分资料都是关于蓝图(Blueprint)的,所以编码相关的确实少的可怜。好在官网放出了guide和demo。
本人也是第一次接触ue4,甚至除了在大学学的c++基础,毕业3年还没碰过c++,所以先将官网的guide搬过来,然后加上一些自己的注释和理解,当做是学习ue4的轨迹吧。
本文先演示一个如何在UnrealEngine上创建一个C++项目:
1. 安装ide,不做详细说明。从官网上下载安装,然后注册epic games账号。如果要下源码,需要绑定Github账号,等到EpicGames自动邀请之后才能浏览源码。
2. 新建项目:
安装好之后,启动UnrealEngine,选择 新建项目-> c++ -> 基础代码
等加载完之后,选择文件->新建c++类,然后在如下界面选择继承Pawn(Pawn是可由玩家控制或者AI控制的物体的基类):
我在创建的时候取类名为CollidingPawn, 创建完之后会自动打开vs2012(如果没装会提示你装一个,其他版本比如vs2015也不行,只能是2012),生成一个CollidingPawn.cpp和CollidingPawn.h。
头文件如下所示, 我按照自己的理解加了注释:
CollidingPawn.h:
#pragma once #include "GameFramework/Pawn.h"
#include "CollidingPawn.generated.h" UCLASS()
class DEMO__API ACollidingPawn : public APawn
{
GENERATED_BODY() public:
// 构造函数,可在此方法中放置物体和参数
ACollidingPawn(); // 游戏开始调用此方法
virtual void BeginPlay() override; // 如果PrimaryActorTick.bCanEverTick设置为true,则每一帧都会调用此方法。如果处于性能的考虑,可以将其关闭。
virtual void Tick( float DeltaSeconds ) override; // 在此函数中绑定按键和方法
virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;
};