面向 XR 设计的 Web 运行时

  • 在同一个空间中渲染不同应用,并与之互动
  • 原生支持 TypeScript,无需编译或配置
  • 支持 Web API,使得 Three.js 和 Babylon.js 等都可以正常工作
YodaOS JSAR: The embeddable AR runtime for JavaScript Developers
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <html> <head> <meta charset="utf-8" /> <title>Sample</title> <script type="importmap"> { "imports": { "three": "https://cdn.jsdelivr.net/npm/three@latest/build/three.module.js", "three/addons/": "https://cdn.jsdelivr.net/npm/three@latest/examples/jsm/" } } </script> <script type="module" src="./index.ts"></script> </head> <body> <div> <h1>Example</h1> <p>Sample code for JSAR</p> <sphere /> </div> </body> </html>

HTML 可以用于
描述空间

我们需要重新思考 HTML 的概念。
HTML 中的任何元素都可以是一个具有零深度的 3D 对象,但它可以是 3D 的。
z-index 不仅代表元素的顺序,还可以表示元素在 3D 中的深度。
translate3d() 现在是真正的 3D 变换!

内置 TypeScript

JSAR 运行时可以直接执行 TypeScript 代码,开发者可以自由使用 TypeScript 而无需额外的编译或配置。
TypeScript
  • 只需一步简单配置即可使用 TypeScript
  • 在 Visual Studio Code 中享受 TypeScript 的智能建议
  • 无需额外构建即可使用 TypeScript 源代码发布应用
Three.js

使用 Three.js

Three.js 是 Web 中最受欢迎的开源 3D 库。它提供了一系列 API 用于开发 3D 游戏和应用。
Three.js 开发者可以自由地在 JSAR 中使用它来构建应用。
Babylon.js

使用 Babylon.js

Babylon.js 是一个开源的 3D 渲染引擎,支持多种后端 (WebGL、WebGPU、服务端和本地)。它提供了一系列游戏场景 API,用于开发 3D 游戏和应用。
Babylon.js 开发者可以在 JSAR 中使用该库 (支持 WebGL2 后端) 来创建丰富的 WebXR 内容和应用。
Babylon.js

基于 Unity 构建

运行在 JSAR 中的 Web 应用可以在 Unity 中运行。我们提供了 JSAR UPM (Unity Package Manager) 插件,允许您根据需要实现底层数据接口,从而可以在您的 Unity 项目中运行 Web 应用。

准备好开始了吗?