DigitalBacon
Create 3D websites easily that run on AR, VR, Desktop, and Mobile devices with Digital Bacon. No coding required, but supports an API to create plugins for advanced customizations
How to use
Go to the Digital Bacon Editor to create a 3D website and then save your project zip file. You can then host your project using the below html snippet (or just fork this repo and replace my-project.zip with your project file)
<html>
<head>
<script type="importmap">
{
"imports": {
"DigitalBacon": "https://cdn.jsdelivr.net/npm/digitalbacon@latest/build/DigitalBacon.min.js",
"three": "https://cdn.jsdelivr.net/npm/three@0.164.1/build/three.module.js"
}
}
</script>
</head>
<body>
<div id="my-container-id"></div>
<script type="module">
import { setup } from 'DigitalBacon';
let params = { projectFilePath: './my-project.zip'};
setup("my-container-id", params);
</script>
</body>
</html>
Adding Multi-User Support
You'll need an authUrl and socketUrl tied to a server to handle all the handshaking and management between users. My Digital Bacon offers a free tier that you can use for this purpose, just create an account and add your website's origin as an external project and you'll get the necessary urls to be plugged into your setup parameters like so
let params = {
projectFilePath: './my-project.zip',
authUrl: '{AUTH_URL}',
socketUrl: '{WEBSOCKET_URL}',
};
setup("my-container-id", params);
Local Network Testing
If you want to test your changes with another device on your local network, you can run npm run start-ssl
. Before doing this you'll need to create both cert.pem and key.pem files. Mac Users can generate these files via openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
Contributors
A special thanks to the following people for taking time to contribute to this project