Babylon JS exported file for Blender, why?

This can be a stupid question but I must ask…

What is the benefit of using the .babylon file from the ‘BabylonJS exporter for Blender’ over let’s say glTF? When I just want to get a model out with materials?
As I understand it glTF contains material, textures, animation, and so on?
I can’t change anything in the .babylon scene, right? It´s like a compressed file. Is it “do the changes in Blender and render it in Babylon”-kinda solution?

I can´t find any info about why to use this plugin over export as glTF or even OBJ. There must be a superb reason, and I want to know :slight_smile:

1 Like

The plugin has more support for features which are not supported in Gltf like the link to physics property for instance and @JCPalmer the master of the plugin is always present for the community which is a pretty compelling argument :slight_smile:

4 Likes

Part of the reason is that BJS is at least 3 years older than glTF. Many people who were very happy using the JSON exporter did not want to have to switch. You can also read JSON directly, since it is text based.

A .babylon can also have cameras & lights in them, but you are not required.

4 Likes

Thanks guys, BJS sounds great!
Take this example for instance, a character with animation movements (one for walking and one for interacting) can I export that with BJS and use that in Babylon? Can I also export with materials and UV and so on?
Can I even export a scene with lights, physics, fog, materials and so on with the caracter in it, and still control the different elements? That would be jaw-dropping.

And this question from before.
I can’t change anything in the .babylon scene, right? It´s like a compressed file. Is it “do the changes in Blender and render it in Babylon”-kinda solution?

Sure you can, before or after import. Most people put very little in the before, other than to create the engine & scene. Afterwards, you can modify / delete anything imported, or add more things. BJS is not really even aware any thing came from.

It is not compressed. It is a readable text file in JSON format.

1 Like

@JCPalmer, thank you for your amazing Blender to Babylon exporter!

Would you know if it is possible to compress the resulting .babylon file similar to how .gltf is compressed to .glb? Thank you!

Hi, I’m a Blender3D user
In the properties of the objects you have the “Tags” are something fundamental when making video games.
You can search for objects in babylon using tags, such as meshes representing collisions. This does not exist in the glTF2 plugin.


You can also import the Blender3D physics into babylon, although it seems to me that there is a lack of work in it is apart from plugin

You can also export the world

You can also import the camera from Blender3D and it supports motion tracking.

It really is a good plugin although I found quite a few flaws.
Here they talk about this
https://doc.babylonjs.com/resources/blender

What I would like to know is if it is possible to connect in real time the exported scene, as to see the changes of Blender3D in real time in the scene of babylon.js

What about shadows? i cannot set up shadows of my model when exporting to glb/gltf, but I can when I use the babylon exporter plugin.

@gbz, if the server is set up to use gzip & a .babylon file is registered as a text mime type, transmission compression / de-compression happens at a lower level automatically.

If you wish to get a ball park of the compression, Windows file explorer does quick zip creation by right click -> send to -> compressed (zipped) folder. Double click resulting to size ratio. DO NOT give the server the zip file. This is just a quick way to see transmission size.


@Ariel_Gimenez , The tags feature is one of the few things someone else did. I know very little about it.

No there is no real time connect. I also worked on the MakeHuman Blender Add-on though. The other person rigged up a localhost:xxxx socket server in MakeHuman, and the add-on is the client. Meshes can be sucked through directly without any import / export involved. Something might be possible, but I am not working on that.


@DeepDeeh, yes either STD or PBR materials can be exported with shadows Must set the custom mesh properties for the caster & receiver meshes of each mesh involved, shown below.


For PBR, environment textures do not contribute to shadows, soshadows can be very faint. You probably need to make the shadows “strong” on the directional light properties, shown below.

Also, you might want to adjust the intensity of the environmental texture down, to make them show up better. The intensity for all materials is set in world properties, but you might only want override to lower the intensity for the material of the mesh receiving the shadow to make it stand out a little more.

material

3 Likes

Tags are like tag in unity or groups in Godot Engine.


https://docs.unity3d.com/Manual/Tags.html

Thanks guys, this plugin sound very good. I have a problem right away, I am trying to append a model to my scene like this:

let office = SceneLoader.ImportMesh("", “k7.babylon”, scene, function (meshes, particleSystems, skeletons) {
});

But the browser says this:
Line 26:18: ‘SceneLoader’ is not defined no-undef

So there must be something that I must import, anyonek know what? I am using React…