《Wallace & Gromit》首次涉足 AR
《Wallace & Gromit》的创作者 Aardman Animations 委托 Fictioneers 通过两个 AR 应用将这一标志性的系列带入数字世界。第一个是《The Big Fix Up》,它将《Wallace & Gromit》的冒险故事带入粉丝的家中。第二个应用是《Fix Up the City》,它在三个地方为用户提供独一无二的城市规模的沉浸式体验。
-
挑战
寻找创新方法,将《Wallace & Gromit》带入数字世界并吸引新的受众
-
平台
iOS、Android
-
团队成员
来自各种合作伙伴组织和英国政府的 43 名贡献者
-
所在地
英国布里斯托尔和加的夫、美国旧金山

结果
- 《The Big Fix Up》
- 包含 197 个故事事件,时长超过 90 分钟
- 网站访问量突破 15 万次
- 用户共完成 50 多万次故事任务
- 媒体自发报道逾 42 万次
- 荣获 10 多个行业奖项
- 《Fix Up The City》
- AR 游戏实例数突破 1,000 个
- NPS 评分高达 92.5%
通过 AR Foundation 实现多平台支持
在制作《The Big Fix Up》时,Fictioneers 仔细考虑了哪种软件可以支持多平台快速开发,同时提供能够打动用户的高质量输出。AR Foundation 帮助该团队开发了一个支持 iOS 和 Android 应用程序的单一代码库。这项技术充当了 ARCore 和 ARKit 共享功能的封装器,同时让团队能够利用 ARKit People Occlusion 等特定于平台的功能,而无需编写任何一行平台特定代码。在制作《The Big Fix Up》时,开发团队着重运用了 AR Environment(探测真实世界的反射)和 Light Estimation 系统(实现着色和阴影)等 AR 功能,无缝融合了虚拟世界和现实世界。

从客厅到真实大小的缩放
在创造丰富的沉浸式《Wallace & Gromit》AR 体验的道路上,有数不清的挑战,其中最困难的是在真实大小的体验与桌面体验之间来回转换。Fictioneers 与提供视觉定位系统的 Fantasmo 合作,使用他们从位置扫描中收集的密集点云数据重现真实世界游戏空间的详细模型。然后将这些按比例缩小的模型用作城市的鸟瞰图,让玩家可以在《The Big Fix Up》中利用 AR 技术将 Bristol 带回家中。《Fix Up the City》使用了相同的模型作为基础构建真实大小的遮挡网格。
平衡 CG 和游戏中的视觉效果
Fictioneers 希望将《Wallace & Gromit》定格动画的魔力和魅力带入到《The Big Fix Up》中。此外,他们还需要平衡 CG 视频与游戏本身。Unity 的图形管线和影片动画工具为他们提供了所需的灵活性。Fictioneers 结合使用高清渲染管线 (HDRP)、Timeline、Unity Recorder 和 Cinemachine 来制作过场动画序列和进行动画处理。他们使用与通用渲染管线 (URP) 相同的动画工作流程来创建游戏中的 AR 场景。通过以这种方式使用这些工具,开发团队利用应用内 AR 游戏的资源和动画制作出了电影品质的高清视频。

使用 Unity DevOps 和 LiveOps 简化部署
通过 Unity Dashboard 提供的工具套件是开发《The Big Fix Up》和《Fix Up The City》的过程中必不可少的组件。 例如,Fictioneers 使用 DevOps 套件设置了各种自动化构建,利用 Cloud Build 工具从生产和测试分支针对多个平台进行构建。通过提供详细的报告、单元测试结果和构建状态,这为开发者节省了大量的时间。LiveOps 套件中的 Remote Config 工具为 Fictioneers 提供了启用和禁用景点以及一键向用户传送重要信息的手段。该工具的管理功能还允许他们控制哪些位置的哪些用户组可以收到更新,这一组件对于管理公共空间的人流至关重要。

将 AR 添加到现有原生应用中
通过利用将 Unity 作为库使用的强大功能,开发团队可以将其 Unity 应用程序导出为单独的 iOS Xcode 和 Android Gradle 项目,然后把它们嵌入到现有原生应用程序中。这样做的结果是将混合现实内容的开发(在 Unity 中)与复杂的 UI 及传统叙事(在原生移动应用中)分离开来,实现了剧情的快速迭代和验证。开发团队可以借助简单的脚本在 Unity 与其原生应用之间发送和接收消息,进行场景管理和更新高分榜、触发应用内购流程等操作。凭借以编程方式加载和卸载 Unity 运行时的功能,他们可以最大限度提高应用的性能,同时增加可以支持的设备数量。
