在个人的Unrealengine账户中关联自己的GitHub账户成功之后,就可以访问UE4引擎的源码了。

git clone -b release https://github.com/EpicGames/UnrealEngine.git

克隆成功后,执行Setup.bat拉取并安装外部依赖文件(第三方库、资源包、示例工程等),最后调用UnrealVersionSelector添加引擎到注册表并在资源管理器中添加引擎快捷菜单功能

"%EngineDir%\Engine\Binaries\Win64\UnrealVersionSelector-Win64-Shipping.exe" /register

若需要设置代理可以传入相应参数来执行Setup.bat脚本 // Setup.bat会调用Engine\Binaries\DotNET\GitDependencies.exe工具来获取依赖文件

Setup.bat --proxy="http://10.125.224.93:8082" --force --exclude=Win32

注:如果是UE4.22版本,需要安装.net framework 4.6.2,安装完后在控制面板卸载列表中会有如下软件列表:

执行GenerateProjectFiles.bat生成UE4相关工程,生成的vs工程文件在Engine\Intermediate\ProjectFiles目录中

双击UE4.sln,开始编译相关工具和引擎  // 编译的中间文件生成在EngineSource\Engine\Intermediate\Build目录中

编译UnrealBuildTool

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe" "%EngineDir%\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj" /t:build /p:Configuration=Development;Platform=AnyCPU;TargetFrameworkVersion=v4.5

编译引擎工具

"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" ShaderCompileWorker Win64 Development -waitmutex -FromMsBuild -DEPLOY"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" UnrealLightmass Win64 Development -waitmutex -FromMsBuild -DEPLOY"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" UnrealIdentifierRegister Win64 Development -waitmutex -FromMsBuild -DEPLOY"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" UnrealVersionSelector Win64 Development -waitmutex -FromMsBuild -DEPLOY

使用UnrealVersionSelector添加引擎到注册表并在资源管理器上下文菜单中添加引擎快捷功能

"%EngineDir%\Engine\Binaries\DotNET\UnrealVersionSelector.exe" /register

1. 对uproject文件进行右键菜单注册

2. 注册uproject文件所用的引擎路径

编译引擎和项目

编译Development版本的UE4引擎  // 会在%EngineDir%\Binaries\Win64和%EngineDir%\Plugins\*\···\*\Binaries\Win64目录中生成引擎UE4Editor.exe、核心dll模块和引擎插件dll

"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" UE4Editor Win64 Development -waitmutex -FromMsBuild -DEPLOY

生成项目MyGame的vs项目工程文件  // 工程文件会生成到"%GameDir%\Intermediate\ProjectFiles"目录中

"%EngineDir%\Engine\Binaries\Win64\UnrealVersionSelector.exe" /projectfiles "%GameDir%\MyGame.uproject"

编译项目MyGame项目的Development版本  // 会在%GameDir%\Binaries\Win64和%GameDir%\Plugins\*\···\*\Binaries\Win64目录中生成项目dll和项目插件dll

"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" MyGameEditor Win64 Development "%GameDir%\MyGame.uproject" -waitmutex -FromMsBuild -DEPLOY

编译单个c/cpp文件

"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe"  MyGameEditor Win64 Development "%GameDir%\MyGame.uproject" -singlefile="%GameDir%\Source\MyGame\MyGameCharacter.cpp" -WaitMutex -FromMsBuild -DEPLOY

编译单个模块

"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" -Module=MyGame Win64 Development -TargetType=Editor -Project="%GameDir%\MyGame.uproject" -canskiplink "%GameDir%\MyGame.uproject"

编译单个引擎模块

"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" -Module=Engine Win64 Development -TargetType=Editor -Project="%GameDir%\MyGame.uproject" -canskiplink -nosharedpch "%GameDir%\MyGame.uproject"

编译多个模块

"%EngineDir%\Engine\Binaries\DotNET\UnrealBuildTool.exe" -Module=MyCommon -Module=MyGame Win64 Development -TargetType=Editor -Project="%GameDir%\MyGame.uproject" -canskiplink "%GameDir%\MyGame.uproject" 

一些技巧

(1)去掉UE4和游戏工程的所有Depends(工程右键菜单 -- Build Dependencies -- Project Dependencies ...),手动编译各个工程,防止修改一个工程后,引发依赖该工程发生重编译

(2)编译时不要用满所有cpu的核,否则计算机会非常卡,基本无法进行其他工作

在BuildConfiguration.xml中进行配置,将MaxProcessorCount设置成7(我本机是8核cpu)

<?xml version="1.0" encoding="utf-8" ?><Configuration xmlns="https://www.unrealengine.com/BuildConfiguration"><ParallelExecutor><MaxProcessorCount>7</MaxProcessorCount></ParallelExecutor></Configuration>

