by q_andrew on 4/20/23, 8:31 PM with 30 comments
by q_andrew on 4/20/23, 9:27 PM
As a technical 3D artist, Babylon has been a great way to dive into web dev, and it parallels with standard game engines just enough that I can easily find my way around the documentation.
by janosdebugs on 4/20/23, 9:43 PM
by tppiotrowski on 4/20/23, 11:51 PM
by pjmlp on 4/21/23, 6:01 AM
However the babylonjs 6 release video has several goodies in there that are actually at a quality level, that shows there are a few gems out there after all.
https://babylonjs.medium.com/announcing-babylon-js-6-0-dcb5f...
Finally I stand corrected, even if there is some gap to cover relative to native APIs.
by jalino23 on 4/20/23, 9:52 PM
by fifticon on 4/21/23, 12:14 PM
Then there is AFrame.IO, which I've used some. It doesn't offer much, so it doesn't disappoint on what it delivers.. It is probably the closest to VRML, but sadly doesn't offer as good an experience as we had around 1999/2000 :-/.
So, I've tried babylon.js. My gripes with it are: - for the usual demos it loads, it doesn't seem to have a 'preferred navigation feel'. - it doesn't seem to care for planet earth physics much. I'm probably not describing this aspect the right way. VRML used to have 1.0 units correspond to 1 meter, and people would size their content based on this. Similarly, rendering client navigation would base on this, so you would move around at speeds akin to walking - it would even default the viewpoint height to 1.8 or something like that (to resemble a human being about 180cm of height.) It's about the look&feel, how it FEELS when you try to navigate the 3d world. If it feels janky, not smooth, that is bad.. And if 10 different 3d/VR experiences have different navigation model feels, that does not feel good to the end user. VRML had this down - in 2001. TL;DR: Default navigation UIs in babylon seems like a kludgy afterthought, instead of a "Steve Jobs design priority".
Another example: Setting up a default test scene. If I were trying to push my 3d engine/tech to people, I would prioritize tools to set up small "hello world" scenarios. Supporting a good 'hello world' is not frivolous. It is about selling your tech, and convincing. If I try out a small demo, and I feel it is intuitive and easy, and that "I am in control", I think 'Yeah I can build something on this!', and get the impulse/momentum to want to build something in this.
Again, VRML did this well: You could set up a scene in like 5 lines of code. For example, you could specify a sky sphere, or a sky box, with 3-5 lines of code. I would often do a 3d world, where I started specifying a ground and a sky and colors for them, with such 5 lines. Being able to load your 3d scene already with this and walk around in it, is COOL! It makes you want to "put further stuff in there", because you can already see it. Babylon.js, in theory, has similar stuff. But if you try to actually use it, you find out that it wasn't really intended for general use, and not really intended for any real use either, it seems more like a sort of 'can't you throw _something_ like that in there?'.
_SOMETHING_.. - not something good. So - another strike - for setting up a basic sky and ground, babylon.js is worse/not as good as HTML from 25 years ago :-/.
They may have fixed some of this, but past disappointed experience makes me reluctant to take the effort to check it out again :-/
Another thing that put me off: I never found any community actively using babylon.js, at least not that I could find with google? (Discord & your ilk be damned.) I found reddit's /r/babylonjs, but it was mostly empty, apart from release announcements by MS, and random demos done by MS people. So if there is any active community using BJS, I haven't found them?
What I've mostly used instead, is - the roblox engine (I use all this to try out ideas, not to serve a commercial purpose.) - the GODOT engine, which I am willing to praise as high as I am willing to .. not? praise babylonjs? - Unity, but for what I do, roblox serves as well, plus I don't have to handle publishing.
I had high hopes for babylon.js - as a wrapper that would shield me against three.js changes - but I am still looking.