根据虚幻官网介绍,虚幻引擎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