最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

UE4使用BuildGraph構(gòu)建二進(jìn)制版本虛幻引擎

2022-07-13 12:02 作者:怪獸果果  | 我要投稿

????????我得吐槽一下這個(gè)工具,至少在我這是不怎么好用的??梢哉f(shuō)整個(gè)過(guò)程極其曲折,我甚至一度想砸電腦。雖然過(guò)幾年后回頭看這段文字我可能會(huì)嘲笑自己的無(wú)知,體會(huì)其中的高明之處。不過(guò)我今天還是要吐槽一波,也能幫大多數(shù)的人踩坑,避免再次踏雷。我還因此折損了一塊Nvme,廢話不多說(shuō)了。


第一步:選擇好git工具并且設(shè)置本地git的忽略選項(xiàng)。

?不管你是從GitHub上Clone還是下載安裝包,這里途徑和其他地方?jīng)]有區(qū)別。我是直接下載的zip文件。

1.選擇工具

我用的是GitKraken(https://www.gitkraken.com/download/windows64)當(dāng)然也有用GithubDesktop客戶端的,這能在你修改代碼中幫你記錄和創(chuàng)建分支等等。極大的幫助你協(xié)作開發(fā),我還是很建議各位去使用這種工具。比如我就靠這東西拯救了我修改的源代碼。

GitKraken

2.設(shè)置忽略選項(xiàng)

誤區(qū):我們?cè)趧?chuàng)建虛幻的git庫(kù)時(shí)時(shí)常就會(huì)我打開我的git就得等半個(gè)小時(shí)的感覺,就不用說(shuō)第一添加git的時(shí)候了,而且git占用的空間特別大,檢索緩慢。大部分的問(wèn)題就出在這里。因?yàn)樵诘谝粍?chuàng)建git的庫(kù)時(shí),提示需要記錄跟蹤的文件就有18萬(wàn)個(gè)文件,而且這個(gè)地方還有一個(gè)更坑的地方。每當(dāng)編譯完,VS就會(huì)創(chuàng)建很多臨時(shí)文件和新編譯好的文件。一些二進(jìn)制文件等等。導(dǎo)致每次可能需要手動(dòng)去除或者一把添加,越用越卡。這種搞法志強(qiáng)都不夠用。不能偷的懶絕對(duì)不能偷。

在我們建立自己的git庫(kù)之前,我們需要調(diào)整到自己合適的跟蹤目錄,其他目錄屏蔽掉。

.gitgnore

先來(lái)看看這個(gè)文件寫了什么?

內(nèi)容

帶“!”符號(hào)的代表保留,如果不需要跟蹤怎么處理呢? 把“!”去掉即可。配置文件的結(jié)構(gòu)也是自上而下的。所以...你只要后面覆蓋了之前的配置效果一樣。

我的一個(gè)簡(jiǎn)單配置

包括去除一些不需要跟蹤的文件,這樣下來(lái)需要跟蹤的文件大概也就1萬(wàn)多個(gè),當(dāng)然這里需要根據(jù)自己的需求設(shè)定自己要跟蹤的庫(kù)文件。比如技美改的更多的是shader文件夾下內(nèi)容。當(dāng)然也會(huì)出現(xiàn)后期需要跟蹤的部分怎么辦呢?只需要把需要的目錄前加上“!”。

這里就能解決跟蹤文件的問(wèn)題,這里沒把我少坑。這個(gè)坑浪費(fèi)了我很多時(shí)間在添加庫(kù)。


第二步:修改引擎源碼(每個(gè)改引擎的人需求都各不相同,不做詳細(xì)敘述。各有各的坑等著踩,用VS構(gòu)建完驗(yàn)證編輯器正常后再進(jìn)行下面的)


第三部:使用BuildGraph構(gòu)建引擎

我愿稱這部分為最坑的部分,請(qǐng)一定好好閱讀。這是一步步踩坑得出來(lái)的,我在改4.26時(shí)還沒遇到這樣的事。下面逐條來(lái)講述。

第一步及建議:請(qǐng)不要將你的引擎源碼放在你的系統(tǒng)盤所在的這塊硬盤編譯,并找塊固態(tài)來(lái)編譯

????????切記!切記!這一條。因?yàn)槟愕墓虘B(tài)硬盤使用壽命是有擦寫次數(shù)的。特別是當(dāng)你沒摸清楚固定的流程的時(shí)候,你可能配置需要往復(fù)調(diào)整。硬盤來(lái)回擦寫你的硬盤撐不了多久就得離你而去。而且放在系統(tǒng)盤下,還可能整出各種奇葩問(wèn)提。怎么來(lái)形容這個(gè)寫入和寫出量呢?裝個(gè)系統(tǒng)也就30GB但你編寫虛幻,然后編譯二進(jìn)制得占用多大空間呢?以4.27為例。源碼+編譯出來(lái)的約為120GB,然后是打包install的DDC約為50GB左右,最后成品的引擎是50GB左右。也就是220GB左右,并且都是零散文件。這還不包括,在編寫時(shí)存在虛擬內(nèi)存里來(lái)回擦寫的部分,這個(gè)數(shù)據(jù)量一直以最大擦寫速度在操作。而且很過(guò)分的是當(dāng)你編譯得差不多的時(shí)候才提示報(bào)錯(cuò)信息。如果不會(huì)查看構(gòu)建日志,然后恰好又關(guān)閉了,整個(gè)人就會(huì)陷入自閉了。

