记一次UE4源码编译和游戏项目打包过程
1.首先我们需要注册一个Epic账户,网址如下
http://api.unrealengine.com/CHN/GettingStarted/Installation/index.html#bookmark1
2.创建GitHub账户
https://github.com/
3.登录UE4社区点击个人

进入到个人之后点击连接的账户,之后在下面填写我们GITHUB的昵称(用户名),注意这里不是邮箱地址


绑定成功后会受到一封Epic的邮件,通知我们绑定成功

4.重新登录GitHub验证我们的邮箱地址

5.点击验证按钮,成功后跳转到如下界面点击加入

6.之后进入到这个界面,点击UnrealEngine就可以下载到我们的源码了,这里建议选择release版本,为稳定版大小大概为200多M。


7.下载成功后我们会看到这样一个压缩包,解压之后运行startup.bat批处理文件


打开界面如下,打开之后默默等待自动下载完成即可,中途不用操作,如果发现速度为0好久不动了,可以关掉重新打开,之前下载的不会消失。大概14个G。

8.成功之后黑色对话框会自动关闭,然后我们点击GenerateProjectFiles.bat批处理文件,生成VS可执行的UE4.sln,生成之后的文件如图

9.安装vs studio2017(我这里是2019),安装时必须添加.NET4.6.2版本文件
10.生成UE4整个解决方案,编译我们的UE4源代码……静静等待编辑成功

如果没出现失败,代表全部编译成功。

11.找到引擎安装目录,按照如下路径找到UnrealVS调试插件,双击运行安装到VS2017中
UnrealEngine-release\Engine\Extras\UnrealVS\VS2017

12.复制UE4.natvis到VS2017目录下,首先找到文件所在目录:
该文件为批处理文件,但是需要手动复制到VS2017目录
UnrealEngine-release\Engine\Extras\VisualStudioDebugging

13.找到VS2017安装目录,打开如下目录将UE4.natvis拷贝到该目录下,可以在加断点的情况下,看到自定义变量当前的值。
Microsoft Visual Studio\2017\Community\Common7\Packages\Debugger\Visualizers

下面是游戏项目导入的过程
1.从UE4商城直接下载ACTIONRPG项目文件

注意路径必须全中文,这点很重要
下载后在UE4中导入项目文件


接下来就可以在UE4编辑器中编辑游戏了
andriod打包
需要
1.JDK
2.AndroidNDK
3.AndroidSDK
4.gradle(UE4打包时会自行下载5.4.1,但是5.4.1版本的gradle根本无法打包成功,这里用6.7版本进行替换)
接下来在


配置路径
然后进行打包操作,这里

根据安卓手机GPU不同编译不同的版本,第一个是适配所有版本,打包时间最长
接下来就是漫长的打包时间...
附加几个坑:
问题一:
当控制台出现这种报错时
UATHelper: Packaging (Android (ETC1)): ERROR: cmd.exe failed with args /c "D:\Android_TEST\MyProject\Intermediate/Android/APK\gradle\rungradle.bat" :app:assembleDebug”
第一步:
先查看项目设置->Android SDK中的SDK路径是否正确
第二步 :
检查Android->APK Packaging中是否配置Android平台
第三步:
取消勾选Enable Gradle instead of Ant
问题二:
打包后启动出现
No obb found or store key to try download
解决方法:
勾选Package game data inside .apk?
记一次UE4源码编译和游戏项目打包过程的更多相关文章
- Linux学习日记——源码编译Apache
[本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...
- UE4源码版食用要记
UE4源码版和预编译版不能共享工程,这和插件版是一样的. 一般来说我都是在VS中生成编辑器,于编辑器中添加新类,VS中编辑代码. 编译引擎的时候编译配置使用的是devepolmenteditor.开发 ...
- 记一次在mac上源码编译curl,使其支持NSS的过程
一.背景 在一次学习https原理的过程中,希望客户端指定特定的cipher suites来抓包分析SSL/TLS的握手过程,就想到了使用curl工具,而不是使用浏览器. 接下来使用man curl找 ...
- 有关android源码编译的几个问题
项目用到编译环境,与源码有些差异不能照搬,关键是连源码都没编译过,下面基本上是行网上照的各种自学成才的分享,病急乱投医了,都记在下面作为参照吧. 1.验证是否编译正确,在终端执行 emulator & ...
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- Zabbix 源码编译安装
简介: Zabbix 分布式监控系统,源码编译安装记录 ( 记不得是第多少次了 ) 下载地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX ...
- 听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译
源码学习第一步,Spring源码编译 之所以写这么一篇文章是因为群里的小伙伴在编译源码时碰到了问题,再加上笔者自身正准备做一个源码的注释版本,恰好也需要重新编译一份代码,至于为什么要将源码编译到本地就 ...
- centos7源码编译安装lamp/lnmp
centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...
- Android 5.0源码编译问题
如果是自己通过repo和git直接从google官网上download的源码,请忽略这个问题,但是由于google在国内被限制登录,通过这一种方法不是每个人都能download下来源码,通常的做法就是 ...
随机推荐
- 分布式文档存储数据库之MongoDB访问控制
上一篇博客主要聊了下mongodb的分片机制以及分片集群的搭建,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13958295.html:今天我们来了解下mon ...
- 3 jinja2模板
video17 jinja2过滤器 过滤器通过管道符号进行使用.如{{ name | length }}将返回name的长度,过滤器相当于是一个函数. 1 def hello_world(): 2 i ...
- 14Flask重要知识
一,李辉<Flask Web开发实战> 1,内网穿透 内网穿透工具可以快速让flask项目运行: 1,https://localtunnel.github.io/www/ 2,https: ...
- Mon失效处理方法
假设环境为三个mon,主机名为mon1.mon2.mon3,现在mon3上面的系统盘损坏,mon的数据完全丢失,现在需要对mon3进行恢复处理 1.停止所有mon进程,可以不停其他进程,需要停止内核客 ...
- tcp黏包问题与udp为什么不黏包
1.先说下subprocess模块的用法,为了举个黏包的例子 # 通过一个例子 来认识网络编程中的一个重要的概念 # 所有的客户端执行server端下发的指令,执行完毕后,客户端将执行结果给返回给服务 ...
- 学会网页制作,web app开发,必须先从语法基础开始学习
做软件开发,是从事编程开发工作,必须先从语法基础开始学习,通过语法组成产品效果. 前端开发的基础语法,由HTML+CSS+JavaScript组成,这是前端开发最基本的3个语言. ...
- 网站滑到指定的位置给div添加动画效果
<!DOCTYPE html> <html> <head> <style> .anim-show { width:100px; height:100px ...
- Mac下载工具folx如何下载常用的软件
最近,多档综艺节目都开展得如火如荼,比如<中国新说唱>.<这就是街舞>等深受年轻人喜欢的综艺节目.虽然手机端也可观看,但可以的话,当然是使用电脑屏幕观看节目比较过瘾. 接下来, ...
- Boom 3D的保真度是什么,如何应用
Boom 3D是一款非常优秀的3D音频软件,拥有3D音效.环境模式.空间模式.夜间模式.保真度等多种音效模式,可以为用户提供多种音效体验感. 第一.什么是保真度 或许第一次接触音频软件的朋友就会问到什 ...
- 错误原因:因为desc是mysql里面的关键字
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check ...