--- title: EPIC大型项目资产数据跨地域同步方案 date: 2022-11-10 14:59:48 excerpt: tags: DDC rating: ⭐ --- ## 前言 对于大型项目来说同步Asset相对较快,但是构建资产数据缓存却比较慢,经常需要花很长时间才能打开编辑器。该视频介绍了一些解决方法。视频为[Improving Developer Iteration in Unreal Engine 5 | Unreal Fest 2022](https://www.youtube.com/watch?v=_gpJeeqIbjo) ## 资产数据同步方法 1. [[#Unreal Cloud DDC]] UE5.2(Beta) 2. [[#Virtual Asset]]UE5.1(Beta) 3. [[#Horde Compute]]UE5.x(TBD) ## Unreal Cloud DDC - Local Project DDC项目DDC: - Local Share DDC(本地共享DDC): 但是我们目标是`Team Shared DDC`,即每个人都有自己的一部分LocalDDC,然后团队有其他大部分共享的DDC。但并不适合使用VPN来获取数据。所以EPIC使用多台云服务器(多个地区)上构建DDC。他们开发了一个灵活可配置的系统来进行管理。 - 云上部署 - 多地部署 - 云服务器数据两两同步 - 支持OIDC登录与身份验证 ![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/UnrealCloudDDC_01.png) ![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/UnrealCloudDDC_02.png) ## Virtual Asset ![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/VirtualAsset_01.png) 通过将Asset的结构数据生成DDC Key,这样就可以从DDC缓存中获取到数据了。所以我们就不需要BulkData了。以此来减少每日同步数据的量。同时因为这些缓存数据是散列形式的,这样就不会出现重复生成的问题。 ![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/VirtualAsset_02.png) 而DDC Key就是视频中介绍的VirtualAssets![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/VirtualAsset_03.png) Virtual Asset - 同步更快 - 更小的足迹数据 - 优先从UnrealCloudDDC上同步,次选Perforce ## Horde Compute 不充钱你会变强么 ## 其他 EPIC在UE5开发了新的针对DDC构建的API ![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/DDCBuildCommand.png) ![](https://cdn.jsdelivr.net/gh/blueroseslol/ImageBag@latest/ImageBag/Images/DDCBuild.png)