风力涡轮机特写,背景为田野

行业

软件和咨询

组织规模

小型 (1-49 名员工)

国家/地区

澳大利亚

技术

.NET MAUI Cloud

公司

Alpha Outdoors: Red-Point

2023 年初,热衷于攀岩的 Martin Mora 因错误判断路线的难度而险些坠落,在经历了一场惊心动魄的事故后,他创立了 Alpha Outdoors。这次经历催生了开发 Red-Point 的灵感,这是一款旨在让攀岩运动更安全、更易参与的移动应用。Martin 与 Matthew Robbins合作,后者是一位资深 .NET 开发者,也是 Visual Studio 上广受欢迎的 MFractor 工具的开发者。

他们共同致力于通过智能数据和 3D 可视化来革新攀岩体验。

数字攀岩助手

在 Red-Point 之前,攀岩者使用的是纸质指南,它们又重又旧,并且内容往往有些过时。Red-Point 通过将整个攀岩区域数字化以及提供 GPS 导航、高保真 3D 可视化效果和脱机访问,彻底改变了这一工作流,从而确保在偏远地区的安全性。

该应用帮助攀岩者以前所未有的清晰度规划、预览路线并进行导航

使用无人机进行创新数据收集

Red-Point 内已绘制并发布了 1,200 多个攀岩区域。每个区域最初都是无人机拍摄的一组高分辨率 3D 扫描图像。这些航拍捕获了成千上万张重叠的照片,这些照片被处理为详细的摄影测量模型。

此工作流可实现精确的地形重建,让攀岩者甚至能在离开地面以前就对岩壁进行虚拟探索。

一位穿着 Red-point T 恤的男士在外面拿着一架无人机。

Red-Point 数据引入管道

  • 3D 扫描: 无人机、LiDAR 设备和 iPhone 可捕获详细的表面图像。
  • 数据处理: 将图像处理成精确的 3D 网格和纹理。
  • 与应用集成: .NET MAUI 和 Evergine 可在 Red-Point 移动体验中无缝地渲染并显示 3D 模型。

这种端到端的工作流可确保攀岩者直接在应用内收到准确、高质量的数据

技术选择和使用情况

早期原型采用混合技术,但团队迅速统一采用一种完全托管的 .NET 堆栈(由 Plain Concepts 开发的 Evergine 提供支持)来进行实时 3D 渲染。

关键技术组件:

  • .NET MAUI - 提供应用的原生 UI、数据管理和脱机同步。
  • Evergine - 提供与 .NET 紧密集成的强大 3D 引擎。
  • Azure - 管理身份验证、内容分发和全球云存储。

.NET MAUI 与 Evergine 的协同作用使 Red-Point 能提供快速、流畅且视觉丰富的体验,远超典型跨平台解决方案。

与 Plain Concepts 开发的 Evergine 深度集成

Red-Point 利用 Evergine 与 .NET 的深度集成,在 .NET MAUI 内实现原生级 3D 性能。与传统混合引擎不同,Evergine 直接在 .NET 运行时中运行,在 UI 和 3D 引擎之间共享程序集、数据模型和异步逻辑。

通过此体系结构,Red-Point 可以:

  • 动态地加载并卸载 GLB 资产以优化内存使用。
  • 从位于本地和云端的源流式传输实时攀岩路线数据。
  • 直接在场景上覆盖交互式 3D 标签、路线和分析。
  • 重用共享服务(例如 Azure Blob 客户端、FireStore 同步和遥测),不需要桥接代码。

.NET MAUI 与 Evergine 的这种紧密结合简化了开发,提高了可维护性,并且在 iOS 和 Android 上带来极其流畅的体验。Evergine 的性能和渲染质量表现卓越,即使在包含多种材质和动态照明的复杂模型上,也能实现高帧率。

正如 Matthew Robbins 所言,“Evergine 改变了我们对 .NET 应用中的 3D 的认知 - 它就像是原生的,视觉效果惊艳,并且在移动端表现得很完美。”

.NET MAUI + Evergine 的优势

.NET MAUI 和 Evergine 的结合使 Alpha Outdoors 实现了以下优势:

  • 统一开发模型:单一的 C# 代码库可跨平台驱动 UI 和 3D 逻辑。
  • 高性能 3D: Evergine 借助硬件加速和 GPU 实例化,高效地渲染细节丰富的场景。
  • 异步工作流: MAUI 任务和 Evergine 渲染循环并行运行,使 UI 响应流畅。
  • 高效的缓存和压缩: 为了尽量减少加载时间,Red-Point 采用 GZip 压缩和内存中纹理重用。
  • 良好的用户体验: 流畅的手势操作、快速的相机控制和低延迟输入,在移动硬件上营造出专业级体验。

Red-Point 应用的屏幕截图,其中显示了地图视图,并用海拔高度变化勾勒出路线。

使用 .NET 和 Azure 进行缩放

.NET MAUI 和 Evergine 共同为能支持实时 3D 可视化和数据同步的响应式、高性能应用程序奠定了基础。Azure 通过地理分布式 Blob 存储和身份验证服务确保全局可伸缩性,使 Red-Point 能以低延迟和高可靠性为全球数千名攀岩者提供服务。

成功里程碑:

  • 快速增长: 发布后,Red-Point 用户数量在数周内从 200 增至 10,000,这主要得益于社交媒体传播和良好的口碑。
  • App Store 势头强劲: 在 iOS App Store 的同类别应用中迅速攀升至榜首。
  • 技术验证:Evergine 在移动设备上的可靠性能,验证了其作为 .NET 生态系统中顶级 3D 引擎的地位。

结论

Alpha Outdoors 将 .NET MAUI、Evergine 和 Azure 的强大功能结合起来,打造了一个平台,为户外领域的 3D 移动应用程序树立了新标杆。

事实证明,Evergine 与 .NET 的深度集成至关重要,能在完全托管的环境中实现实时可视化、精确的 3D 控制和无与伦比的性能。

Red-Point 持续发展,成为攀岩社区领先的数字助手,展现了新式 .NET 技术与高质量 3D 图形无缝结合能带来的可能性。