BuildConfiguration.xml会按照下面路径的顺序来进行查找来加载   更多信息详见:Build Configuration

① 引擎工程:Engine/Saved/UnrealBuildTool/BuildConfiguration.xml
  ② <User Folder>/AppData/Roaming/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
  ③ <My Documents>/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml

(3)从vs直接运行或调试运行UE时,不要进行任何编译行为

运行引擎和项目

启动引擎编辑器

"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe" -skipcompile

启动项目编辑器

"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe"  "%GameDir%\MyGame.uproject" -skipcompile

单机启动游戏单机

"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe"  "%GameDir%\MyGame.uproject" TestMap_Main -game -skipcompile

启动本地ds

"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe"  "%GameDir%\MyGame.uproject" TestMap_Main -game -server -log -skipcompile

启动游戏并联网加入本地ds

"%EngineDir%/Engine/Binaries/Win64/UE4Editor.exe"  "%GameDir%\MyGame.uproject" 127.0.0.1 -game -skipcompile

版本打包

① win64 -- Development版本包  会输出到%Win64Dir%\WindowsNoEditor目录中

%EngineDir%\Engine\Build\BatchFiles\RunUAT.bat -ScriptsForProject=%GameDir%\MyGame.uproject BuildCookRun -project=%GameDir%\MyGame.uproject -targetplatform=Win64 -clientconfig=Development -ue4exe=UE4Editor-Cmd.exe -noP4 -iterate -cook -pak -package -stage -archive -archivedirectory=%Win64Dir% -nocompileeditor -prereqs -nodebuginfo -build -CrashReporter -utf8output -compressed

② Android -- Debug版本包  会输出到%ApkDir%\Android_ETC2目录中    windows下安装Android构建环境

%EngineDir%\Engine\Build\BatchFiles\RunUAT.bat -ScriptsForProject=%GameDir%\MyGame.uproject BuildCookRun -nocompileeditor -nop4 -iterate -project=%GameDir%\MyGame.uproject -cook -stage -archive -archivedirectory=%ApkDir% -package -clientconfig=Debug -ue4exe=UE4Editor-Cmd.exe -compressed -pak -prereqs -nodebuginfo -targetplatform=Android -cookflavor=ETC2 -build -distribution -utf8output -compile

③ iOS -- Debug版本包  会输出到${IpaDir}/IOS目录中    注:设置DefaultGame.ini中[/Script/UnrealEd.ProjectPackagingSettings]标签下的BuildConfiguration=PPBC_Debug

${%EngineDir%}/Engine/Build/BatchFiles/RunUAT.sh -ScriptsForProject=${GameDir}/MyGame.uproject BuildCookRun -nocompileeditor -nop4 -project=${GameDir}/MyGame.uproject -cook -stage -archive -archivedirectory=${IpaDir} -package -clientconfig=Debug -ue4exe=UE4Editor -compressed -pak -prereqs -nodebuginfo -targetplatform=IOS -build -manifests -CrashReporter -utf8output -compile

④ Linux ds -- Debug版本包  会输出到${LinuxDir}目录中

${%EngineDir%}/Engine/Build/BatchFiles/RunUAT.sh BuildCookRun -project=${GameDir}/MyGame.uproject -build -cook -pak -stage -archive -archivedirectory=${LinuxDir} -package -serverconfig=Debug -server -noclient -targetplatform=Linux -ue4exe=UE4Editor -prereqs -nop4 -utf8output

其他

清理Development版本的UE4引擎

"%EngineDir%\Engine\Build\BatchFiles\Clean.bat" UE4Editor Win64 Development -waitmutex

清理Development版本的MyGame项目

"%EngineDir%\Engine\Build\BatchFiles\Clean.bat" MyGameEditor Win64 Development "%GameDir%\MyGame.uproject" -waitmutex

为MyGame项目的TestMap_Main地图构建光照

"%EngineDir%\Engine\Build\BatchFiles\RunUAT.bat" RebuildLightmaps -project=%GameDir%\MyGame.uproject -MapsToRebuildLightMaps=TestMap_Main

找不到XINPUT1_3.dll

安装引擎目录下Engine\Extras\Redist\en-us\UE4PrereqSetup_x64.exe

关于解决方案的Configuration

1. Debug 游戏模块和引擎模块均开启调试模式

2. DebugGame  游戏模块开启调试模式,引擎模板开启优化

3. Development  游戏模块和引擎模块均开启优化

4. Shipping 发行版本(会去掉所有编辑器功能、stat统计以及GM命令等)游戏模块和引擎模块均开启优化

5. 带Editor表示为编辑器版本(含有很多编辑器相关的功能)

6. 带Client表示为客户端版本

