虚幻4 使用脚本编译自己的工程

2023-10-27

工程文件

\Engine\Source\Programs\AutomationTool\AutomationTool_Mono.sln

    public static void Build(BuildCommand Command, ProjectParams Params, int WorkingCL = -1, ProjectBuildTargets TargetMask = ProjectBuildTargets.All)
	{
		Params.ValidateAndLog();

		if (!Params.Build)
		{
			return;
		}

		Log("********** BUILD COMMAND STARTED **********");

		var UE4Build = new UE4Build(Command);
		var Agenda = new UE4Build.BuildAgenda();
		var CrashReportPlatforms = new HashSet<UnrealTargetPlatform>();

		// Setup editor targets
		if (Params.HasEditorTargets && !Params.Rocket && (TargetMask & ProjectBuildTargets.Editor) == ProjectBuildTargets.Editor)
		{

编译工程运行的是这个脚本,看到了开始时候的那个BUILD COMMAND STARTED。

编译时候可以打开那个工程文件,附加到进程,就可以断点看传入的参数了。


CMD 到

UnrealEngine\Engine\Binaries\DotNET>

目录下,运行

AutomationTool.exe -help

linux mac应该是运行 mono AutomationTools.exe -help

会看到帮助信息,

AutomationTool.exe -list

可以列出所有可以用的功能。

  AnalyzeThirdPartyLibs
  BlameKeyword
  BuildCommonTools
  ZipProjectUp
  BuildCookRun
  BuildPlugin
  BuildThirdPartyLibs
  CodeSurgery
  UpdateCopyright
  FixupRedirects
  GenerateDSYM
  RebuildLightMaps
  IPhonePackager
  LauncherLocalization
  ListMobileDevices
  Localise
  MegaXGE
  TestP4_Info
  GitPullRequest
  TestFail
  TestSuccess
  TestMessage
  TestRecursion
  TestRecursionAuto
  TestMacZip
  TestP4_CreateChangelist
  TestP4_StrandCheckout
  TestP4_LabelDescription
  TestP4_ClientOps
  CleanDDC
  TestTestFarm
  TestArguments
  TestCombinePaths
  TestFileUtility
  TestLog
  TestChangeFileType
  TestGamePerf
  TestUATBuildProducts
  TestWatchdogTimer
  TestOSSCommands
  UBT
  ZeroEngineVersions
  SyncSource
  GenerateAutomationProject
  DumpBranch
  DebugSleep
  TestMcpConfigs
  TestBlame
  TestChanges
  TestKillAll
  TestCleanFormalBuilds
  TestStopProcess
  LookForOverlappingBuildProducts
  TestThreadedCopyFiles
  UE4BuildUtilDummyBuildCommand
  UnrealSyncList
  UnrealSync
  UpdateLocalVersion
  TestECJobErrorParse
  GUBP
  TestTempStorage

运行

AutomationTool.exe -help BuildCookRun

可以看到特定命令的帮助信息。可以自己写脚本去buid 或者cook,不用开编辑器了。



文件位置:
\Engine\Source\Editor\MainFrame\Private\Frame\MainFrameActions.cpp

void FMainFrameActionCallbacks::CreateUatTask( const FString& CommandLine, const FText& PlatformDisplayName, const FText& TaskName, const FText &TaskShortName, const FSlateBrush* TaskIcon )
{
	// make sure that the UAT batch file is in place
#if PLATFORM_WINDOWS
	FString RunUATScriptName = TEXT("RunUAT.bat");
	FString CmdExe = TEXT("cmd.exe");
#elif PLATFORM_LINUX
	FString RunUATScriptName = TEXT("RunUAT.sh");
	FString CmdExe = TEXT("/bin/bash");
#else
	FString RunUATScriptName = TEXT("RunUAT.command");
	FString CmdExe = TEXT("/bin/sh");
#endif

	FString UatPath = FPaths::ConvertRelativePathToFull(FPaths::EngineDir() / TEXT("Build/BatchFiles") / RunUATScriptName);
	FGameProjectGenerationModule& GameProjectModule = FModuleManager::LoadModuleChecked<FGameProjectGenerationModule>(TEXT("GameProjectGeneration"));

这个代码就是调用runuat的脚本,然后那个脚本再调用automationtool执行编译操作,可以在这里打断点看看到底打包特定平台时候调用了什么。












本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

虚幻4 使用脚本编译自己的工程 的相关文章

  • 虚幻4 使用脚本编译自己的工程

    工程文件 Engine Source Programs AutomationTool AutomationTool Mono sln public static void Build BuildCommand Command Project
  • UE4 控件蓝图与蓝图的交互

    我现在想实现的是点击场景中的一个蓝图中的某个静态网格体 然后在控件蓝图中的文本控件中就能显示这个被点击的静态网格体的名称 效果 步骤 首先我在控件蓝图中对其中的一个文本控件创建了一个绑定函数 绑定函数的逻辑如下 整车 内部无系统 是我添加的
  • UE4大数据可视化教程(1)——通过osm和shp数据批量生成城市和道路模型

    目录 通过OSM数据生成这个世界上的任意区域模型 配合blender插件生成批量城市和道路模型
  • UE4状态机

    1 准备一套带动作的模型 并导入UE4 2 新建一个动画蓝图 右键 gt Animation gt AnimationBlueprint 选择继承AnimationInstance 并选择相应的骨骼 命名HeroAnimation 3 双击
  • UE4之HTTP请求

    UE4中的HTTP模块封装了libcurl的HTTP功能 很容易实现HTTP下载和上传功能 代码如下 class FHttpRequestTest void Download const FString URL TSharedRef Htt
  • 12-控制Pawn类移动与调整视角 UE4 C++

    在上一节 11 控制Pawn类移动增加镜头摇臂 已经完成了Pawn的移动和镜头摇臂功能 本节继续增加移动镜头视角的功能 首先在MyPawn h中增加如下代码 void CameraPitch float Value 用于调整抬头低头 voi
  • UE4大数据可视化教程(21)——大屏云渲染通用像素流解决方案

    目录 项目打包前操作 复制信令服务器文件 快捷打开信令服务和启动项目 替换项目
  • UE4(虚幻4)基础:编辑样条曲线实现道路

    一 新建地形 在模式中点击山形状的图标会出现以下界面 下面那几个你可以自己随便调节一下看看都是干什么 都是可视化的东西 很简单 至于这个材质球 在你创建项目的时候如果是默认的 那么系统会默认给你添加新手包 找到StartContent这个文
  • UE4材质11_材质参数集

    11 1 参数集全局控制材质 创建材质参数集 MPC 材质参数集的前缀 材质参数集可以添加标量和向量 标量一般就是数字 向量就是颜色或者是X Y Z 一个材质最多只能使用两个材质参数集 11 2 蓝图传递参数集及实例参数 打开关卡蓝图 添加
  • 游戏开发UE4知识系列:流关卡与无缝地图切换

    参考 流关卡与无缝地图切换 官方文档 https docs unrealengine com zh CN Engine LevelStreaming index html
  • UE4学习日记——蓝图中的各种颜色代表什么

    节点类型颜色 白色 执行线 蓝色 调用的函数或事件 暗蓝色 结构体 草绿色 流程切换 绿色 纯函数 通常用于获取什么 青色 试着对象转换 紫色 函数定义 灰色 宏 红色 事件的定义 土黄色 时间轴 数据类型颜色 白色线条 执行线 程序的执行
  • UE4如何上传文件

    上传文件示例代码 InUrl为上传URL InFiles为本地文件路径的数组 Boundary为分隔符 用来分隔文件 其他地方不能出现该字符串 每个文件都以 r n Boundary r n 开始 即BeginBoundry 分隔符之后是文
  • UnrealEngine4初始设置及个人使用崩溃记录

    日志 1 第一次记录 2020 2 05 版本 4 24 2 UnrealEngine的初始设置 1 在Epic中下载UnrealEngine4之后 1 1 首先 启动 选项 1 2 接着 勾选 输入调试用符号 应用 以后出现新的崩溃问题
  • 【UE4 像素流 WEBUI插件】部署像素流

    目录 一 单实例本地像素流送 步骤 1 勾选插件 2 打包工程并启动信令服务器 3 创建快捷方式并启动游戏 二 单实例局域网像素流送 步骤 1 编辑cirrus js 2 编辑快捷方式属性 3 启动 三 集成WEBUI插件 一 单实例本地像
  • 【UE4】DataTable - 数据表

    本文使用 UE 4 26 引擎自带 ARPG 项目 从代码和编辑器两个方面记录一下 UE4 中的 DataTable 也就是数据表的用法 一 DataTable 是什么 DataTable 就是数据表 以下简称 DT 也就是二维的 M 行
  • 用虚幻4开发搭积木的VR游戏

    2016 年 9 月 23 24 日 由 CSDN 和创新工场联合主办的 MDCC 2016 移动开发者大会 中国 Mobile Developer Conference China 将在北京 国家会议中心召开 来自iOS Android
  • 【UE5】监控摄像头效果(下)

    目录 效果 步骤 一 多摄像机视角切换 二 摄像头自动旋转巡视 三 摄像头跟踪拍摄 效果 步骤 一 多摄像机视角切换 1 打开玩家控制器 MyPlayerController 添加一个变量 命名为 BP SecurityCameraArra
  • 【UE】在蓝图中修改材质实例的参数的两种方式

    目录 方式一 通过 在材质上设置标量 向量参数值 节点实现 方式二 通过 设置标量 向量参数值 节点实现 方式一 通过 在材质上设置标量 向量参数值 节点实现 1 在材质中设置了两个参数 2 创建材质实例 3 创建一个蓝图 对静态网格体赋予
  • 【UE5】监控摄像头效果(上)

    目录 效果 步骤 一 视角切换 二 摄像头画面后期处理 三 在场景中显示摄像头画面 效果 步骤 一 视角切换 1 新建一个Basic关卡 添加第三人称游戏资源到项目浏览器 2 新建一个Actor蓝图 这里命名为 BP SecurityCam
  • 【UE】制作地月全息投影

    效果 步骤 1 在必应国际版上搜索 purlin noise 下载如下所示图片 再搜索 Earth Map 下载如下所示图片 再搜索 Moon 360 下载如下所示图片 这三张图片的资源链接如下 链接 https pan baidu com

随机推荐

  • 《大型网站技术架构》序

    推荐序一 1 传统企业应用于大型网站应用的区别 传统的企业应用系统主要面对的技术挑战是处理复杂凌乱 干变万化的所谓业务逻辑 而大型网站主要面对的技术挑战是处理超大量的用户访问和海量的数据处理 前者的挑战来自功能性需求 后者的挑战来自非功能性
  • 树-广度优先和深度优先搜索算法

    广度优先和深度优先搜索算法 本章主要讲述广度优先搜索算法BFS Breadth First Search 和深度优先算法DFS Depth First Search 广度优先 从起点开始由近及远进行广泛搜索 一般使用队列实现 深度优先 从起
  • Django表单系统

    目录 使用Form对象定义表单 Form对象的特性 表单字段的基类Field 常用的表单字段类型 基于Model定制的表单 ModelForm定义方式 表单中的常用方法 在Web站点中与后端服务进行交互 通常使用表单提交的方式 表单提交数据
  • 辐射神经场算法——NeRF算法详解

    辐射神经场算法 NeRF算法详解 辐射神经场算法 NeRF算法详解 1 Volume Rendering方法 2 NeRF中的积分公式推导 3 NeRF中应用的技巧 3 1 Positional Encoding 3 2 Hierarchi
  • (一)Wireshark 抓包解析出视频流ts

    这里简单介绍下Wireshark WS 解析出视频流的方法 其他过滤方法可以百度搜到更具体的 打开一个网络封包 一般是 pcap 或者 cap 抓包方式多样 若在嵌入式设备上面抓包 可以用工具TCPDUMP这个工具 若是android手机抓
  • settimeout、promise、async的执行顺序

    用一段代码来说明 async function async1 console log async1 start await async2 console log async1 end async function async2 consol
  • 生产制造业ERP管理系统

    什么是生产制造业ERP管理系 生产制造业ERP管理系统的建设本身作为企业在发展过程当中重要的战略布局建设 涉及到各个不同的企业部门 涵盖了研发 生产 物流 财务等等 需要对这些团队进行一把手的领导 而且在企业整体发展过程当中 可以做好综合性
  • MongoDB以及MongoVUE的安装和使用

    环境安装 MongoDB的安装 下载mongoDB MongoDB官网地址 个人百度云盘地址 版本为 mongodb win32 x86 64 2008plus ssl v3 0 latest signed msi 安装 到这里mongod
  • Spring源码------IoC源码分析详解

    Spring源码 IoC源码分析详解 目录 Spring源码 IoC源码分析详解 1 控制反转 IoC 2 Spring IoC 源码时序图 详细版 3 源码追踪 3 1详细版链接 3 2 个人总结浓缩版 方便记忆 4 总结 1 控制反转
  • Oracle练习

    一 找到员工表中工资最高的前三名 降序排序 select from emp order by sal desc rownum 伪列 系统自动生成的一列 用来表示行号 rownum是Oracle中特有的用来表示行号的 默认值 起始值是 1 在
  • 打包神器webpack的一键式操作

    创建基本的webpack4 x项目 运行npm init y 快速初始化项目 在项目根目录创建src源代码目录和dist产品目录 在 src 目录下创建 index html 使用 cnpm 安装 webpack 运行cnpm i webp
  • ifconfig报错:SIOCSIFFLAGS: Operation not permitted

    insmod mt7601Usta ko rtusb init rt2870 gt usbcore registered new interface driver rt2870 iwconfiglo no wireless extensio
  • 深度学习实战29-AIGC项目:利用GPT-2(CPU环境)进行文本续写与生成歌词任务

    大家好 我是微学AI 今天给大家介绍一下深度学习实战29 AIGC项目 利用GPT 2 CPU环境 进行文本续写与生成歌词任务 在大家没有GPU算力的情况 大模型可能玩不动 推理速度慢 那么我们怎么才能跑去生成式的模型呢 我们可以试一下GP
  • AWS SAA-C03 #99

    A company is implementing a shared storage solution for a gaming application that is hosted in an on premises data cente
  • 宝塔部署前后端分离项目(Vue+SpringBoot)

    目录 后端部分 配置Redis 前端部分 后端部分 1 先修改自己的speingboot配置文件 我的是yml文件 保证宝塔上建的数据库和自己代码里 就是配置文件中所建的数据库的名字是一致的密码也要保持一致 Redis也一样 如果有的话 2
  • JavaAgent的那点秘密

    JavaAgent的那点秘密 前言 大家都知道Java文件编译成Class文件之后才能在Jvm中运行的 而Class文件自有一套规范 不必一定是Java文件经由javac编译产生 其它编程语言也可以直接生成Class文件交由Jvm运行 既然
  • android+多次开启服务,关于Android中的四大组件(Service的开启与封锁)

    关于Android中的四大组件 Service的开启与关闭 前言 服务 Service 是Android系统中的四大组件之一 服务主要用于两个目的 后台运行和跨进程访问 通过启动 一个服务 可以在不显示界面的前提下在后台运行指定的任务 这样
  • 2023 VScode安装教程【超详细】看这一篇就够了

    一 VScode下载 1 进入VScode官网 官网地址 https code visualstudio com 点击 Download 进入下载 不要点击 Download for Windows Stable Build 否则它会自动帮
  • Jboss历史漏洞利用 - JMX Console 未授权访问漏洞

    文章目录 环境搭建 漏洞简介 漏洞发现 漏洞利用 远程部署war包 GET SHELL 防护建议 环境搭建 docker搭建操作指南 docker search testjboss docker pull testjboss jboss d
  • 虚幻4 使用脚本编译自己的工程

    工程文件 Engine Source Programs AutomationTool AutomationTool Mono sln public static void Build BuildCommand Command Project