根據虛幻官網介紹,虛幻引擎5可免費用于創建線性內容、定制項目和內部項目。你可以免費用它開發游戲,只有當你的產品營收超過100萬美元時,才收取5%的分成費用。所以目前國內也有許多游戲廠商在使用UE制作游戲。UE5源碼也已開源,有UE賬號的,能夠從官網下載的就從官網下載,只是下載比較慢,需要科學上網;沒有的,想要學習了解UE的,也可以從網上找國內別人下載好的資源,筆者就從網上找到了一些資源,玩了一下UE5,這里與大家分享!
一、.net設置
下載好UE源碼包后,先解壓出來。由于UE是依賴.net來構建的,所以需要安裝相應版本的.net,可以查看UE_5.0\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.runtimeconfig.json
該版本的UE使用的.net core 3.1,該包中有相應的資源,位于UE_5.0\Engine\Binaries\ThirdParty\DotNet\Windows
,如果本機之前安裝過不同版本的.net,可以將C:\Program Files\dotnet
改名為dotnet_
,然后新建一個dotnet
目錄將UE_5.0\Engine\Binaries\ThirdParty\DotNet\Windows
中的所有文件復制到C:\Program Files\dotnet
下。也可以不進行本步操作,直接使用第四步的升級.net,將.net升級到.net 6。
二、創建項目
執行UE_5.0\Engine\Binaries\Win64\UnrealEditor.exe,在下面的界面創建一個第三人稱游戲,選擇C++,如下圖:
如果不進行前面的.net設置,則在創建項目時會報錯:
App: H:\UE_5.0\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '3.1.0' (x64)
.NET location: C:\Program Files\dotnet\
如果系統只安裝了的VS2022,則在UE編輯器中創建項目時,會報錯:
這里看到的漢字是亂碼,可以打開VS2022,編譯項目:
此時可以清楚的看到錯誤:
Engine\Source\Runtime\Core\Public\Containers\StringConv.h(1048): error C2440: “<function-style-cast>”: 無法從“const From *”轉換為“TStringConversion<TStringConvert<From,To>,128>”
筆者在網上查了一下資料,可以去https://github.com/ydgros/UE_VS2022-17.9下載相應的修改:
修改好后,再次編譯即可成功。
三、啟動項目
編譯成功后,即可在VS2022中調試運行了,不過在運行過程中有報一點問題:
點擊確定即可。
第三人稱游戲運行效果:
四、升級.net
由于.net core 3.1已經過時了,目前(2024年5月).net 6還在支持中,也是目前能夠成功升級到的最新版本。升級到.net 7及以上版本會報錯。所以如果沒有安裝.net 6的可以考慮安裝.net 6,之前安裝了的就忽略第一步的.net設置,直接使用,并將C:\Program Files\dotnet\shared\Microsoft.NETCore.App\
下的6.X(筆者的是6.0.30)復制到UE_5.0\Engine\Binaries\ThirdParty\DotNet\Windows\shared\Microsoft.NETCore.App
下。
然后使用VS打開UE_5.0\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.sln
,將項目中應用程序的目標框架全部指定為.net 6.0
后完全重新編譯,編譯過程中會有很多警告,可以不管它。
最后打開之前創建的第三人稱游戲項目,完全重新編譯運行即可。
附錄、源碼下載
unreal engine 5.0.3 源碼下載鏈接:https://pan.baidu.com/s/1XJtUKOewORG8DuuZeP2VlA?pwd=7q05
筆者本文采用的源碼包就是這個,不過這個源碼包不全,沒有Setup以及GenerateProjectFiles相關腳本,雖然打包者把相關依賴都包含了,即執行過setup相關腳本了,但是沒有執行GenerateProjectFiles相關腳本。所以不能直接自己編譯引擎相關代碼,只能編譯自己創建的項目代碼,也不能調試引擎相關代碼,只能調試自己項目的代碼。
筆者找到一個更高的版本,包大小只有不到600M,只包含核心部分,但是一個完全版本,包含Setup以及GenerateProjectFiles相關腳本,可以通過setup腳本下載依賴,通過GenerateProjectFiles腳本生成項目文件,這樣就可以自行編譯引擎代碼了,也可以調試引擎代碼,感興趣的讀者可以移步:unreal engine 5.3.2 創建游戲項目
參考:
https://blog.csdn.net/ttm2d/article/details/106161970