皮皮网
皮皮网

【麦克源码网】【朗读引擎网络源码】【白娘子回合源码】unreal源码编译

来源:婚纱摄影源码下载 发表时间:2024-11-30 05:00:51

1.UE入门笔记(1):编译UE4源码 + apk打包
2.越学越多——获取虚幻源码
3.虚幻引擎蓝图虚拟机的源码原理机制源码剖析
4.使用FastBuild给UnrealEngine编译Shader加速
5.UE4C++_编译方式和工作流程
6.为什么unreal虚幻引擎源码编译如此慢,有方法改进吗?

unreal源码编译

UE入门笔记(1):编译UE4源码 + apk打包

       实验环境:win / VS专业版 / UE4..

       准备工作①获取UE4源码:按照官方教程,完成邮件确认后即可下载 UE4..2源码。编译

       记得下载Commit.gitdeps.xml文件,源码后续会用到。编译

       ②VS安装工具包:打开Visual Studio Installer,源码选中并安装

       2、编译麦克源码网编译

       下面操作均基于UE4源码文件夹

       ①执行bat文件

       a)运行setup.bat,源码如出现下面错误,编译则需要替换Commit.gitdeps.xml文件

       b)运行GenerateProjectFiles.bat,源码如出现下面错误,编译则将文件路径改短

       ②编译

       打开UE4.sln,源码右键UE4选“生成”,编译编译过程多分钟

       ③UE4,源码启动!编译

       编译完成后,源码打开Engine\Binaries\Win,找到UE4Editor.exe,即可启动。

       3、安卓环境配置

       下载Android Studio并在UE4部署安卓:参考官方教程以及UE部署到Android以及杂症的解决,配置过程较为复杂,一步步来不要跳步。

       4、打包并测试

       打包过程报错:

       ①packagingresults: error: failed to build "uattempproj.proj"

       解决:打开项目.sln,重新生成AutomationTool

       ②找不到dx文件

       解决:打开C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools,将或版本文件夹中的dx.bat 和 lib 文件夹中的 dx.jar 复制到 .0.0 版本文件夹的对应位置。(build-tools从版本之后把dx的方式去掉了,而UE需要这个,没有的话会发布失败)

       手机测试报错:

       ①No Google Play Store Key

       解决:UE项目设置->Android中勾选“将游戏数据打包至.apk中”,重新打包

       参考链接

       ① UE部署到Android以及杂症的解决

       ② UE4学习笔记(1):UE源码下载编译+安卓打包

       ③ 油管教程《Unreal Engine 4..2 Packaging For Android | Unreal Engine 4..2 Export Android Project》

越学越多——获取虚幻源码

       游戏开发领域,知识永无止境。

       那么,如何获取虚幻引擎的源码呢?

       获得源码方法一:

       官方教程:unrealengine.com/zh-CN/...

       第一步:关联账户

       1. 打开Epic Games启动器,点击管理账户后,跳转网页。

       2. 如果网页无法打开,直接访问unrealengine.com/accoun...

       3. 进入后,点击关联GitHub账户,点击授权EpicGames按钮,完成OAuth应用授权流程。

       4. 接收邮件,朗读引擎网络源码加入GitHub上的@EpicGames组织。

       第二步:下载源码

       1. 登录GitHub账号。

       2. 在GitHub个人页面点击右上角Your profile,进入后点击这个图标(有这个图标表示已经加入虚幻组织)。

       3. 进入后,找到虚幻源码仓库,双击进入。

       4. 下载源码。

       第三步:打开源码文件

       1. 下载后解压,地址不能有中文和空格。

       2. 运行setup.bat,可能报错无法下载。

       - 第一种错误:Failed to download 'cdn.unrealengine.com/de...': 远程服务器返回错误: () 已禁止。 (WebException)

       解决办法:要解决此问题,您需要获取位于此处的文件:github.com/EpicGames/Un...

       然后替换engine/build/commit.gitdeps.xml版本中的文件。

       文件在这,点击下载Commit.gitdeps.xml。

       - 第二种错误:下载至%时,下载失败。

       解决办法:UE4源码下载对于文件路径长度有要求,将文件夹名字改短即可,6个字符长度。

       再次运行Setup.bat,即可成功。这个阶段时间很长。

       双击运行GenerateProjectFiles.bat文件,运行结束会生成UE5.sln文件,这个就是源码啦!

       获取源码方法二:

       这个方法适合只是想要了解学习引擎底层原理,并不用于编译的情况。

       快速打开代码去查看,一般用于非程序人员想要进阶了解引擎原理的时候。

       前提,安装Visual Studio。

       第一步:打开虚幻引擎工程。

       第二步:新建蓝图类,比如actor。

       第三步:新建C++组件,选择actor组件。

       第四步:创建类。白娘子回合源码

       第五步:完成,在Visual Studio里查看代码。

