每天學習虛幻4(一)

2021-10-06 10:24:07 字數 1390 閱讀 8388

程式設計指南

總結虛幻4官方的文件模組主要可以分為編輯器模組、引擎模組、藍圖模組、程式設計模組、四個模組。

有以下幾個部分組成:

虛幻4的專案部分、編輯器介面、基本操作、關卡編輯器、關卡、actor和幾何體、元件、管理內容、vr模式,多使用者編輯、編輯器指令碼與自動化、開發工具。

編輯模組,我第一印象就是管理內容之後的模組暫且擱置,花一點時間了解一下,虛幻4的介面操作即可。

藍圖有個副標題叫做視覺化指令碼,直觀的感覺很像流程圖一樣。

藍圖模組部分的學習,分為這幾部分:常規的指令碼編寫、編譯指令碼、藍圖通訊和藍圖高階。

藍圖通訊

這個小模組下面就是看名字還不能懂得意思的內容。有藍圖通訊用法、藍圖通訊專案、直播錄影藍圖通訊、直接藍圖通訊、事件分發器、藍圖介面。

藍圖高階

這一模組的學習我會考慮先看到藍圖高階模組的藍圖簡介(奇怪的位置),然後把藍圖的通訊看完,再看程式設計的部分然後回過頭來看高階部分。

這就是老本行了,這邊學習應該會比較有計畫一點。

這裡也分為幾個小模組:開發設定、虛幻引擎架構、gameplay架構、虛幻4api、系統指南、自動化編譯、資源處理。

開發設定

編譯環境配置、從原始碼編譯虛幻4、編譯遊戲專案、安裝版本參考、管理遊戲**、c++類嚮導、程式設計工具、如何生成commandlet、c++控制台變數、低階記憶體***、sparse class data、編碼標準、設定vs 虛幻4,、vs虛幻4擴充套件。

虛幻引擎架構

遊戲模組、遊戲性類、ufunction、介面、元資料說明符、屬性、結構體。

gameplay架構

actors、委託、物件、字串處理、tarray虛幻4陣列、定時器、tmap,tset、tsubclassof、object處理、智慧型指標、資源和包版本控制,uobject例項建立。

gameplay指標

遊戲控制的攝像機、第一人稱射擊教程、玩家輸入和pawn、變數定時器和事件、元件和碰撞、玩家控制的相機、使用umg使用者介面。

系統指南

自動化編譯

buildgraph指令碼條件、buildgraph指令碼元素、buildgraph指令碼型別、buildgraph指令碼使用。

資源處理

非同步資源載入、資源登錄檔。

這一部分內容要學的話,先學會製作簡單遊戲的處理相關的內容,回頭過去學藍圖高階,再調過頭來學架構信內容比較好,感覺(第一印象)。

根據我學習qt的經驗,一般新手先用設計大師,然後完全不用設計大師來設計ui,之後再結合設計大師和程式設計一起幹活。在這裡我就感覺出了和qt學習的很多相似性,所以我之後虛幻4的學習路線應該就是先簡單學習藍圖能夠做一些小遊戲過後,再完全使用程式設計做一些小遊戲,最後根據**對藍圖的理解,再將兩者一起結合工作。

這裡就不得談一下我學習的終極目標,就是虛幻4引擎原始碼的學習。所以官方文件中引擎的部分在藍圖和程式設計學會之前先放一放。

虛幻4 反射

今天講了虛幻4的反射機制。例子 uclass class testcpp api atestcppgamemode public agamemode generated body 部分,做了一大堆一大堆事情。定義在這個檔案中 先看他的定義 define body macro combine inne...

虛幻4 碰撞過濾

英文原文 選擇什麼樣的碰撞顯然是非常重要的,但它可能會非常棘手,而且我們在開發虛幻4的過程中已經花了相當長的時間討論。我們的系統可以一眼看上去有點複雜,但它是非常強大和一致的,所以我想給一點背景知識關於如何完成它。我們會談論碰撞的不同反應,我們如何使用通道來過濾碰撞,和勾勒出簡單和複雜碰撞體之間的不...

虛幻4 碰撞過濾

選擇什麼樣的碰撞顯然是很重要的。但它可能會很棘手,而且我們在開發虛幻4的過程中已經花了相當長的時間討論。我們的系統能夠一眼看上去有點複雜,但它是很強大和一致的,所以我想給一點背景知識關於怎樣完畢它。我們會談論碰撞的不同反應,我們怎樣使用通道來過濾碰撞,和勾勒出簡單和複雜碰撞體之間的不同。首先你要知道...