可可西

UE4分支的Git Flow

UE4作为开源商业引擎,其代码托管在私有库:https://github.com/EpicGames/UnrealEngine

为了能看到并下载UE4的代码,开发者需要有GitHub账号Unrealengine账号,然后在Unrealengine账户的个人信息页面中关联GitHub用户名

关联成功后,再登录GitHub账号,会收到一个确认框,同意后就可以访问UE4的代码了  详见:https://www.unrealengine.com/zh-CN/ue4-on-github

 

为了账号密码安全,github自从2021.8.13开始,对于第三方应用(如git命令行)不能直接使用密码登录,改用有时间期限的Personal access tokens,详见:token authentication requirements for git operations

 

UE4自开源起,开发社区十分活跃,大大促进了引擎的发展,版本迭代速度非常快

4.17(2017-8-7)-->4.18(2017.10.23)-->4.19(2018.3.4)-->4.20(2018.7.16)    4.23.0 =》4.24.3 =》4.25.1 =》4.26.1

各个发布版本包含的Feature详见:

https://docs.unrealengine.com/zh-CN/Support/Builds/index.html (中文)

https://docs.unrealengine.com/en-US/Support/Builds/index.html (英文)

 

HTML5平台:4.23之后的版本被移除   注:4.23是最后一个支持HTML5的版本

原理是:将游戏和应用程序导出为HTML5格式,以便在Web浏览器中运行。这一功能利用了Emscripten工具链,将C++代码编译为WebAssembly(Wasm)或asm.js

弃用的主要原因包括:

技术挑战:维护和更新HTML5平台的支持需要大量的资源和开发工作,特别是随着Web技术的快速变化。

性能问题:尽管WebAssembly提高了性能,但与原生平台相比,Web平台仍然存在性能瓶颈,特别是在处理复杂的3D图形和物理计算时。

市场需求:HTML5游戏的市场需求相对较低,更多开发者选择原生平台(如PC、主机、移动设备)进行开发。

 

虚幻引擎4文档:https://docs.unrealengine.com/4.26/zh-CN/

虚幻引擎4.27文档:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/unreal-engine-4-27-documentation?application_version=4.27

虚幻引擎5.6文档:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/unreal-engine-5-6-documentation?application_version=5.6

UE4 wiki(官方):https://wiki.unrealengine.com/Main_Page

UE4 wiki(社区):https://unrealcommunity.wiki

UE5 wiki(社区):https://ue5wiki.com

udn(需账号登录):https://udn.unrealengine.com/

UE4 answer:https://answers.unrealengine.com/index.html

Unreal Engine Issues and Bug Tracker:https://issues.unrealengine.com   【issue编号形如:UE-133118

UE4 tech-blog:https://www.unrealengine.com/en-US/feed/tech-blog

UE4未来版本规划RoadMap:https://trello.com/b/TTAVI7Ny/ue4-roadmap

UE5未来版本规范RoadMap:https://portal.productboard.com/epicgames/1-unreal-engine-public-roadmap

蓝图(blueprint)分享:https://blueprintue.com/type/blueprint/

材质(material)分享:https://blueprintue.com/type/material/

动画(animation)分享:https://blueprintue.com/type/animation/

行为树(behavior tree)分享:https://blueprintue.com/type/behavior-tree/

声音(meta sound)分享:https://blueprintue.com/type/metasound/

rediit(UE4)https://www.reddit.com/r/unrealengine/

ue5-style-guide:https://github.com/Allar/ue5-style-guide

ue4-style-guide(中文版):https://github.com/skylens-inc/ue4-style-guide

UE4的版本号定义在Engine/Source/Runtime/Launch/Resources/Version.h文件中

#define ENGINE_MAJOR_VERSION    4
#define ENGINE_MINOR_VERSION    20
#define ENGINE_PATCH_VERSION    3

Unreal Engine 4 - Five Tech Demos

This archive contains five Unreal Engine 4 demos that demonstrate engine capabilities in different scenarios.

  • Effects Cave: Lets you walk through a cave with water and lighting effects.
  • Realistic Rendering: Renders an indoor scene with almost photorealistic quality.
  • Reflections: Shows off how to get the most of Unreal Engine 4's Real-time reflection system in a realistic, dark, and grungy environment.
  • Shooter Game: Serves as a basic template to a Quake 4 style multi player game.
  • Temple Mobile: Walkthrough in a temple.

Before running the demos you might have to install the (included) Microsoft Visual C++ 2013 Redist Runtimes. Settings can be edited using the included batch file (e.g. ResolutionSizeX=1920; ResolutionSizeY=1080)

Unreal Engine 4 - Elemental Tech Demo

This Unreal Engine 4 demo shows the engine's capabilities using DirectX 11 with demanding particle effects.

Before running the demo you might have to install the (included) Microsoft Visual C++ 2013 Redist Runtimes. Settings can be edited using the included batch file (e.g. ResolutionSizeX=1920; ResolutionSizeY=1080)

NVIDIA Unreal Engine 4 RTX & DLSS Demo

NVIDIA RTX Technology Showcase is an interactive demo built from NVIDIA's RTX Unreal Engine 4.26 Branch (NvRTX). This demo shows the benefits that ray tracing and AI can bring to games, with minimal developer investment.

In the demo, you can toggle ray-traced reflections, ray-traced translucency, DLSS, RTX Direct Illumination, and RTX Global Illumination to visualize the difference in real-time.

