Feature #40
Unity compatibility
0%
Description
Unity exports GLTF scene, but it requires GLTF extensions provided by babylon-manager.js. It's incompatible with current VRSpace.
Investigate and fix/implement what's needed to make it work.
History
Updated by Josip Almasi almost 3 years ago
- Status changed from New to In Progress
- Assignee set to Josip Almasi
Updated by Josip Almasi almost 3 years ago
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() }); } );
Updated by Josip Almasi almost 3 years ago
babylon toolkit is in poor shape, unity reports compiling errors, there's a single tutorial that shows things that don't actually happen on screen