It’s been a while since I wanted to try BabylonJS, but as all of you, I had some projects on the run that I wanted to finish AND release ;).
So finally, two months ago, I took the time to start a little project, only to discover the framework, with the usual tutorials like creating spheres, cubes, adding lights and camera. I even installed blender to do some 3d modelling in order to get an export (nothing extraordinary – it’s a pity, I used to be good at that, but it was ten years ago on 3dsMax …).
I started the project without any clue of where I was heading (the goal was to discover BabylonJS), I had in mind to make some kind of game out of it, but that was all …
I ended up making Cone.js, a class that lets you manage those 3d cones I told you about, but I did much more than I thought at the beginning :
- extension possibilities of the Class (like the jQuery.fn)
- methods not only available on cone instances but also on cone lists
- animation queue management (even custom user queues)
- tried both jsdoc and yuidoc documention generators (finally kept yuidoc)
If you have a little game development background (you’re used to manage things like render loop / user inputs), you can start making simple scenes with BabylonJS very quickly (especially with user interactions with your objects). However, if you don’t have any 3d background, I think the modelling / texturing part (that you make it by code or in softwares like blender) may be difficult.
One thing I was a little disapointed of : the physics engine. At the moment I write those lines, there are only two types of impostors : Box and Sphere (not counting the Compound), so if you have a cylinder or a complexe mesh, you can’t benefit of the built-in BabylonJS physics engine. But don’t shy away, this matter is taken in account as well by the BabylonJS team as by the community (I think someone is already porting ammo.js).
I’d like to finish this post by thanking the BabylonJS team who is there on twitter to answer very quickly to any questions.
PS : Next step : I’ll add some particules effects (I haven’t played with that yet).