????????為什么要找塊固態(tài)呢,對(duì)于大部分人來(lái)說(shuō)時(shí)間也是一種寶貴的資產(chǎn)。一般的機(jī)械盤實(shí)在是太慢了,而且是寫入零散文件。真的不建議大家在機(jī)械盤上編譯。比固態(tài)慢上4到5倍,這時(shí)你的CPU吃不滿,大部分時(shí)間會(huì)來(lái)摸魚。最佳方案是買一塊SSD用來(lái)編譯,然后用一塊機(jī)械盤來(lái)存儲(chǔ)編譯好的文件。

第二步及建議:用虛幻文檔作為參考,然后好好閱讀InstallEngineBuild.xml


InstallEngineBuild.xml文件位置

為什么這么說(shuō)呢?因?yàn)楣俜經(jīng)]來(lái)得及修改這塊的文檔,如下圖中已經(jīng)移除了部分可構(gòu)建選項(xiàng)。來(lái)看一下,順帶看一下當(dāng)前的編譯配置。

圖中框中的部分已經(jīng)移除
這是現(xiàn)在的了

然后其中包含一些可優(yōu)化的部分,這個(gè)得根據(jù)個(gè)人來(lái)適當(dāng)調(diào)整。

可優(yōu)化部分

而開啟了 `-allmodules`,則意味著引擎中所有的模塊都要重新編譯,是完整地編譯引擎。當(dāng)下次執(zhí)行,還是要完整地編譯整個(gè)引擎,UBT 中具有對(duì) `-allmodules` 的介紹:

`-allmodules` 參數(shù)是定義在 UBT 的 `TargetRules.cs` 中的:專門用來(lái)構(gòu)建安裝版引擎的,我覺得可以關(guān)掉,使用增量編譯的方式執(zhí)行,不然在 ci 上每次執(zhí)行都太慢了。

而且這個(gè)腳本中對(duì)每個(gè)平臺(tái)都執(zhí)行了兩遍,一遍是不含 `-nolink` 參數(shù)的,一遍是包含 `-nolink` 參數(shù)的,可以根據(jù)自己的需求決定是否關(guān)閉。

我的建議是:新手先不做調(diào)整,當(dāng)編譯成了幾次后對(duì)流程有一定了解后可以修改,大約能縮短一倍時(shí)間。之所以不建議新手直接去除這部分,是因?yàn)楫?dāng)普通的部分都搞不定,采用優(yōu)化后的腳本,萬(wàn)一出現(xiàn)新的問(wèn)題壓根不會(huì)解決。

第三步及建議:關(guān)于安裝Win10SDK的部分

????????這一步同樣重要,這決定你會(huì)不會(huì)浪費(fèi)幾天時(shí)間來(lái)處理關(guān)于缺少“PDBCOPY.EXE”這個(gè)Bug的解決辦法,同樣是“驚喜”不斷。

先說(shuō)幾種情況:

下載過(guò)于新得SDK版本:這個(gè)不是必須操作,因?yàn)橛写?yàn)證。

我遇到的問(wèn)題就是,當(dāng)我從微軟官方下載了新的SDK后,編譯出現(xiàn)了宏定義錯(cuò)誤。光是卸載“SDK”包是不能修復(fù)錯(cuò)誤的。只有卸載VS后重新安裝才能正常的編譯版本。


Win11的SDK當(dāng)然虛幻5版本可能用到
4.27默認(rèn)版本應(yīng)該是11763

安裝不需要使用的包同樣會(huì)導(dǎo)致編譯install版本出錯(cuò):


這是正常人,直接會(huì)install

正確做法是:

僅保留Debugging Tools for Windows


第四步及建議:選擇合適的配置,創(chuàng)建按自己的構(gòu)建版本。

我的配置:

RunUAT.bat BuildGraph -target="Make Installed Build Win64" -script=Engine/Build/InstalledEngineBuild.xml -set:WithWin64=true -set:WithWin32=false -set:WithMac=false -set:WithAndroid=false -set:WithIOS=false -set:WithTVOS=false -set:WithLinux=false -set:WithLinuxAArch64=false -set:WithLumin=false -set:WithLuminMac=false -set:WithHoloLens=false -set:WithClient=true -set:WithServer=true -set:VS2019=true -clean

這里有個(gè)建議:擁有使用visual studio 2019 的開啟 VS2019=true。至少在我使用的時(shí)候,如果不設(shè)置是報(bào)錯(cuò)的。問(wèn)題我也懶得查了,因?yàn)槿罩咎崾臼俏粗e(cuò)誤。建議不用去嘗試,因?yàn)閳?bào)錯(cuò)只有當(dāng)所有操作搞完才報(bào),而且installDDC都出來(lái)了。

然后就是漫長(zhǎng)的等待,希望能幫到需要的人。特意寫下這個(gè)文章,沒準(zhǔn)能幫你剩下幾天時(shí)間。

UE4使用BuildGraph構(gòu)建二進(jìn)制版本虛幻引擎的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
昌图县| 木里| 巴林右旗| 永城市| 重庆市| 融水| 塘沽区| 双流县| 讷河市| 延寿县| 和平区| 财经| 许昌市| 洪湖市| 大化| 祁连县| 大埔区| 定州市| 阳信县| 沂源县| 石狮市| 平和县| 抚远县| 鱼台县| 桃江县| 汉川市| 共和县| 江阴市| 永胜县| 丰县| 自治县| 贺兰县| 江源县| 沈阳市| 岳普湖县| 栾川县| 南部县| 通渭县| 屏南县| 察隅县| 玉溪市|