Babylon.js or Three.js are pure javascript libraries. Unlike Unity, they are light and do not require an IDE. They are free and open source. By the way, I'm thinking of compiling the loader for Babylon or Three.
I chose Unity here because I master more and because the integration of C++ (for the libs I bought to decode some formats) is simpler.
I also chose Unity because I would like to use my loader to create an augmented/virtual reality 3D model viewer application for Hololens, Open VR, w10 Headsets, ... And Unity can compile the same code for targets that have nothing to do with each other.
I'm looking for a solution to an online furniture/home configurator. As much as I want to use unity or unreal, I'm worried they are too heavy for the web. Previously I have tried some unity online demo links. Most of them are not loadable, and a few loadable ones take a long time to load. This makes me hesitate.
Indeed, Unity's main problem is that its core weighs ~3MB and we can't do without it. But for a professional use, where the user can afford to wait a few seconds for the loading, it seems to me suitable. It's possible to cache the core so that it won't need to be reloaded in the future. WebGL export is officially not supported on mobile (even if unity supports touch screens), but in fact, when you know what doesn't work on mobile (some shaders and textures), you have to be careful.
The big advantage of Unity is the speed of development, the huge community, tons of free resources, an active forum and very powerful features. I don't know enough about other engine, so I cannot help you for choosing
Not the OP, but having used Babylon.JS it works fine for simple things but the codebase is a disaster, particularly anything physics-related. It's clear the architects and devs had never worked on a serious professional engine before starting working on it because the codebase is riddled with rookie game dev mistakes. The biggest is a complete failure to understand the importance of dimensions and units in the camera and character movement code and physics systems. Distances are added to velocities, directions are used as accelerations, time is used as dimensionless factor, if you've ever done serious Physics coding what you find in the codebase is terrifying. There is no way to make the system frame-rate independent as a result because what you're really doing when you garble units like this is making assumptions that the frame rate is constant so time and inverse-time factors can be ignored (hello, 1990's calling! We want our bugs back!). Once this kind of stuff gets embedded in a codebase it's very hard to take out on a piece by piece basis because all the math in your architecture ends up being a hack that happens to collectively mostly work. As you start trying to remove it, the hack stops being mostly self-supporting and starts breaking everywhere until you complete the fix, but there is no way to know where all the flaws are without an exhaustive single-pass code review of the entire codebase by a serious skilled and experienced dev or devs, which is unlikely to happen (particularly when the core mantra of project leadership is "100% backwards compatibility always!" which is a great concept until you find something you really screwed up originally and now you're stuck with it for eternity).
Huge kudos to the team for getting bought by Microsoft. Yes I'd use it again on another very small "show a model but don't need any serious gameplay" project but I'd be very scared of anything where I was intending to invest more than a tiny amount of coding time in the project because the architectural and implementation failings will balloon your coding time dangerously.
I'm looking for a solution to an online furniture/home configurator. As much as I want to use unity or unreal, I'm worried they are too heavy for the web. Previously I have tried some unity online demo links. Most of them are not loadable, and a few loadable ones take a long time to load. This makes me hesitate.
This is not a casual product to start on. Getting access to a large enough supply of high quality source models and building a pipeline to convert and track and deliver them is far from trivial. The hard part of building IKEA's 3D kitchen design app isn't the 3D rendering, it's having the 3D models and having the data to configure the models.
9 comments
[ 3.0 ms ] story [ 31.9 ms ] threadThe big advantage of Unity is the speed of development, the huge community, tons of free resources, an active forum and very powerful features. I don't know enough about other engine, so I cannot help you for choosing
Huge kudos to the team for getting bought by Microsoft. Yes I'd use it again on another very small "show a model but don't need any serious gameplay" project but I'd be very scared of anything where I was intending to invest more than a tiny amount of coding time in the project because the architectural and implementation failings will balloon your coding time dangerously.