虚幻引擎蓝图虚拟机的原理机制源码剖析

       本文对虚幻引擎蓝图虚拟机的原理机制和源码进行剖析。首先说明一些关键概念,如虚拟机、字节码和序列化等。虚拟机在蓝图中将节点等编译为字节码,在运行时解析执行;字节码是编译后等待运行时解释执行的中间代码;序列化用于将内存中的数据保存到本地文件。UHT(UnrealHeaderTool)和UBT(UnrealBuildTool)是解析和生成代码的重要工具。反射机制允许运行时获取类、函数和属性等信息。蓝图整体运行机制流程包括事件触发、函数调用、执行等步骤。蓝图节点函数调用流程从事件触发到PrintString函数的执行,展示了蓝图函数节点的调用过程。字节码数据的来龙去脉涉及编译、序列化、文件存储等过程。蓝图虚拟机执行机制重点在于对字节码的遍历和执行,包括脚本从文件反序列化,字节码生成和执行等关键步骤。静态语言特性如static和宏被用于注册到GNatives中,提供静态类型信息。运行时的函数来源于Script字节码,通过宏定义在函数参数中传入。字节码生成的流程涉及蓝图编译、类和函数创建、函数上下文构建、节点图处理等步骤。节点函数及其属性的创建涉及UHT、UBT等工具,以及类和函数的遍历。蓝图执行中对递归和死循环的限制通过异常来控制,确保脚本性能和效率。对于开发者的建议是理解蓝图执行机制,避免循环超限等性能问题。

使用FastBuild给UnrealEngine编译Shader加速

       提升Unreal Engine Shader编译速度的实操指南

       使用FastBuild加速编译Shader,优化流程,从环境搭建到具体配置,开发接单平台源码详细步骤如下:

       1. 下载并安装FastBuild

       前往FastBuild官网,下载适用于Windows平台的FastBuild可执行文件,解压后获得FBuild.exe和FBuildWorker.exe。

       2. 替换引擎目录文件

       将FBuild.exe和FBuildWorker.exe复制到`Engine\Extras\ThirdPartyNotUE\FASTBuild\Win`目录下,替换现有文件。

       3. 创建网络共享文件夹

       创建一个网络共享文件夹,确保所有参与编译的机器都能访问。步骤如下图所示。

       4. 配置环境变量

       在系统变量中添加`FASTBUILD_BROKERAGE_PATH`,值为创建的网络路径。

       5. 运行测试联机环境

       确认网络文件夹是否可访问。运行`FBuildWorker.exe`,界面应显示网络文件夹中的发起机IP,并检查网络路径中是否存在发起机IP的文件。

       6. 开启Shader编译

       在项目`DefaultEngine.ini`中添加配置以开启Shader编译。

       7. 远程机配置

       将FBuild.exe和FBuildWorker.exe拷贝至远程机,确保添加环境变量`FASTBUILD_BROKERAGE_PATH`与发起机一致。远程机运行`FBuildWorker.exe`,确认连接成功。

       8. 运行Shader编译

       打开项目Shader编译开关,直接运行编译Shader。如需测试,删除`DerivedDataCache`文件夹,确保Shader编译。

       进阶步骤

       根据需要,调整编译参数,限制CPU使用量,开启编译缓存,使用更多远程机加速编译。

       编译UE4项目代码

       如果需要编译UE4项目代码,需修改FastBuild源码。下载源码,配置环境变量和路径,使用命令行编译FastBuild,确保所有配置与编译Shader一致。

       开启编译代码Cache

       通过调整`BuildConfiguration.xml`文件,启用编译缓存,显著提升编译速度。

       进阶优化

       限制本地编译代码的核心数,避免CPU负载过高。历史竞价指标源码利用编译缓存和更多远程机,提高整体编译效率。

       使用FBDashboard监控

       启动FBDashboard.exe,查看编译进度、使用资源等详细信息,便于调整优化。

       结语

       通过上述实操指南,可有效利用FastBuild加速Shader及UE4项目代码编译。如有疑问或建议,欢迎在下方留言交流。

