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; };
