epic games宣布ue4无偿使用(游戏发布以后,每一个季度大于3000美圆则收取收益的5%)以后,吸引了大批看好VR和AR前景的游戏开发者。不过国内(中文)ue4教程和资料太少,并且一大部分资料都是关于蓝图(Blueprint)的,因此编码相关的确实少的可怜。好在官网放出了guide和demo。c++
本人也是第一次接触ue4,甚至除了在大学学的c++基础,毕业3年还没碰过c++,因此先将官网的guide搬过来,而后加上一些本身的注释和理解,当作是学习ue4的轨迹吧。ide
本文先演示一个如何在UnrealEngine上建立一个C++项目:函数
1. 安装ide,不作详细说明。从官网上下载安装,而后注册epic games帐号。若是要下源码,须要绑定Github帐号,等到EpicGames自动邀请以后才能浏览源码。性能
2. 新建项目:学习
安装好以后,启动UnrealEngine,选择 新建项目-> c++ -> 基础代码ui
等加载完以后,选择文件->新建c++类,而后在以下界面选择继承Pawn(Pawn是可由玩家控制或者AI控制的物体的基类):编码
我在建立的时候取类名为CollidingPawn, 建立完以后会自动打开vs2012(若是没装会提示你装一个,其余版本好比vs2015也不行,只能是2012),生成一个CollidingPawn.cpp和CollidingPawn.h。spa
头文件以下所示, 我按照本身的理解加了注释:code
CollidingPawn.h:blog
#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; };