首页 > 其他分享 >UE4构建基础和实践:一、概述

UE4构建基础和实践:一、概述

时间:2023-07-24 12:23:46浏览次数:67  
标签:脚本 程序包 实践 构建 UE UE4 概述 打包

序言

构建这个概念是和应用程序包及资源等相关的,它的特点是使用脚本控制一系列的任务的处理,以减少人力操作带来的成本和操作失误风险。

在UE的概念里,构建往往是和打包相关的(如编译、cook、压缩打包等)。但是在项目日常的开发中,构建的语义会更加的广泛,据我所知它可能包含:

  • 打各个平台的应用程序包
  • 编译引擎
  • 编译客户端
  • Cook资源
  • 资源扫描
  • 脚本扫描
  • 生成表格、协议、navmesh等各类资源
  • ...

我们编写自动化脚本和使用CI/CD平台(如jenkins,鹅厂的蓝盾等)以自动化流水线的形式进行任务来提高生产力。

经典的构建样例

以出应用程序包为例:UE的构建应用程序包需要相关的代码和各种资源,我们可以抽象出其任务节点:

  1. 检查各个仓库(分支等),并拉取:
    • 客户端代码
    • 美术资源
    • 引擎
    • 自动化脚本
    • ...
  2. 按照次序执行各种自动化脚本
  3. 分析归档构建结果(各种统计,版本号相关等)
  4. 把构建结果上传的仓库/服务器
  5. 通知执行人构建结果

UE的打包构建

构建入口代码流

跟进UE的构建入口:
image

可以看到最后都是调用到了UAT的BuildCookRun.Automation脚本
注:RunUAT可以直接使用命令构建,也可以运行BuildGraph脚本

打包构建大概的流程阶段和文件流

这里先做一个大概的总结,后续系列文章里我会贴出我的实践测试以及关键代码流。
image

结语

这个系列我打算以一个经典案例——构建应用程序包为切入点,完整的实践和分析一个构建流程,并理解构建的基本流程和相关知识技能。这一篇大概描述了下UE的构建的宏观上概念,有些地方没有实践不太好理解,我会在后面的文章通过结合实践和分析来解释这些概念。最后,UE项目的构建是复杂的工作,本系列文章只是介绍了它的原生的基本用法,它大多只是执行UE预定义的参数和命令。在实际生产环境中,会对其进行优化和修改以符合实际需要(实际上,我们项目对其做了一定程度上的修改和优化)。

附录

项目打包整体工作流参考

image

  • cook可以采用多机器并行来加速

标签:脚本,程序包,实践,构建,UE,UE4,概述,打包
From: https://www.cnblogs.com/hggzhang/p/17554456.html

相关文章

  • UE4构建基础和实践:二、Editor打包Win&Android
    此次打包使用的是5.2版本Win包操作流程参考打包项目|UE文档设置默认地图点击创建打包文件解释&分析产物分析打开打包时设置输出目录,大概如下:可以看到大概有下面几个文件目录:-ProjectName:我的项目名是BuildTest,所以文件名为BuildTest-Engine:引擎相关目录-Bui......
  • UE4构建基础&实践:三、UAT命令打包
    序言在上一篇文章中,我们使用了Editor进行打包,提到了日志的中的打包命令和参数。这一篇中,我们将实践使用UAT和默认命令打包Android,并介绍相关参数和用法。UAT&打包命令首先给出UAT工具的运行方法和打包命令参数:UAT在引擎目录下找到Engine\Build\BatchFiles的RunUAT.bat文件......
  • UE4构建基础和实践:五、CI/CD平台自动化打包
    序言使用CI/CD平台构建(这里使用蓝盾平台)主要是通过平台脚本运行上一章的py脚本并传递参数(即把py中的参数开放给配置平台脚本配置)。Build.py重构我们需要在py脚本里面解析和设置参数importsysimportosimportgetoptdefmain(argv):ProjectName=""......
  • UE4构建基础和实践:四、使用脚本打包
    序言使用UE版本为UE5.20在实际项目中,我们常常使用自动化脚本来进行构建,它可以增加我们的生产效率,并降低人为操作带来的失误风险。BuildGraphBuildGraphUE官方提供的构建脚本系统,它可以读取对应的XML脚本实现自动化打包。BuildGraph相关的参考BuildGraph|UE文档重点是它相......
  • 3步带你搞定华为云编译构建CodeArts Build “新手村任务”
    华为云编译构建(CodeArtsBuild)基于云端大规模并发加速,为客户提供高速、低成本、配置简单的混合语言构建能力,帮助客户缩短构建时间,提升构建效率。本文将给各位开发者带来华为云CodeArtsPipeline的手把手初级教学,让没有接触过的开发者能够轻松上手体验。【操作步骤】体验准备:注......
  • 【嵌入式】构建嵌入式Linux系统(uboot、内核、文件系统)
    原文:https://zhuanlan.zhihu.com/p/573207792?utm_id=0知识架构及层次Linux内核由三部分构成:Bootloader:启动引导系统(可执行文件)Kernel:内核(可执行文件)RootFileSystem:根文件系统嵌入式Linux系统构成及启动略析嵌入式Linux启动类同4X100米接力跑,是由多个部分共同完成......
  • 欧姆龙CX系列PLC以太网通讯处理器产品概述
     捷米特JM-ETH-CX串口转以太网通讯处理器是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于欧姆龙CPM、CQM、C200、C1000、C2000等多个系列PLC的以太网数据采集,非常方便构建生产管理系统。    捷米特JM-ETH-CX串口转以太网通讯处理器采用模块......
  • 概述增强式学习(Reinforcement Learning)
    概述增强式学习(ReinforcementLearning)SupervisedLearning(自监督学习):告诉机器输入和输出,用有标注的训练资料训练出的NetworkReinforcementLearning(增强式学习):给机器一个输入,我们不知道最佳输出是什么(适用于标注困难或者人也不知道答案是什么)(机器需要知道什么是好,什么是......
  • Redis概述及安装
    Redis是什么基于内存的key-value结构的非关系型数据库,远程字典服务特点基于内存存储,读写性能高适合存储热点数据(热点商品,资讯,新闻)使用范围广能做什么数据缓存消息队列注册中心发布订阅Redis入门官网:https://redis.io关系型数据库(RDBMS):MysqlOracleDB2SQLServ......
  • JavaNote-概述及安装
    1.Java语言概述1.1Java概述是SUN(StanfordUniversityNetwork,斯坦福大学网络公司)1995年推出的一门高级编程语言。是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这些Java程序被称为Java小程序(Applet),内嵌在HTML代码中。伴......