Skip to content

A-Frame UX Library : A Web XR System, Support Components, World Maps, Object Generators, Universal Controller & Interactive Powers.

License

Notifications You must be signed in to change notification settings

Minty-Crisp/AUXL

Repository files navigation

AUXL : A-Frame UX Library 🌴 v0.4

A Web XR System, Support Components, World Maps, Object Generators, Universal Controller & Interactive Powers.

Overview : 🌟

Built on top of the amazing open source A-Frame & the underlying renderer Three.js, AUXL is a system to help streamline the creation of all types of Web XR experiences by providing vital features to ease the creation of complex and dynamic content.

March Preview 1 March Preview 2

Demo : ⚡

Explore various Worlds, Map Zones & Node Scenes via the companion menu and in-scene actions that showcase the various system features. Use the HTML menu to adjust your input style for Desktop, Mobile or VR along with other vital options. Reference the companion's menu(blue) Controls option to view a list of configured hotkeys and control powers currently loaded.

  • Grid World : AUXL grid collision system, travel, npcs & more custom object generators.
  • Cannon World : Cannon physics system with various travel & action powers.
  • Ammo World : Ammo physics system combined with the grid collision and additional action powers.
  • XRcade World : Arcade with various non-physics mini games and a spooky zone with a few mini experiences.
  • Mascot World : Character avatars build area.
  • Caos World : Testing grounds for a new power based adventure game.

Launch AUXL v0.4 In-Progress Web XR Experience

Note from the Developer : Minty Crisp | Justin Ekema 🍉

I am a dedicated Web XR developer with a passion for building unique experiences actively looking for work and collaboration. I have experience developing with many up and coming Web XR ecosystems along with a specialty in A-Frame & Blender. I also have experience in many essential support areas required to create complete interactive products. If any of my past works including this repository peaks your interest, please do not hesitate to get in contact with me. Thank you ^-^.

Portfolio | MintyCrisp.com

Mastodon Social | MintyCrisp

Blue Sky Social | MintyCrisp.bsky.social

Discord | MintyCrisp

Email : [email protected]

Support me on Ko-fi | MintyCrisp

License Updates : ❄️

To better align with my current goals and circumstances, AUXL has updated it's license for all future updates, please see the current LICENSE file for more information.

This change is intended to help me focus on building and sustaining the project as well as ensuring its long-term viability. The new license restricts the use, modification and distribution of the code without explicit permission.

If you are interested in using any part of this codebase or its associated assets built by me, please feel free to reach out for permission and guidance.

Thank you, Justin Tyler Ekema (also known as Minty Crisp)

Contact Info : Portfolio | MintyCrisp.com

Email : [email protected]

AUXL is built to accomplish a few main goals : ♥️

  • System Features : Controlling the vast array of features, controls and customization, the AUXL system links together an expansive internal library of functions, components, data & assets while supporting the full A-Frame ecosystem of amazing components.
  • Support Functions : XR profile data for loaded url with Save/Load/Reset as well as various internal functions and components to add all sorts of functionality to the experience.
  • Dynamic Experiences : Swap through World experiences in a single browser session that each have their own set of Scenario defined builds and navigable Zone maps of Node Scenes.
  • Object Generators : All of the various basic and special objects that you would use, view & interact with inside the 3D environment.
  • Universal Controls : Unified hardware input controls for interacting with the 3D content that a browser can communicate with.
  • User Customization : Allow the user to fine tune their experience and how they use this system.
  • Interactive Powers : Do more then just be a passive observer of the virtual world with various controls, powers, abilities & other ways to influence the simulation.

Control Configurations : 👀

  • Desktop : Mouse & Keyboard
  • Mobile : Gyro & HTML Touchscreen
  • VR Quest : Dual 6DoF Quest Controllers
  • VR Basic : Single 3DoF Button Controller (In-Progress)
  • VR Gaze : Headset Only (In-Progress)
  • Game-Pad Controller (Soon)
  • Hand Tracking : Dual Hand Movements (Soon)
  • Alternative Controls (Soon)
  • Assistive Technology (Soon)

A few cool features of AUXL to highlight : 🌛

  • Reusable & re-mixable data to build more with less.
  • Generate various types of in-scene entities all with an abundant amount of customization and controls.
  • Map out how the Player moves along the World, Scenario, Zone and Scenes with support for Lock, Keys & other requirements.
  • Build Scenario, Zone and Scene instructions with on start, delay, interval, interaction, event, exit & if/else conditionals.
  • Track settings & objects for each World, Scenario, Zone, Scene as well as Book instructions to swap when out of scope.
  • Scene Swap/Teleportation transition animation & customization with dynamic loading times to account for new asset downloads.
  • Dynamically load in component javascript URLs as needed.
  • Configure unique controls to object methods or component methods within a Scenario, Zone and Scene and view current load out for specific type (i.e. Mobile, Desktop, VR, etc...).
  • Interactable NPC object with text bubble speech system using their Book as instructions for progression, idle or random timeline.
  • Companion object with access to settings, inventory and more.
  • Built in support for various Physics systems and other third party components.
  • Built in Player Rig with locomotion, teleportation, snap turning, crouching, sitting mode & adjustable walk speed actions.
  • Pre-built AUXL object library to utilize in addition to your own library.
  • Extendable system to build new custom objects that take advantage of AUXL.

Recent Updates : 🔥

  • Added window.navigator.userAgent to user profile.
  • Added github repo external link to HTML menu and moved Donation external link to HTML menu.
  • Added error protection to avoid issues with multimenu toggleMenu function and confirmed the listeners are removed when the entity is.
  • Added PlayerColors method to Player which is updated on system init to the color pallete.
  • Adjusted Mobile/Desktop reference of Player RayDir method to the world location of avatarHead.
  • Updated Mobile UI so that both center buttons will click through to the document for normal mouse click. Alt click temporarily disabled and charge actions confirmed not working, working on fix.
  • Adjusted Mobile UI font size and opacity.
  • Added pointerLock toggle option to main menu settings.
  • Updated all run components to support connecting to AUXL system functions.
  • Added new hide button attached to MultiMenu control button that will hide the menu at the current location and on click of either that hide button or the main menu control button will redisplay the menu at the saved location.
  • Added the new hide method to menu options in to compliment stay, back & close.

Third Party Credits : 🙏

  • A-Frame Three Color Gradient Shader by tlaukkan
  • A-Frame Physics System by c-frame
  • A-Frame Animation Mixer by c-frame
  • A-Frame GLTF Morph by elbobo
  • A-Frame Cam Render by jgbarah
  • A-Frame Shader Park Component shader park
  • Shader Park Templates shader park community
  • CSS Template andybrewer
  • Various Audio & Visual Assets by kenney
  • Various Visual Assets by kaylousberg
  • Town III Song by silverNimbus
  • Lightning Strike SFX by parnellij
  • Additional Misc SFX by lukas tvrdon, anttis instrumentals, sound ex machina, sonic bat, sound rangers, david fienup, soundjay via (gamesounds)[https://gamesounds.xyz/]
  • Thunderstorm Audio by White Noise Meditation, will find link.
  • XRcade Tiles, Shark & Squid Assets by unknown, will find attribution.

About

A-Frame UX Library : A Web XR System, Support Components, World Maps, Object Generators, Universal Controller & Interactive Powers.

Topics

Resources

License

Stars

Watchers

Forks

Languages