Babylon exporter (0.8.1) actually exports babylon scenes rather than gltf; maybe this can be controlled somehow.
Saves html with inline scripts that load the scene.
All required scripts are saved in scripts folder; all babylon scripts are rather old, v4.0.3.
Required methods are missing in numerous classes, e.g. Engine.getInputElement, Bone.getIndex etc.
Workaround is to replace obsolete libs with current ones, e.g.
<!-- Engine Libraries -->
<!-- obsolete ones
<script type="text/javascript" src="scripts/babylon.js"></script>
<script type="text/javascript" src="scripts/babylon.gui.js"></script>
<script type="text/javascript" src="scripts/babylon.gltf.js"></script>
-->
<!-- MANDATORY babylon.js scripts -->
<script src="https://cdn.babylonjs.com/babylon.js"></script>
<script src="https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js"></script>
<script src="https://cdn.babylonjs.com/proceduralTexturesLibrary/babylonjs.proceduralTextures.min.js"></script>
<script src="https://cdn.babylonjs.com/gui/babylon.gui.min.js"></script>
Other than that, WorldManager expect a World to work with. Simplified UnityWorld does the trick.
It can be used after the scene is loaded, e.g. in generated removeSceneLoader function, like:
import ('../../../babylon/js/vrspace-min.js').then( vrspace => {
var world = new vrspace.UnityWorld();
world.init(engine,title,scene);
var net = new vrspace.WorldManager( world );
// connect, set own avatar and start the session
net.enter({
// RECOMMENDED set your avatar url, or be invisible
mesh:'//www.vrspace.org/content/char/male/bruce_lee/scene.gltf',
// OPTIONAL set your name, MUST be unique
name:'someone'+Math.random()
});
} );