Ambient多人游戏引擎

联合创作 · 2023-09-27 19:11

Ambient 是一个用于构建高性能多人游戏和 3D 应用程序的 runtime,采用 Rust 编写,并使用了 WebAssembly 和 WebGPU 技术。

特性

  • Seamless networking:Ambient 既用作服务器,同时也是客户端。开发者只需构建服务器和客户端逻辑,Ambient 可自动处理数据同步。
  • 独立沙盒:开发者为 Ambient 构建的项目通过 WebAssembly 的隔离功能执行。因此如果出现崩溃,它不会破坏整个程序,这也意味着可以安全地运行不受信任的代码。
  • 面向数据的设计:Ambient 的核心数据模型是每个 WASM 模块都可以操作的实体组件系统
  • 多语言:开发者能够使用任何可以编译为 WebAssembly 的语言构建 Ambient 模块(目前,Rust 是唯一受支持的语言,团队正在努力扩展到其他语言)
  • 单一可执行文件:Ambient 是一个单一的可执行文件,可以在 Windows、Mac 和 Linux 上运行。它可以充当服务器或客户端。
  • 互操作性:Ambient 允许定义自定义组件和 "concepts"(组件集合)。只要 Ambient 项目使用相同的组件和"concepts",它们就能够共享数据和互操作。
  • Asset 管道和流处理:Ambient 包含 Asset 管道,支持编译多种 asset 格式,包括.glb.fbx。asset 通过网络流式传输,因此客户端在加入时能够接收所需的一切数据。
  • 强大的渲染器:Ambient 渲染器由 GPU 驱动,裁剪 (Culling) 和细节级别切换完全由 GPU 处理。默认情况下,它使用 PBR,此外还支持级联阴影贴图和实例化所有可以实例化的东西。
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报