UE5学习笔记(1)——从源码开始编译安装UE5

news2024/11/25 0:25:05

目录

  • 0. 前期准备
  • 1. Git bash here
  • 2. 克隆官方源码。
  • 3. 选择安装分支
  • 4. 运行Setup.bat,下载依赖文件
  • 5. 运行GenerateProjectFiles.bat生成工程文件
  • 6. 生成完成,找到UE5.sln/UE4.sln
  • 7. 大功告成

0. 前期准备

0.1 在windows的话,建议装一个Git bash,同时还要有自己的github账号,注册github账号这里就不再赘述了,安装git bash后,设置自己的github账号。或者在windows装一个WSL。
0.2 把自己的github账号关联Epic官方,必须关联之后才能下载Unreal的源码。关联方式见官方教程
0.3 安装VS 2022,这里推荐2022,如果是想装5.2的话,就要2022,想装4的话也可以VS2019,在安装中选择要开发的内容,这里也是跟着官方的推荐就好。官方教程,不想看英语的小伙伴也可以右上角换成中文。

1. Git bash here

在准备放代码的文件夹下右键,选择Git bash here,会打开gitbash的窗口。推荐这里在固态硬盘里进行操作,建议固态最少最少要有300G的空闲空间。可以自己新建一个目录,也可以在bash窗口里mkdir创建目录。

2. 克隆官方源码。

可以先去浏览器中进入unreal的github首页,https://github.com/EpicGames/UnrealEngine,可以看到左边的分支默认是release,且是最新的,暂时先不用考虑版本问题,因为源码下下来的时候都一样。
在bash命令中,
git clone https://github.com/EpicGames/UnrealEngine
在这里插入图片描述
源码有20多G,慢慢等。
如果clone的时候太慢,或者直接没速度,建议科学上网,并在host文件里加上下面这行

13.226.17.97 cdn.unrealengine.com

在这里插入图片描述

3. 选择安装分支

进过漫长的等待,终于下载完了,进入目录

cd UnrealEngine

这里就要选择安装版本了,根据某老师的推荐,要安装UE5的话就装5.2,要UE4的话就4.27,我们需要切换到对应的版本的分支上进行安装。使用git checkout或者git switch命令来切换,如果你使用较新的git,那推荐选择switch命令,switch和checkout都能切换分支,他们的区别可以参考这篇文章。这里以5.2为例

git switch 5.2.1-release

4. 运行Setup.bat,下载依赖文件

bat是windows的批处理文件,所以不能直接在bash里运行setup.bat这个命令,要么就打开win的命令行窗口,进入相同的目录,再执行Setup.bat,要么就在bash里,通过直接执行cmd也可以。

cmd.exe /c Setup.bat --threads=200

在这里插入图片描述

5. 运行GenerateProjectFiles.bat生成工程文件

同上,要么在cmd里运行,要么在bash里运行。等待它慢慢完成。
在这里插入图片描述

6. 生成完成,找到UE5.sln/UE4.sln

在当前目录下,会生成UE5.sln,它是VS的工程项目文件,双击打开,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在左上方的解决方案配置那里选择下拉,选择开发者编辑器(Developer Editor)右边的解决方案平台选择Win64。
然后就可以在解决方案中右键UE5,选择Build(生成/构建)
在这里插入图片描述
开始编译,这里要编译6000多个文件,还是很耗时的,这就考验CPU的时候了,核多的CPU就有优势了,我的只是个8700,用了两个多小时。
在这里插入图片描述
不出意外的话,编译完成后就是这样。
在这里插入图片描述
然后就可以在UnrealEngine\Engine\Binaries\Win64目录下面看到UnrealEditor了。

在这里插入图片描述

7. 大功告成

到了这里,基本就算是安装完了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1015288.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot的驾校管理系统

基于SpringBootVue的驾校管理系统、前后端分离 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色:管理员、用户、教练 管理员&#x…

Python 可迭代对象、迭代器、生成器

可迭代对象 定义 在Python的任意对象中,只要它定义了可以返回一个迭代器的 __iter__ 魔法方法,或者定义了可以支持下标索引的 __getitem__ 方法,那么它就是一个可迭代对象,通俗的说就是可以通过 for 循环遍历了。Python 原生的列…

(手撕)数据结构--->堆

文章内容 目录 一:堆的相关概念与结构 二:堆的代码实现与重要接口代码讲解 让我们一起来学习:一种特殊的数据结构吧!!!! 一:堆的相关概念与结构 在前面我们已经简单的学习过了二叉树的链式存储结…

城市管网污水监测方案,科技助力污水排放管理!

根据《国务院办公厅关于加强入河入海排污口监督管理工作的实施意见》各地要明确“水污染,谁治理”和政府兜底的原则,明确排污主体责任。根据排污口类型集中整治,划分主体。加大私设暗管借道排污的监察力度溯源主体责任。加强科技研发&#xf…

【数据结构】C++实现AVL平衡树

文章目录 1.AVL树的概念2.AVL树的实现AVL树结点的定义AVL树的插入AVL树的旋转左单旋右单旋左右双旋右左双旋插入代码 AVL树的验证AVL树的查找AVL树的修改AVL树的删除AVL树的性能 AVL树的代码测试 1.AVL树的概念 二叉搜索树虽然可以提高我们查找数据的效率,但如果插…

计网第四章(网络层)(八)(最短路径优先协议OSPF)

在第七节(计网第四章(网络层)(七)_永无魇足的博客-CSDN博客)我们总结了路由信息协议RIP。在最后我们提到了RIP协议有坏消息传的慢的问题,这是距离向量算法的本质决定的,所以这种问题…

c语言练习59:深入理解char类型的取值范围