UE4C++_编译方式和工作流程

       本文主要介绍了在使用Unreal Engine 4(UE4)进行C++开发时的三种编译方式:热编译、从Visual Studio(VS)运行和命令行编译。

       1. 热编译(Hot reload)

       热编译是最基础的方法,通过VS修改代码后,回到UE引擎编译。优点是操作简单,但偶尔会出现问题。步骤如下:

       在VS中修改并保存代码。

       在UE引擎中,点击 Compile,查看编译进度。

       2. 从VS运行(推荐)

       推荐的方式是从VS运行,编译稳定且支持调试。步骤包括:

       修改代码后保存。

       使用F5启动本地调试器或快捷键,等待编译完成并自动打开虚幻引擎。

       修改后重新启动,引擎会在编译后自动关闭并重启,节省时间。

       使用 Detach All 保持引擎不关闭。

       3. 命令行编译

       对于高级用户,命令行编译提供更大的灵活性,如快速重复上一条命令。具体步骤如下:

       通过Project Launcher设置编译配置,选择DebugGame和WindowsNoEditor。

       复制并修改RunUAT.bat文件的内容,保存为bat文件后,在命令行运行。

       优势在于便于重复命令和定时执行。

为什么unreal虚幻引擎源码编译如此慢,有方法改进吗?

       为何虚幻引擎源码编译过程缓慢?确实,许多开发者在使用虚幻引擎时,会遇到编译时间过长的问题,这可能对项目进度造成影响。幸运的是,存在多种策略帮助优化编译速度。首先,考虑使用IncrediBuild、FastBuild或Horde等工具,它们能显著提升编译效率。请确保所购买的许可证支持当前处理器的核心数量,否则加速效果受限。

       其次,性能卓越的CPU是关键。选择高性能CPU将直接影响编译速度。请注意,CPU的性能直接影响编译加速效果,购买CPU时,务必检查与当前硬件匹配的许可证类型。

       将引擎源码与项目放入固态硬盘能显著提升读取和写入速度,加速编译过程。SSD的高速性能可极大地减少编译时间,提高开发效率。

       第三,禁用项目中不必要的插件也能有效缩短编译时间。每个插件都会增加编译负担,因此,精简配置能提高编译效率。

       在Windows 操作系统下,遇到使用小核而非大核的情况时,可以尝试使用Process Lasso工具。此工具有助于调整CPU使用策略,确保大核得到充分利用。然而,在Windows 系统上,这一问题通常不会出现。

       综上所述,通过优化硬件选择、利用编译加速工具、改进项目配置以及合理管理CPU使用策略,开发者可以有效提升虚幻引擎源码的编译速度,从而加速项目开发进程。

