Beginner project

Hey there,

I present my beginner project for the holiday season (rather simple, but at that it was feasible to complete in time for Christmas :smiley: :

I learnt a lot the last three days about Babylon.js and tried to comment my code as best I could.

What was really easy to do (annotated from my beginners perspective)?

  • Exporting simple meshes with their materials (even textures) from Blender with the Blender Exporter
  • Fog, love it!
  • Glow (once I had help how to set it up in Blender)
  • Universal Camera with Walking presets (though could be improved by adding WASD)
  • Particle System (though still not fully understanding how to best shape the emitter mesh)
  • SSAO (though did not find good settings so I disabled it for now)
  • First steps in BabylonJS are simple enough, thank you a lot to all the developers and doc writers!
  • Exporting the keyed animation (converted from a Follow Path constraint, just had to figure that out, but really easy to do)

Most importantly, there are some very helpful souls on this forum, to whom I am really grateful!

The BabylonJs Blender Exporter is a great tool, without it I could not have done anything!

Most of the code was gathered and adapted from the documentation, which I generally enjoy quite a lot.

Whoever created the Playground https://playground.babylonjs.com/ and the Sandbox https://sandbox.babylonjs.com/ deserves medals, seriously! That was a huge help in finding issues in my scene.

Have not figured out a few things though or would suggest improvements to the docs and other aspects of Babylonjs (do not want to spill them all onto github, because it might simply be misunderstandings):

  • Would need a simple example for CompositeAction (I saw the one with the cubes and the sphere but that was too complicated for my beginner brain :sweat_smile: ) - replaced that with ExecuteCodeAction, which works nearly as neatly :slight_smile:
  • A simple walk scheme, like in modern games, which would use WASD / arrow keys and the mouse (arrow keys and mouse is unusual on the computer) - a tutorial on implementing those probably exist but I did not find it. And including a walk scheme for mobile seemed way beyond my beginner scope, sadly. Would love for that to be easier (aka included as an option in the UniversalCamera :grinning: )
  • Would love for the documentation to link to the source code as well, as that would help a lot understanding stuff (e.g. how the ParticleHelper.createDefault() seems to not need a texture [but loads one from the babylonjs website :smiley: )
  • indeed a ParticleSystem not needing a texture by default would be great to start with
  • I seriously do not understand the Node editor, which seems great but far more complex than the Blender Node Editor (probably because the Babylonjs-Node Editor achieves a lot more at the same time) - but would love for the Node Editor to offer quick accessible functioning presets (I saw the kind of but not presets for bubbles, smoke, explosions in the Particles editor, but I could not find what they change in the Node setup to make them work, so they left me more confused even) :slight_smile:
  • How to time music, though have not really researched it and thinking about it, that probably is a task I could figure out by myself given enough time :sweat_smile:
  • Could not get the Blender Spotlight correctly exported for some reason.
  • Would love for a quick link from Sandbox to Playground (and probably Node Material Editor as well) the other way around, as sometimes I open up the wrong page :wink:
  • Did not figure out how to add soft shadows, but that is probably due to using the HemiLight :wink:

The only gift I can give right now is my limited knowledge, the code and source files. I know there is an issue with a missing texture (do not know how to export a texture reference from Blender to an online ressource).

You can find all files necessary here:

They are all in the public domain - the simple music (track1), the blend file and the html are by me. The other tracks are from librivox, the snowflake textures (which are not used in the playground version) are from openclipart.org.

All the best and from my heart, thank you!!

18 Likes

This is quite an awesome first project you got there !

2 Likes

So good!

1 Like

Excellent and fun project demo in a Christmas winter theme.

I really would want to learn Blender myself someday soon too, so I can make similar scenes like you. Don’t know where to start/what book to read…

There seems to be some missing texture (in the playground) when you activate the train? Or is it something with my browser? See the red/black chess board textures on the mountains:

Love the train/locomotive element of course :wink: [spoiler: my Babylon.js project is called GeekTrains.com]

Q

4 Likes

That’s really nice! Continue please. :smiley:

Thank you very much for sharing. I learned a lot by tinkering with your code.

Hi can i ask what exporter you used from blender to babylonjs in this project, i tried so many but they just didnt work, and does the blender version matters in doing this process?

the default babylon exporter from @JCPalmer is awesome as well as the integrated gltf support in blender.