7. 带Server表示为服务器版本

转载于:https://www.cnblogs.com/kekec/p/8684068.html

UE4游戏开发基础命令相关推荐

  1. UDK游戏开发基础命令

    编译 增量重新编译Debug版本UnrealScript脚本     UDK.exe make -debug 增量重新编译Release版本UnrealScript脚本    UDK.exe make ...

  2. Unity2D游戏开发基础教程1.2项目、资源和场景

    Unity2D游戏开发基础教程1.2项目.资源和场景 如果使用Unity制作游戏,就一定会接触到项目(Project.资源(Asset)和场景(Scene).本节将依次介绍它们. 1.2.1  项目 ...

  3. Unity2D游戏开发基础教程1.2 项目、资源和场景

    Unity2D游戏开发基础教程1.2 项目.资源和场景 如果使用Unity制作游戏,就一定会接触到项目(Project.资源(Asset)和场景(Scene).本节将依次介绍它们. 1.2.1  项目 ...

  4. 虚幻引擎C++编程游戏开发基础

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:23.8 GB |时长:44h 59m ...

  5. Android游戏开发基础part2--Canvas画布

    游戏开发基础part2--Canvas画布 又过了一周才继续做总结,四级结束了,应该可以多点时间学习游戏编程了. Canvas画布类是一个在游戏当中担当非常重要的角色,它可以绘制出不同的图形和图片,可 ...

  6. 【读书笔记《Android游戏编程之从零开始》】16.游戏开发基础(动画)

    1. Animation动画 在Android 中,系统提供了动画类 Animation ,其中又分为四种动画效果: ● AlphaAnimation:透明度渐变动画 ● ScaleAnimation ...

  7. os-cocos2d游戏开发基础-进度条-开发笔记

     os-cocos2d游戏开发基础-进度条-开发笔记(十)   ios-cocos2d游戏开发基础-游戏音效-开发笔记(九)       ios-cocos2d游戏开发基础-CCLayer和Touch ...

  8. Unity4.x 2D游戏开发基础教程第1章Unity及其组成的介绍

    Unity4.x 2D游戏开发基础教程第1章Unity及其组成的介绍 本书主要讲解的是,如何使用Unity开发2D游戏.但在开始讲解之前,最好先熟悉一下Unity这个工具.本章会首先介绍Unity的下 ...

  9. Unity 4.x 2D游戏开发基础教程大学霸第一更

    Unity 4.x 2D游戏开发基础教程 大学霸 第1章  Unity及其组成的介绍 本书主要讲解的是,如何使用Unity开发2D游戏.但在开始讲解之前,最好先熟悉一下Unity这个工具.本章会首先介 ...

最新文章

  1. 【转帖】Reporting Service rdl报表,在aspx页面显示一张完整的RDL报表
  2. 谨慎使用JUnit的预期异常
  3. php io流 读取wav,记php中的io流---帮助理解
  4. 在Oracle中添加用户登录名称
  5. javascript中的变量如果没有定义就使用的话
  6. 解决部分控件,自动获取焦点的情况
  7. [转载] R语言read.table函数
  8. winform 显示控件层级关系
  9. 数据结构(二):线性表的使用原则以及链表的应用-稀疏矩阵的三元组表示
  10. com.android.htcdialer+意外停止+htc,HTC刷机为什么会变砖 HTC刷机变砖修复方法介绍【教程】...
  11. ecplise插入图片太大_PPT文件太大?100M的PPT一秒变18M,这个压缩方法实在绝了
  12. 软件功能性测试方法和流程
  13. Python 名称空间以及函数的补充
  14. 蒟蒻的网络流24题解题记
  15. PowerPoint基础操作-PowerPoint学习记录-8.1/2/3/4
  16. 翻译:《JavaScript 权威指南(第5版)》第一章(一)
  17. 连载26:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
  18. 淘宝开店怎么做运营?
  19. 机器学习之理解Bias-Variance Tradeoff
  20. PHP接口(interface)的特点

热门文章

  1. Jeson nano + 思岚激光雷达rplidar_s1 + ubuntu18.04
  2. 【Linux】一步一步学Linux——curl命令(193)
  3. 【C++】 C++标准模板库(八) MultiMaps
  4. 【linux系统编程】进程间通信:信号中断处理
  5. 【Android】Activity的task相关
  6. h5 修改title 微信_微信公众号客服消息不限次数推送如何设置?
  7. 最新 Linux安装项目环境 mysql 完整教程 100%可行.附带所有教程
  8. Codeforces 1479A. Searching Local Minimum(注意输入+二分)
  9. 关于批量启动微服务的jar包_分布式任务抢占及系统监控服务 Radish
  10. HDU - 6625 three arrays (Trie+dfs)