展示柜

集成UE至原生Xcode iOS项目

将UE集成至原生Xcode iOS项目中,由原生Xcode工程来按需驱动引擎,并且可以进行双端通信,在一个普通的App中实现启动虚幻引擎、运行游戏。

IOSDemo

演示视频:

该方案已经过验证可行,Xcode端可以脱离对引擎源码的依赖。

UE中人体姿态追踪

基于普通的摄像头在UE中实现面部、体态、手部追踪:

可以直接在UE中访问追踪数据,可以用来开发体感游戏。

基于字典的Shader压缩方案

实际项目中的ushaderbytecode大小对比(单位M):

Android_ASTC IOS WindowsNoEditor
LZ4 172 314 95.7
ZSTD 37.6 53.7 20.2
Dict 4.53 9.48 2.4

使用ZSTD+字典的方式进行Shader压缩,相比引擎默认的LZ4提升了约65~80%的压缩率。

运行时的解压耗时:

具体的实现思路详见:

Pak的运行时重组热更方案

基于客户端的版本检测和更新方案,Pak的运行时重组。

优点:

  1. 降低发布端的管理成本
  2. 不同版本的Client共用同一发布版本
  3. 最大限度地复用本地资源
  4. 本地合并Pak,降低Pak过多的开销

多阶段的自动化资源检查方案

支持介入到UE资源制作流程的各个方面,可以在编辑时、提交时、CI/CD扫描、打包时等各个阶段进行资源的规范性检查,确保进包的资源规范。

功能支持详见:

是一个非常强大且全面的资源检查工具。

精确灵活的基础包拆分方案

支持非侵入式地实现,精确地拆分基础包。对AssetRegistry、ShaderLibrary等进行精确拆分。并能够非侵入式地集成到UE默认的打包流程。

管理项目中除pakchunk0之外的所有资源:

并且是非侵入式的实现,无需对打包流程做任何变动,只要启动UE默认的打包,就会自动处理所有事情。也无需修改引擎,所有功能都是纯插件实现的。

详见文章: