UE4 C++編程學習路線?

本人C++語言方面沒有問題,不會藍圖,操作系統不是很了解,3D圖形不熟悉,公司是用UE4做VR的,但是沒有C++方面的人帶,看了AboutCG的《獨立遊戲引擎製作》,然後不清楚接下來該如何去學習,現在是看別人的項目自己琢磨。。


有 C++ 基礎,這個學習起來效率會很高的,我個人有一些推薦的學習路徑。

1. 下載 UE4 源代碼版,自己編譯一次,從目錄結構開始了解 UE4 有哪些東西。

2. 新建一個基於 C++ 模板的 FPS 工程文件,開始學習怎麼起作用的。

3. 官方文檔有大量的幫助文件,可以指導你學習 https://docs.unrealengine.com/latest/CHN/index.html (幾乎全部漢化更新到新版本了,咱是唯一一個有全中文幫助的 主流引擎,學習成本低)

4. 官方有大量的學習工程,下載下來,拆解,學習。

5. 官方 Youku 頻道 幾十個小時的視頻教學,都是HD 解析度的,找一套 C++ 的看完就基本了解透徹了。

6. 拆解看看 BP是怎麼跟 C++互動的。

做過以上這些內容,基本上掌握 UE4裡面 C++ 能做什麼是問題不大的,

加油吧。


我的學習路線:

1.把之前敝公司的CAD產品移植到UE4框架下,包括編輯器部分

2.CAD到VR的一鍵式生成演算法移植

3.遠程資源支持,資源庫建立,包含Slate界面的輕客戶端

4.Lightmass聯機烘焙優化,解決任務分配不均的問題

5.多組Lightmap動態混合,各組強度色溫可調

從第一次編譯UE4到以上功能全部完成用時8個月,UE4重要部分代碼均已看完

做事情的過程就是學習的過程,沒有目的的學習,你什麼也學不到

僅供參考


藍圖是UE4提供給用戶一種圖形化編程的方式,不管你用C++還是藍圖,基礎是你都必須先了解UE4,官方文檔已經夠你入門了。

https://docs.unrealengine.com/latest/CHN/

初學者入門按照下面的步驟來吧:

第01章_藍圖上手準備

0101_藍圖基礎教學概述

0102_UE4上手準備

0103_UE4界面布局

0104_關卡藍圖與藍圖類

0105_關卡藍圖界面

第02章_變數類型

0201_EventBeginPlay和PrintString

0202_Delay和RetriggerableDelay

0203_EventTick

0204_Integer的運算符

0205_String的Append操作

0206_BuildString

0207_Float和Byte變數類型

0208_String_Name_Text三種字元串的區別

0209_Vector_Rotator_Transform

第03章_流程式控制制

0301_Branch分支

0302_DoOnce只執行一次

0303_DoN執行N次

0304_DoOnce_MultyInput

0305_FlipFlop翻轉切換

0306_Gate 門

0307_MultyGate

0308_Sequence序列

第04章_數組

0401_Array數組的概念

0402_創建數組類型的變數

0403_訪問數組的某個元素

0404_數組元素的賦值

0405_Add為數組增加元素

0406_AddUnique

0407_Insert插入元素

0408_RemoveIndex和RemoveItem

0409_FindItem和ContainsItem

0410_LastIndex_Resize_Clear

0411_ForeachLoop遍歷

0412_Shuffle

第05章_結構體

0501_結構體數組概念

0502_Structure自定義結構體

0503_BreakStruct

0504_SetMembersInStruct

0505_MakeStruct

第06章_結構體數組

0601_創建結構體數組

0602_結構體數組的訪問

0603_結構體數組的遍歷

0604_Add_和_SetArrayElement

0605_AppendArray

第07章_多維數組

0701_多維數組的概念

0702_三維數組在虛擬漫遊中的應用

0703_藍圖中創建三維數組

0704_三維數組的三重遍歷

第08章_物體的空間變換

0801_物體的空間變換概述

0802_GetActorLocation_Rotation_Scale

0803_SetActorLocation和HitResult

0804_DrawDebugPoint_Line繪製點線

0805_DrawDebugSphere

0806_SetActorRotation_Scale_Transfrom

0807_SetActorRelative_Transform

0808_AddActorLocalOffset_WorldOffset

0809_AddActorLocalRotation_WorldRotation

0810_AddActorTransform

第09章_碰撞事件

0901_EventBeginOverlap

0902_EventTick及AddActorLocalOffset實現石門機關

0903_Timeline及Lerp實現石門機關

0904_SetActorLocation實現石門機關

0905_EventOnActorHit

第10章_藍圖類

1001_面向對象編程概述

1002_類的繼承

1003_藍圖類

1004_藍圖添加Trigger組件

1005_雙開石門

1006_粒子組件

第11章_實例應用

1101_創建場景

1102_創建燈藍圖

1103_函數

1104_機關觸發開關燈

1105_Trace射線檢測

1106_音效


先把虛幻的那一套框架理清楚,形成一個自己的體系,至於cpp,個人建議沒有基礎先別看,看了反而更亂,先入手bp,把bp搞明白,bp只是一種閹割版的cpp,不過你要的一般的功能都有,切記,不要急於求成,什麼管線渲染,網路同步,物理系統,ui系統,亂七八糟的東西不要太早看,反正也看不懂,反而影響心情。


最近比較看好虛幻引擎,由於之前沒有做遊戲的經驗,又想往這方面靠攏,感覺自學挺難的,於是在網上找課程,我最後買的是騰訊課堂上的《零基礎學虛幻4》,原名是《初中生學虛幻4》,跟著學了免費的課程也就是第一季,感覺不錯,於是才買下了整季的課程,現在也正在學習當中。慢慢摸索吧。順便說一下,如果有想報名的可以找我,有優惠哈。


推薦按如下學習過程,一個完整的多人在線射擊遊戲,採用C++實現,騰訊課堂內有


亞馬遜有英文書《用Unreal來學習C++》,個人覺得不錯。


只有看代碼, 沒有其它的捷徑


樓上懂UE4的C++大牛,好厲害哇,我們也是做VR家裝,基於UE4開發的,急需大牛,有意向否?


現在官網的教程比較完善了,當成教程看就可以。

個人建議,哪怕對C++很熟悉,也應該先學習藍圖。


推薦閱讀:

2025年的編程語言將會是怎樣的?
wolfram language說得那麼優秀,為什麼沒有被普及,難道只是因為它貴?
為什麼編程語言中的區間一般是 [begin, end)?
MATLAB有什麼突出優勢和劣勢?
請問學習網頁製作,需要學習什麼呢?

TAG:編程語言 | C | 虛擬現實VR | 虛幻引擎 | 虛幻4遊戲引擎 |