Exokit

? ️ Native VR et moteur AR pour JavaScript?
Discord - Twitter - Liste de messagerie
Exemples






Trouvez plus d'exemples ici et sur YouTube.
Aperçu
Ce projet permet aux développeurs de créer des expériences XR en utilisant le même code qui s'exécute sur le Web . Le moteur EXOKIT est écrit sur le nœud et émule un navigateur Web, fournissant des crochets natifs pour WebGL, webxr, webaudio et autres API utilisées dans les expériences immersives.
? EXOKIT cible actuellement les plates-formes suivantes :
- OpenVR Desktop VR (Steam Compatible)
- Oculus Desktop (Oculus Rift / Rift S)
- Oculus Mobile (Oculus Quest / Go, GearVR)
- Juge magique
- iOS Arkit *
- Android Arcore *
- Google VR (Daydream / Cardboard / Mirage Solo) *
- Tout appareil XR, démarrez une demande de traction avec une liaison native si elle n'est pas répertoriée ici! *
* Pas encore pris en charge
? Étant donné que Exokit prend en charge tout ce qui fonctionne sur le Web, il alimente les expériences construites avec :
- Trois.js
- Unité
- Pixi.js
- Babylon.js
- Trame
- Frameworks Webgl personnalisés
- WebAssembly, TypeScript et toute langue qui transpire en JavaScript
? Pourquoi exokit?
- Vous voulez que votre webgl / webxr s'exécute rapidement.
- Vous voulez les nouvelles API Web chaudes.
- Vous souhaitez ajouter vos propres intégrations - y compris natives - dans un environnement de navigateur.
- Vous voulez un navigateur léger comme module de nœud piratable.
- Vous souhaitez combiner le Web avec un moteur 3D comme Unity.
? Pourquoi ne pas exokit?
- Vous recherchez un "navigateur Web" traditionnel.
- Vous ne vous souciez pas de la 3D ou de la réalité mixte.
- Vous recherchez un soutien strict et / ou hérité.
Manifeste
- L'avenir est immersif. Le Web est la meilleure plate-forme d'application. JavaScript est le meilleur écosystème.
- Le contenu doit être agnostique matériel. Demain aura un matériel différent. VR et AR doivent être compatibles.
- Il n'est pas possible de bien faire 2D et 3D. Nous ne faisons pas 2D. Nous pouvons utiliser un navigateur 2D externe.
- Utilisez votre moteur de jeu préféré. EXOKIT n'est pas un moteur de jeu.
- Les choix de conception du navigateur hérité n'ont pas de sens dans XR.
- EXOKIT habilite et connecte les applications, même (surtout) s'ils ne sont pas conçus pour coopérer.
- Les applications devraient s'exécuter dans des "onglets de réalité", des couches de réalité qui se mélangent.
Start
Bureau
Télécharger pour le système d'exploitation actuel
Exécutez un site Webxr (Desktop)
exokit https://aframe.io/a-painter/ # start A-Painter in Exokit
Juge magique
Télécharger pour Magic Leap
RUN (Magic Leap Device)
mldb connect 192.168.0.10:1131 # mldb needs to be connected; see MLDB documentation
mldb install -u exokit.mpk # downloaded or built package
mldb launch com.webmr.exokit -v " ARGS=node . file:///package/examples/hello_ml.html " # or URL to load
mldb log exokit: *
Architecture
EXOKIT est un module JavaScript Node.js.
Les liaisons C ++ s'accrochent à WebGL, webxr, à magic leap, au mouvement de saut et à diverses autres API de périphérique.
const {window} = require('exokit')() pour obtenir un navigateur immersif dans un autre projet.
EXOKIT s'exécute sur Windows, MacOS, Linux (x64), Linux (ARM64) et Magic Leap (ARM64).
Prise en charge de l'API Web
- Http / s
- Html5
-
<script> - Dom
- Webgl
- Webxr
- Webvr
- Webrtc
- Canvas2d
- Websocket
- Travailleurs du Web
-
<img> , <audio> , <video> - Webaudio
- Événements clavier / souris
- API GamePad
-
<iframe> Disposition HTML Rendu HTML CSS API héritées
Reliures matérielles
- Opengl
- OpenVR (Steam VR)
- Occulus
- Oculus mobile
- Juge magique
- Mouvement de saut
Développement local
Voir les instructions complètes du bâtiment dans le bâtiment.md.
git clone https://github.com/exokitxr/exokit.git
cd exokit
npm install
node . < url > # or node . -h for home
Débogage
Utilise NDB.
Ensuite, dans la console, entrée:
let window = await require ( './src/' ) . load ( yourUrl ) ;
Vous avez maintenant une poignée sur l'objet Window lorsque vous testez votre application et vous pouvez définir des points d'arrêt debugger , inspecter la mémoire, le processeur de profil, etc.
Drapeaux
-
--xr webvr fabrique le mode WebVR EXOKIT quelle que soit la page Web. Si EXOKIT s'ouvre toujours en mode Pancake, vous pouvez l'utiliser pour essayer de résoudre ce problème.
Rester en contact
- Rejoignez notre discorde pour avoir traîné.
- Suivez @Exokitxr sur Twitter pour les mises à jour.
Contributif
Impliquez-vous! Consultez le guide contributeur pour commencer.
Licence
Ce programme est un logiciel gratuit et est distribué sous une licence MIT.