Lua的编译和反编译

       无论是Unity项目还是Unreal的项目,我通常会使用Lua进行编程。在项目打包阶段,Lua的编译和反编译是不可或缺的步骤。在本文中,我们将探讨如何对Lua代码进行编译与反编译,以及如何利用不同的工具进行操作。

       对于Lua代码的编译,我们通常有两种方法。一种是使用lua脚本直接运行代码,另一种是使用Lua的编译器(如Luac)将源代码转换为Lua字节码。通过使用指令`lua ./TestLua.lua`,我们可以测试代码的正确性。Luac是将Lua源代码编译为Lua字节码的工具,编译成功后,我们可以通过运行编译后的字节码来验证结果,一切顺利。

       另一种流行的Lua编译器是Luajit,它在Unity项目中被广泛使用。使用Luajit可以提升执行速度。如果遇到编译错误,只需确保将`luajit\src\src\jit`文件放在`luajit.exe`的同一目录下的`lua`文件夹中即可。通过直接运行包含测试代码的Lua文件,我们可以确认编译和运行的流程是正确的。

       在对比了两种编译方法后,我们发现它们都有各自的特点和适用场景。Luac适用于简单的脚本或对代码优化要求不高的情况,而Luajit则更适合需要高性能的项目,特别是那些对运行速度有较高要求的场景。

       对于Lua的反编译,最常用的工具是`luadec`。通过将`luadec`工具与Visual Studio项目进行集成,我们能够对编译后的字节码进行反编译,恢复源代码。在尝试反编译后,我们得到了清晰可读的代码,即使在不使用调试信息的情况下,反编译结果也具有一定的可读性。

       对于更复杂的反编译需求,如支持位字节码的反编译,我们遇到了一些挑战。目前,有一个名为`ljd`的工具支持位字节码的反编译,但仅限于位平台。对于位平台的字节码,我们可能需要自行修改`ljd`的Python代码来支持,这是一个需要时间和专业知识的额外工作。尽管如此,对于大部分应用场景,上述工具已经足够满足我们的需求。

       总之,Lua的编译和反编译是Lua项目开发过程中的重要环节。通过选择合适的编译工具和反编译方法,可以有效提升代码的执行效率和调试效率。同时,对于反编译过程,我们应根据实际需求选择合适的工具,并注意其适用的平台和特性。

UE4学习笔记(1):UE源码下载编译+安卓打包

       注:该笔记以UE4..2在windows平台为例,vs版本为

       1.关联github和Epic账户

       要在github上获取UE4源码需要先关联账户,否则找不到源码,网页

       按照官网提供流程即可完成 GitHub上的虚幻引擎 - Unreal Engine

       记得确认邮件,否则还是(当初就是忘记了,卡了好一会儿)

       2.下载UE4源码

       在 Releases · EpicGames/UnrealEngine (github.com)中选择自己需要的版本(我使用的是4..2),这步很简单,但需要注意的是还需要将Commit.gitdeps.xml文件也一并下载,用于替换同名文件(有些版本则没有这样的文件),不替换的话后续会报错(之后步骤中会提到)

       解压后目录如下:

       3.执行bat文件

       (1)点击运行setup.bat,没有替换Commit.gitdeps.xml文件可能会出现如下问题:

       (2)点击运行GenerateProjectFiles.bat,此过程可能会出现如下问题:

       未找到框架 .NETFramework Version=v4.6.2

       只需要在VS Installer中选中安装就行:

       完成后会生成UE4.sln文件

       4.生成

       VS打开UE4.sln,开始生成:

       但是生成过程中我出现了这样的问题:

       UE4 fatal error C: 编译器限制: 达到内部堆限制

       error C: 超过了 PCH 的虚拟内存范围问题解决

       我出现这样问题的原因是我的C盘空间不够大(分区的时候给的比较少),托管系统设置在C盘,导致无法分配足够的虚拟内存,设置为空间足够的盘即可。

       步骤:电脑->属性->高级系统设置->高级->性能设置->高级->更改

       OK,成功编译完成

       5.安卓打包

       该过程有官方文档,并且比较繁琐,直接给出链接:

       设置虚幻的Android SDK和NDK | 虚幻引擎文档 (unrealengine.com)

       UE部署到Android以及杂症的解决 - 知乎 (zhihu.com)

       我就提一下自己遇到的问题,在UE4中进行安卓打包的时候遇到了这样的问题:

       原因在于SetupAndroid.bat中,SDK Platform的版本选择是,而在UE项目设置->平台 - Android SDK中的SDK API Levle默认选择latest。但是我安装AS的时候默认给我安装了最新的Android API (此时latest指向的是版本),导致冲突。解决方法是UE项目设置中手动设置指定版本,或者在AS中卸载高于版本的Android API。

       OK,打包成功!!!

       6.打开游戏

       但是,是的,还有但是(都最后一步了,还有问题OVO!!!),在手机上下载安装,打开后是这样的:

       原来是因为打包除了生成apk文件还生成了obb,至于Google Play Store Key应该就是一个密钥了。

       解决方法是在UE项目设置->Android中勾选“将游戏数据打包至.apk中”,我们可以看到对这个勾选项的解释:

       行,勾选后重新打包,成功运行:

Cesium for UE插件编译

       Cesium for Unreal作为Cesium Native的扩展,它构建在C++类库基础上,提供了强大的3D地理空间处理功能,如3D Tiles传输流、Gltf解码编码、精确的3D运算和地理坐标系统支持。因此,使用Cesium for Unreal前,先要编译Cesium Native,它还是其他渲染引擎插件的基石,如Cesium for Unity和Cesium for Omniverse等。

       自己编译和定制UE的Cesium插件需要一定的技术基础,主要包括:理解并修改C++代码的能力,尤其是基本的调试技巧;熟悉Visual Studio(VS)环境;掌握HTTP网络协议;具备UE插件开发知识,以及WebGIS的基本原理,包括理解WMTS协议和地图加载逻辑。虽然看起来要求较多,但通过逐步教程,这个过程其实并不复杂。

       两篇文章详尽地阐述了编译、打包和源码修改的步骤,成功实现在天地图或Geoserver的WMTS上加载。以下是相关的技术资源:

       无需关注公众号,直接获取编译教程内容即可。

Ubuntu.源码编译CARLA0.9.全过程记录

       本文详尽记录了在Ubuntu .上通过源码编译CARLA 0.9.的全过程,特别强调了Linux系统环境的配置以支持与ROS和Autoware的协同仿真,并且允许自定义场景和车辆配置。

       步骤一:系统基础配置

       首先,确保安装Ubuntu .并配置Nvidia显卡驱动,参考链接:win + Ubuntu . LTS 双系统安装(UEFI + GPT)。

       步骤二:安装依赖

       参考Linux build - CARLA Simulator -branch 0.9.,逐步安装必要的软件,如遇到下载问题,可考虑使用阿里源或新华源,推荐查阅:ubuntu安装软件依赖问题。

       步骤三:Unreal Engine 4. 安装与配置

       由于CARLA 0.9.以上版本使用UE4.,需先安装并编译。确保Github账户已与Unreal Engine账户关联,如需Personal Access Token,参考Github - 使用新的Personal Access Token进行仓库认证。

       步骤四:下载与编译CARLA

       从官方仓库下载CARLA源代码,更新时可能遇到官方资产Url变化,需修改Update.sh文件。编译过程中,PythonAPI部分网络需求较高,make launch可能需要设定UE4_ROOT环境变量,具体步骤见BuildCarlaUE4.sh。

       步骤五:运行测试

       在完成上述步骤后,进行测试并欢迎在评论区交流问题,如有任何疑问,欢迎留言。如果你对内容满意,请别忘了收藏和关注。

相关栏目:焦点