UE4 C++編程學習路線?
01-07
本人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和PrintString0202_Delay和RetriggerableDelay0203_EventTick0204_Integer的運算符0205_String的Append操作0206_BuildString0207_Float和Byte變數類型
0208_String_Name_Text三種字元串的區別0209_Vector_Rotator_Transform第03章_流程式控制制0301_Branch分支0302_DoOnce只執行一次0303_DoN執行N次0304_DoOnce_MultyInput0305_FlipFlop翻轉切換0306_Gate 門0307_MultyGate
0308_Sequence序列第04章_數組0401_Array數組的概念0402_創建數組類型的變數0403_訪問數組的某個元素0404_數組元素的賦值0405_Add為數組增加元素0406_AddUnique0407_Insert插入元素0408_RemoveIndex和RemoveItem
0409_FindItem和ContainsItem0410_LastIndex_Resize_Clear0411_ForeachLoop遍歷0412_Shuffle第05章_結構體0501_結構體數組概念0502_Structure自定義結構體0503_BreakStruct0504_SetMembersInStruct0505_MakeStruct
第06章_結構體數組0601_創建結構體數組0602_結構體數組的訪問0603_結構體數組的遍歷0604_Add_和_SetArrayElement0605_AppendArray第07章_多維數組0701_多維數組的概念0702_三維數組在虛擬漫遊中的應用0703_藍圖中創建三維數組
0704_三維數組的三重遍歷第08章_物體的空間變換0801_物體的空間變換概述0802_GetActorLocation_Rotation_Scale0803_SetActorLocation和HitResult0804_DrawDebugPoint_Line繪製點線0805_DrawDebugSphere0806_SetActorRotation_Scale_Transfrom0807_SetActorRelative_Transform0808_AddActorLocalOffset_WorldOffset
0809_AddActorLocalRotation_WorldRotation0810_AddActorTransform第09章_碰撞事件0901_EventBeginOverlap0902_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有什麼突出優勢和劣勢?
※請問學習網頁製作,需要學習什麼呢?
