導航:首頁 > 源碼編譯 > UE4編譯第三方庫

UE4編譯第三方庫

發布時間:2023-09-13 06:43:45

1. UE4基礎知識總結(四)

六、自動測試技術

1.自動測試分為簡單測試和復雜測試,簡單測試用來描述單個原子測試,復雜測試用來運行基於多個輸入的相同代碼。

2.簡單測試可用來確認特定功能如預期般可操作。一般都是單元測試或功能測試。

3.復雜測試可被用來對一系列物品迭代並對每個物品運行相同的功能。一般就是內容壓力測試。例如載入所有地圖或編譯所有藍本。

4.當前的規則是將所有的自動測試放置到相關模塊內的PrivateTests目錄。測試文件命名為[ClassFilename]Test.cpp

5.這些測試通過應用RunTest()函數來單獨定義其功能,而且Parameters字元串將保持為空字元串。

IMPLEMENT_SIMPLE_AUTOMATION_TEST( TClass, PrettyName, TFlags )

IMPLEMENT_COMPLEX_AUTOMATION_TEST( TClass, PrettyName, TFlags )

七、編碼規范

1.編碼規范對於程序員來說非常重要,原因如下:

a.一套軟體80%的生命周期都是維護。

b.在軟體的整個生命周期中,幾乎不可能一直是軟體的原始作者來對其進行維護。

c.編碼規范可以改進軟體的可讀性,從而使得工程師可以快速並透徹地理解新的代碼。

d.如果我們決定將源代碼公布到 MOD 開發者社區,那麼我們想讓它通俗易懂。

e.大部分編碼規范實際上是交叉編譯器兼容性所要求的。

2.變數、方法及類的名稱應該清晰、明確且具有描述性。

3.注釋應該是輔助加強代碼的,代碼是功能實現,注釋表明了代碼的目的。

八、對象

1.虛幻引擎中的對象基礎類為UObject。UCLASS宏可用於標記從UObject派生的類,使UObject處理系統識別到它們。

2.UCLASS宏為UObject提供一個對UCLASS的引用,描述其基於虛幻引擎的類型。

3.每個UCLASS保留一個稱作「類默認對象(Class Default Object)」的對象,簡稱CDO。

4.新建UObject示例的函數有:

a.NewObject () 創建一個自動生成命名的新實例。在簡單情況下使用最佳。

b.NewNamedObject () 使用特定命名以及其他幾項任選參數創建一個新實例。將判斷新實例的Outer中是否存在命名沖突。

c.ConstructObject () 創建一個提供所有可用創建選項的新實例。僅限需要靈活性時使用。

d.new 用於在特定低層情況下構建對象,如構建函數需要參數時。

5.UObjects提供的功能有:

a.垃圾回收:虛幻引擎實現了一個垃圾回收方案,定期清理不再被引用或被顯式標記為待銷毀的 UObject。

b.引用更新:對象被垃圾回收清理時,對它的UPROPERTY引用將自動被更新為 NULL。

c.映象

d.序列化:當一個 UObject 被序列化時,所有 UProperty 數值將被自動書寫或讀取。

e.默認屬性變化自動更新:UClass 的CDO發生變化時,引擎將嘗試把這些變化智能應用到類的所有實例上(在它們被載入時)。

f.自動屬性初始化:初始化時,在構建函數被調用之前,UObject 將被自動清零。

g.自動編輯器整合:編輯器理解 UObjects 和 UProperties,還可將這些數值自動公開進行編輯,而無需編寫特殊代碼。

h.運行時類型信息可用:UObject 明確其為何種 UClass,運行時可作出類型相關的決定。

i.網路復制:UObject 系統包括一個穩定的功能集,實現網路通訊和多人 游戲 。

6.UObjects的頭文件格式:

#include 'Object.h'

#include 'MyObject.generated.h'

UCLASS() //UCLASS 宏使虛幻引擎 4 能識別 UMyObject。

class MYPROJECT_API UMyObject : public UObject //如 MyProject 希望將 UMyObject 類公開到其他模塊,則需要指定 MYPROJECT_API。

{

GENERATED_BODY() //對類進行設置,以支持引擎要求的基礎結構。

};

2. carla-docker中編譯carla ue4血淚史

carla官方之前推薦的在carla中導入新地圖的方式是在ubuntu下使用UE4加carla插件進行地圖加工然後導出,但是比較麻煩,然後官方在2020年4月份將之前的方法歸類為不推薦方式。推薦在docker下使用carla提供的腳本便捷生產carla地圖。然後就開始了入坑之旅。

carla官方給出的教程 在此 .
1.安裝docker-ce
參考此 教程
2.安裝python 3.6或著更高版本。(ubuntu 18.04默認為python3.6 可跳過此步驟)

3.安裝 ue4-docker

4.使用ue4-docker配置ubuntu防火牆。

多說幾句,在進行此步驟後,明明已經安裝了 ue4-docker,但是運行時提示 ue4-docker不存在或者未安裝,最後通過將 ue4-docker文件拷貝到bin文件夾下解決。具體參考 這里
5.編譯docker鏡像

重要 注意將4.22.2更改為4.24.3
此步耗費時間較長,因為要安裝差不多10個G的UE依賴。

此步驟是具體如下編譯編譯carla所需依賴的鏡像,聽起來比較拗口,但就是這樣。

創建真正的Carla鏡像。

閱讀全文

與UE4編譯第三方庫相關的資料

熱點內容
usb藍牙android 瀏覽:405
伺服器顯示error1什麼意思 瀏覽:708
python代碼精簡 瀏覽:457
文件加密了怎麼找到了 瀏覽:193
jellyfin插件怎麼選擇主伺服器 瀏覽:836
asp用戶注冊源碼 瀏覽:48
什麼是照片壓縮文件 瀏覽:392
java調用js代碼 瀏覽:979
崑山市民app怎麼修改身份信息 瀏覽:779
php登陸次數 瀏覽:744
python字元轉成數字 瀏覽:822
海川用的是什麼伺服器 瀏覽:376
口才是練出來的pdf 瀏覽:458
雲伺服器哪個公司性價比高 瀏覽:517
源碼論壇打包 瀏覽:558
php怎麼做成word 瀏覽:692
python批量生成密鑰 瀏覽:492
程序員要不要考社區人員 瀏覽:150
app的錢怎麼充q幣 瀏覽:814
android銀行卡識別 瀏覽:756