The ray tracing SDKs are available through NvRTX while DLSS is available as a UE 4.26 plugin.

  • RTX Direct Illumination: lets artists add millions of dynamic lights to game environments without worrying about performance or resource constraints, in real time.
  • RTX Global Illumination: provides scalable solutions to compute multi-bounce indirect lighting without bake times, light leaks, or expensive per-frame costs.
  • NVIDIA Real-Time Denoiser: is a spatio-temporal API agnostic denoising library that's designed to work with low ray per pixel signals.
  • NVIDIA DLSS (Deep Learning Super-Sampling): taps into the power of a deep learning neural network to boost frame rates and generate beautiful, sharp images for your games.

 

Market Place(UE4)

Stylized Foliage Pack

放风筝的小男孩

Downtown West Modular Pack

Open World Demo Collection

 

Market Place(UE5)

Electric Dreams Env

 

在Github上搜索:

例如:在当前版本库中搜索“ios video memory” 

会在Code、Commits、Issues、Discussions和Packages中搜索“ios video memory”,单击左边页签来查看搜索结果:

 

从GitHub上我们可以看到UE4包含很多分支

release:发布分支

master:主线  其内容有2个来源:① dev_*分支的特性的内容  ②release分支发布时,会将所有其修改内容合入master

promoted:美术人员和游戏策划人员使用的分支,每天从master分支上merge修改合入到该分支,如果通过基本测试没有严重问题,则提交到该分支,否则待master分支解决后再merge过来。该分支在稳定性和获取新Feature之间取得一个平衡

staging-4.18staging-4.19  staging-4.20  staging-4.21 .......):版本的先行分支,从master分支拉取,使得项目组可以同时迭代2个开发分支。若当前开发分支为4.21,那么staging-4.21是未来4.22的的开发分支

4.184.19  4.20  4.21 .......):4.18版本开发分支,从staging-4.17分支发展而来,功能稳定后合入release分支进行发布

dev_*:开发人员Feature分支,包含当前版本和未来版本的特性。2018.5.10,Epic在GitHub发布这些内部的开发分支,详见:Development Branches Now Available on GitHub

dev_build -- UBT(Unreal Build Tool)、UHT(Unreal Header Tool)、UAT(Unreal Automation Tool)等构建工具和其他构建逻辑
dev_core -- FString、FName、TArray、TList、TMap、TSet、UObject、UActorComponent、AActor等数据结构和算法
dev_geometry -- 计算几何相关的
dev_networking -- 网络同步相关
dev_rendering -- 渲染
dev_anim -- 动作行为树
dev_sequencer -- 骨骼动画、过场动画
dev_editor -- 编辑器
dev_framework -- GamePlay框架
dev_mobile -- Android、iOS等移动平台
dev_niagara -- Cascade2.0粒子系统
dev_vr -- vr
dev_vr_mac -- mac系统上的vr
dev_vr_editor -- vr的编辑器功能

GitFlow流程如下图所示:

 

在linux云机器上,git克隆报fatal: fetch-pack: invalid index-pack output错误

git clone https://github.com/EpicGames/UnrealEngine.git
Cloning into 'UnrealEngine'...
remote: Counting objects: 6500172, done
remote: Finding sources: 100% (6500172/6500172)
remote: Total 6500172 (delta 4035803), reused 6500172 (delta 4035803)
remote: Total 716.17s (counting objects 75.35s finding sources 58.97s getting size 0.00s writing 581.85s), transfer rate 34.88 M/s (total size 20295.52M)
Receiving objects: 100% (6500172/6500172), 19.81 GiB | 34.79 MiB/s, done.
fatal: fetch-pack: invalid index-pack output

 

 

这个错误通常发生在克隆大型仓库(UE 源码非常大)时,根本原因是:

① 网络传输中断/超时:数据包在传输过程中丢失或损坏
② 缓冲区不足:Git 默认缓冲区太小,大文件传输溢出 
③ 服务端超时断开:仓库太大,服务端提前断开连接 
④ 内存不足:index-pack 阶段内存耗尽 

 

# 磁盘剩余空间是否足够

# 运行时剩余内存是否足够

# 增大缓冲区配置

git config --global http.postBuffer 524288000

git config --global http.maxRequestBuffer 100m

git config --global core.compression 0

git config --global http.lowSpeedTime 999999

git config --global http.lowSpeedLimit 0

# 浅克隆指定分支(最快)
git clone --depth 1 https://github.com/EpicGames/UnrealEngine.git

需要完整历史再执行:git fetch --unshallow

# 内存不足导致 index-pack 失败,限制并发线程数,降低内存压力(有效)

git config --global pack.threads 1

 

Git提交规范

详见:https://www.conventionalcommits.org/en/v1.0.0/中文

类型含义触发场景
feat 新功能 (feature) 增加用户可感知的能力
fix 修复 bug 修复线上/测试发现的问题
docs 文档变更 README、注释、Wiki 等
style 代码格式调整(不影响功能) 缩进、分号、空格
refactor 重构(既不是新功能也不是修 bug) 内部结构调整
perf 性能优化 减少耗时、降低内存占用
test 测试相关 新增/修改单测、e2e
chore 构建/工具链等杂项 升级依赖、配置 CI
revert 回滚某次提交 撤销已合并的变更
build 构建系统或外部依赖变化 webpack/rollup/vite 配置
ci 持续集成相关 GitHub Actions、Jenkins 流水线

 

 

参考

UnrealEngine README.md

Master, 4.12 or promoted for latest?

 

posted on 2018-10-15 21:47  可可西  阅读(1565)  评论(0)    收藏  举报

导航