JSAR: 埋め込み可能な空間のためのWebランタイム

  • Web 標準 API、TypeScript、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>

Webのように
しかし、空間ミニアプリ用

それは初期のWeb開発体験を復元し、見たままになります
それは XSML を導入しています、これはコンポーネントの3D構造を記述するためのHTMLのようなマークアップ言語です。
それは SCSS を導入しています、これはコンポーネントの3Dスタイルを記述するためのCSSのような言語です。
同様に、JSARはスクリプト言語としてTypeScript / JavaScriptを使用します。

TypeScript組み込み

JSARランタイムは、ミニアプリを実行する際にTypeScriptコードを直接解析できるため、開発者はTypeScriptコードをコンパイルせずに実行できます。
TypeScript
  • 簡単な設定でTypeScriptを使用できます
  • Visual Studio CodeでTypeScriptのインテリジェントな提案を活用
  • TypeScriptソースコードを使用してアプリケーションを公開し、追加のビルドは不要
Three.js

LandingPage.threejs.title

LandingPage.threejs.description.0
LandingPage.threejs.description.1
Babylon.js

Babylon.jsを使用する

Babylon.jsは、複数のバックエンド(WebGL、WebGPU、サーバーサイド、ネイティブ)をサポートするオープンソースの3Dレンダリングエンジンです。3Dゲームとアプリケーションを開発するためのゲームシーンAPIを提供しています。
JSARはBabylon.jsの一部のインターフェースを実装しており、開発者はBabylon.jsのAPIを直接使用できます(一部のサポートがあるかもしれません)。
Babylon.js

Unityを使用して構築

JSARを使用して開発された空間ミニアプリは、任意のUnityシーンで実行できます。JSAR UPM(Unity Package Manager)プラグインを提供しており、必要に応じて基本的なデータインターフェースを実装できます。これにより、UnityアプリケーションでJSAR空間ミニアプリを使用できます。