Hello everybody. I’m a technical artist, and I’ve been using unity3d for a long time.
I’m studying to start a project with Babylon as an alternative, but my first impressions of the editor is that it isn’t something production ready, really feels like an Early Access Beta.
Right now, is it a characteristic only of the editor or is Babylon in this stage? Should I try doing everything by code?
Hi Matheus_Dalla,
Welcome to Babylon! The editor is a separate project driven by the Community; while we think it’s really cool for many things, the core Babylon.js team does not work on it or support it as we do Babylon.js itself.
Regarding doing everything in code, that is definitely a way to approach it — Babylon is kind of “code native” in the same way that Unity is “editor native” — but it’s not necessarily your only option. Especially when it comes to 3D arrangements (placing objects in a scene, etc.), I’d actually recommend doing as much as possible in Blender or a similar DCC tool, then “gluing the pieces together” using code. For example, if you wanted to set up a game level with a bunch of 3D models, a player start, and a goal position, you might do the entire level design process in your DCC tool, marking the relevant non-geometry points (player start, player goal, etc.) with named empty transforms or “nulls.” Then, when loading that scene into Babylon, all you have to do is find those named “nulls” to know what positions to use in your player spawn and other game logic.
Bear in mind that this suggested workflow is very much a speculative work-in-progress; I haven’t had a chance to do a golden path for an experience like this yet. If you can do everything with pure code, that’s always a good fallback to have and may very well be the most straightforward approach for now. But if you’d rather try to do some of your “editor”-style work in a DCC tool, there are ways…
Hope this helps, and best of luck!
Yeah, thanks for this answer!
Right now I`m trying to find content about design patterns applied to babylon projects.
To see how I would be applied to use something similar to the component approach that unity has, and also event systems.
Things that enable to the workload to be more spread between artists, designers and developers, not too much programmer centric as it looks right now.
Gotcha. In that case, you might be interested in taking a look at the Template Repository Workflow (TRW) and/or Fruit Fallin’ Dev Story that illustrates the TRW’s use in making a simple game. This is a part of Babylon that we’re very actively working on (in fact, there should be some new Dev Stories/golden paths dropping very soon), and the goal is to explore and describe some approaches to tackling these kinds of challenges.
Regarding components, that’s not something Babylon itself specifies, but it’s not difficult to add in a project. (There is an old “behaviors” API as well, but I don’t think it’s quite the same thing.) Regarding events, Babylon’s Observable
s are a very central part of the engine’s usage, and as of 5.0 they can even give you coroutines. Finally, regarding spreading work out across the whole team, I definitely think the TRW documentation is worth a look, but I’d also love to hear any other specific needs/thoughts you have on that topic. As I mentioned before, this is an area we’re actively looking into, and there should be some additional related Dev Stories/golden paths coming soon; but those won’t be the last, and any learnings you can contribute to help inform the process going forward will be awesome!
Thanks a lot!
Looks like I’ve got a lot to read right now.
Well, my goal would be to have a solution like these one for unity:
This events and scriptable objects enables me to create an abstraction layer where I can code VFX without code dependency, enabling me to create VFX that are influenced by a lot of variables and because they have little to none dependency they are really easy to test and debug.
Been enabled to test and develop assets without the game running is a huge productive gainer.