/3d-web-experience

Primary LanguageTypeScriptMIT LicenseMIT

(MML) 3D Web Experience

This repository contains packages used to run a web-based, multi-user 3D web experience that supports MML (Metaverse Markup Language). This repository includes two published packages:

There is an example implementation of a 3D web experience in the examples directory. This example contains:

  • web-client
    • A THREE.js 3D experience utilizing the @mml-io/3d-web-client-core and @mml-io/3d-web-user-networking packages to create a multi-user 3D web client that connects to the server.
  • server
    • A server which serves the web-client and handles user networking WebSocket connections with @mml-io/3d-web-user-networking
    • Additionally, the server runs MML documents in the mml-documents directory which are then connected to by the web-client.

It can be easily deployed to environments that support Node.js and expose ports to the internet.

Main features

  • Multiple users can connect to the experience using just a web browser.

  • Users can interact simultaneously with the stateful MML documents.

  • Easy to deploy and extend with interactive MML content.

Running locally

Making sure you have Node.js installed, run the following from the root of the repository:

npm install
npm run iterate

Once the example server is running, open http://localhost:8080 in your browser.