深入理解char类型的取值范围 例如&#xff1a; #include <stdio.h> int main() {char a[1000];int i;for(i0; i<1000; i){a[i] -1-i;}printf("%d",strlen(a));return 0; }结果为255 ab以%d的形式打印结果为&#xff1a;300 而c由于unsigned char的取值范…

【CMU15-445 Part-9】Multi-Threaded Index Concurrency Control

Part09-Multi-Threaded Index Concurrency Control 多线程下索引的并发控制 Concurrency Control 强制所有访问数据结构的线程都使用某种协议或者某种方式。并发控制协议的概念&#xff1a;并发控制协议是一种当并发操作作用在一个共享对象上时DBMS用来确保correct的method。…

【杂记】git管理工具的相关应用

这里记录一些用git管理工具进行开发的命令&#xff0c;便于自己查看&#xff0c;我认为下面两篇博客写的很详细&#xff0c;但是为了自己方便查看&#xff0c;所以自己写了一些命令供自己进一步理解。gitee相对git来说更方便一些&#xff08;毕竟国内的不用担心墙&#xff09;&…

JavaEE 网络原理——TCP的工作机制(初篇 包含 UDP 协议的再次阐述)

文章目录 一、再次简述 UDP 协议二、再次简述 TCP 协议三、描述部分 TCP 内部的工作机制1. 确认应答2. 超时重传 前提&#xff1a; 在前面的文章中&#xff0c;我向大家分别简单介绍了 TCP 协议和 UDP 包装一个数据形成数据报发送信息。 除此之外&#xff0c;还通过代码编写了 …

QT中摄像头的使用

QT中摄像头相关类 摄像头的使用 QT中摄像头的使用主要分为三个方面&#xff0c;显示画面、抓取图片和视频录制。这三个方面对应着摄像模块的三种模式。模式如下&#xff1a; ConstantValueDescriptionQCamera::CaptureViewfinder0相机仅配置为显示取景器。QCamera::CaptureSt…

React入门

一、react开始 1、react是什么 用于构建用户界面的JavaScript库 操作DOM呈现页面 &#xff08;发送请求获取数据和处理数据不由react处理&#xff09;fessbook开发 2、为什么要学 原生js操作DOM繁琐、效率低 使用原生js直接操作DOM&#xff0c;浏览器会进行大量重绘重排 原…

计算机视觉面试题整理

1、介绍目标检测网络yolo系列以及ssd系列的原理&#xff0c;yolo对小目标检测不好的原因&#xff0c;除了缩小anchor外还可以如何改善&#xff1f; Yolo目标检测&#xff1a;YOLO是一种实时目标检测算法&#xff0c;其核心思想是将目标检测问题归为一个回归问题&#xff0c;直…

Android毕业设计,基于Android 语音朗读书籍管理系统

视频演示&#xff1a; 基于Android 语音朗读书籍管理系统 基于 Android 的语音朗读书籍管理系统可以提供用户管理书籍、朗读书籍的功能。以下是一个简单的步骤和功能列表&#xff1a; 用户注册和登录功能&#xff1a; 用户可以注册新账号或使用现有账号登录系统。用户信息可以包…

【rust/egui】(十一)使用rfd选择文件并使用serde_json进行序列化

说在前面 rust新手&#xff0c;egui没啥找到啥教程&#xff0c;这里自己记录下学习过程环境&#xff1a;windows11 22H2rust版本&#xff1a;rustc 1.71.1egui版本&#xff1a;0.22.0eframe版本&#xff1a;0.22.0上一篇&#xff1a;这里 rfd-Rusty File Dialogs 一个跨平台的…

只需3步部署Django项目到Kubernetes上

1. 目标 本文讲述了如何通过3步&#xff0c;把Django项目部署在K8S上。 本文适用读者&#xff1a; 了解Django项目的开发。了解K8S的用途。 2. 具体步骤 把一个Django项目部署在Kubernete环境上&#xff0c;只需以下3步&#xff1a; 创建镜像部署在Kubernetes环境上配置MyS…

linux命令查看谁在使用服务器的GPU

命令&#xff1a;查看GPU使用情况 nvidia-smi 可以知悉GPU占用情况和主要使用GPU的进程&#xff0c;如下图所示&#xff1a; 实时查看gpu使用&#xff1a; nvidia-smi -l 1 表示每隔1s刷新一下&#xff0c;数字可更改。 查看进程的归属者 方法一&#xff1a;ps -f -p pid…

360极速浏览器X终极奥义之——更改划词工具条的搜索为百度搜索 2023更新版

原文为2019版本&#xff0c;具体已失效&#xff0c;2023更新。 1.需要将 https://www.so.com/s?q%s&src360csex_zoned字符串对应的十六进制码替换为 https://www.baidu.com/s?wd%s&src360csex_z对应的十六进制码。 2.需要删除后面的"oned"以保证转换出来…

冒泡排序~

1、对应长度len 数组&#xff0c;需要进行 len -1 趟冒泡&#xff0c;每趟冒泡&#xff0c;将最大&#xff08;小&#xff09;元素排列到最后无序位置 2、每趟冒泡从第一个元素开始&#xff0c;邻近两两比较&#xff0c;找出最大元素 每一趟冒泡&#xff0c;都进行元素交换&am…

基于频谱信息的图像去噪与恢复——使用约束最小二乘方滤波法

大家好&#xff0c;我是带我去滑雪&#xff01; 随着科学技术的不断发展&#xff0c;信息的交流和获取已不再受到时空的限制&#xff0c;已经成为人们日常生活中不可或缺的一部分。图像作为人类信息交流中的重要载体&#xff0c;起着不可替代的作用。频谱图像去噪复原方法是一种…