集成UE至原生Xcode iOS项目
将UE集成至原生Xcode iOS项目中,由原生Xcode工程来按需驱动引擎,并且可以进行双端通信,在一个普通的App中实现启动虚幻引擎、运行游戏。
演示视频:
该方案已经过验证可行,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的运行时重组。
优点:
- 降低发布端的管理成本
- 不同版本的Client共用同一发布版本
- 最大限度地复用本地资源
- 本地合并Pak,降低Pak过多的开销
多阶段的自动化资源检查方案
支持介入到UE资源制作流程的各个方面,可以在编辑时、提交时、CI/CD扫描、打包时等各个阶段进行资源的规范性检查,确保进包的资源规范。
功能支持详见:
是一个非常强大且全面的资源检查工具。
精确灵活的基础包拆分方案
支持非侵入式地实现,精确地拆分基础包。对AssetRegistry、ShaderLibrary等进行精确拆分。并能够非侵入式地集成到UE默认的打包流程。
管理项目中除pakchunk0之外的所有资源:
并且是非侵入式的实现,无需对打包流程做任何变动,只要启动UE默认的打包,就会自动处理所有事情。也无需修改引擎,所有功能都是纯插件实现的。
详见文章: