Baby 3D Plugin for Construct 2
A downloadable plugin
"Baby 3D" is a 3D plugin and behavior suite for Construct 2 using Babylon.js currently consisting of three plugins and eight behaviors.
It comes with behaviors to easily create boxes, planes and 3D sprites. Turn tiled backgrounds into 3D objects instantly using the original object's texture or even use sprites to create animated planes and billboards.
You can also create hemispheric, directional, point and spot lights. Keep in mind though that Babylon.js does not automatically bake lightmaps or feature a deferred renderer, so lights are meant to be used sparingly.
Vertex coloring also became available with the recent update in form of the new Vertex Light plugin.
Please DO NOT attempt to use this plugin as a substitute for an actual dedicated 3D engine. The scope of "Baby 3D" is not even meant to fully cover the feature set of Babylon.js, but make mostly retro styled 3D experiments and smaller games possible with a decent workflow inside Construct 2 (hence the name).
Includes
- Main plugin able to create hemispheric and directional lights, add cameras and use fog
- Box Behavior to create a textured cuboids from a Tiled Background or Sprite object
- Plane Behavior to create walls, floors, ceilings or billboards from Tiled Background or Sprite object
- 3D Sprite Behavior creates a Babylon.js sprite from a Sprite object
- Point light behavior to add colored point lights
- Spot light behavior to add directional spot lights
- Vertex light plugin to splash vertex color to your liking
- Particles plugin supporting animation
- Camera behavior obeying to the parent object's position and angle
Additional plugins
- Model import
- Video textures
Additional plugins will be released at a later point.
Check out the simple example that comes with the plugin to learn how to set up a basic scene. Sadly there's no documentation yet, some more detailed information may be found over on the Construct forum thread and also here in the devlog.
Also don't forget to check out Hardliner a first person shooter being developed using this plugin.
Status | In development |
Category | Other |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | Pixel Rebirth |
Tags | 3D, babylonjs, Construct 2, plugin |
Download
Click download now to get access to the following files:
Development log
- Update 0.88Jul 30, 2024
- Update 0.87Apr 22, 2024
- Update 0.86Apr 14, 2024
- Update 0.85Apr 08, 2024
- April Fools'...Apr 01, 2024
- Update 0.82Feb 19, 2024
- The atmosphere update 0.8Jan 17, 2024
- Announcing the atmosphere updateJan 10, 2024
Comments
Log in with itch.io to leave a comment.
Hey, I've been enjoying the plugin so far. I'm on version 0.87 and I want to update to 0.88, do I just drag and drop the newest version into C2? Is there the possibility of it removing the b3D behaviors from already existing 3D objects?
By the way, I can't quite seem to figure out how to use the "add skybox" action
You can update by simply dragging the c2addon files into the C2 window. Just remember to update every single plugin and behavior. And do keep backups in case anything goes wrong.
The "Create skybox"-action will create a box a bit bigger than your layout size with a cube material. What it does expect however (and can hardly be known due to lack of documentation) is the textures for the six sides of the cube be added as files and follow a certain naming convention.
To quote the Babylon.js documentation: The CubeTexture constructor takes a base URL and (by default) appends "_px.jpg", "_nx.jpg", "_py.jpg", "_ny.jpg", "_pz.jpg" and "_nz.jpg" to load the +x, -x, +y, -y, +z, and -z facing sides of the cube.
So with the plugin the base URL would be the name you give the skybox via the action. If you check out the full documentation entry here you can quickly grab the example images to test for yourself(which I just did to make sure the skybox feature actually still works and gladly it does).
Thanks for using the plugin! I'm glad you like it so far.
By updating every single plugin, do you mean I also have to manually go through each object and and replace the old behaviors with the new ones? Is there a quicker way to do it?
No there seems to be a misunderstanding. The plugins/behaviors will be updating, which technically isn't making any change at all to your project. Just open Construct 2, drag over all the new c2addon files, then open your project which will now use the updated versions.
No need to manually go through anything in your project (unless there was some sort of major/breaking change in how things with the actions etc. work, which there wasn't).
Alright, thanks!
Oh, just one more thing. What exactly does it mean when the game says "unable to create VAO"?
Hi, I had a problem with the plugin. I was trying to copy one of the other examples into a project with it's events and no matter what I do the canvas stays 2D. Is there something I am doing wrong? I could provide a capx if you need it.
It's probably a case of your layers not being set to invisible. Since the 3D canvas is behind the C2 canvas all layers but UI and anything you want to be drawn on top need to be invisible.
Yes, that was the issue, thank you. Another thing, is there a way to display C2 effects on the 3D canvas (or over)?
Unfortunately effects will not work. In the future I will again look into making the plugin render to a C2 layer instead which would be preferable overall and also enable the use of effects of course. No promises though.
Okay, thank you for your response
Hi hi, so I'm having a problem with the examples in capx, especially with the billboard objects, as they are not appearing in the preview. Like the ratman, the ratman is invisible, and the trees are also invisible. I don't know if this is just me, or if it's a problem with the new version.
Please make sure you are actually using the latest plugin version 0.73 and also updated the behaviors. Because it sounds to me like some sort of mismatch, although if I'm not completely mistaken Construct should give you warnings for that upon opening the file.
What's your preview browser?
I got the most recent one. Oh and I also tested it on Chorme and Edge, it's having the same problem. I opened it through the browser and also through nwjs. The version is the most updated, even in the latest version of the construct. And it's having the same problem.
Video A
Video B
Quite baffling. If the material/texture can't be loaded you should be seeing a red and black checkerboard in Babylon.js.
Also the flame sprite clearly works which is also being loaded from a spritesheet within the Files folder, just like the billboard.
Anyone else having similar issues?
Did you always install the plugin and behaviors by dropping the c2addon file into the Construct window or are you doing it manually?
I just downloaded and installed the addon in the window normally. And it's just not working. That's why I think it's just me, because I haven't encountered a similar problem, and I don't know how to solve it. I'll try more and I can notify you if it's just my error.
I tried mismatching the Plane behavior (older version) with the current plugin but all that did was messing up the animations of the billboard.
At this point I cannot reproduce the completely transparent billboards you are experiencing. Unless you changed things in the capx itself, which would be obvious...
Sorry I can't help you any further right now.
Hi there,
Been following this plugin for a while. But for now I've been using ROOJ plugin. And as someone mentioned, I think you should take inspiration from that one. I like how you can create objects from vertexes in that one, and colour those vertexes. And yes it works as canvas. However, it would be good to be able to access these vertexes dynamically and change their position and colour which is not possible. But with this implemented doing a animation system is possible. Other issues with ROOJs plugin is transparency not working properly, and shadow maps. If your plugin would implement his plugin features and improve on them, I would switch, because you do have working lights, and looks like some good solutions. Otherwise I got to stick with ROOJs incomplete plugin because I'am developing system around it. Please give it a look in to it and see if you could mix both.
Thanks! KUGW
While it's perfectly possible to create custom meshes from vertices in Babylon.js and color them it's not really within the scope of this plugin.
So if I did open that can of worms it would be at a much later point in development sadly (certainly after 1.0).
To be fair there is already some vertex displacement going on with the recent ramp property for the box behavior which might be expanded upon in future updates.
Always been looking to learn from other plugins best to my ability, but to be frank a lot of what Rojo does just goes over my head.
Thanks for your feedback and interest in the plugin!
Here's a suggestion: make the plugin render to the 2D canvas (like rojo3d), so shaders/effects can be used
(and maybe even some kind of "transparent sky" setting)I tried to do this initially but failed. Maybe I should have another go at it.
Looking at the source code, you should probably check if there even is a TiledBackground in a project at all.
Oh and here's two other things: add something for camera rotation (better yet - make a camera behavior), and for some reason the game freezes during loading if i set unit res to 1.
The way you manipulate cameras is via events mainly by setting camera position and camera target. Some actual rotation actions are still missing though as you noticed.
Edit: rotation actions and camera behavior were added in the latest update.
Unit resolution of 1 is probably a bad idea as you most likely wouldn't want a single pixel representing a unit in the 3D world. Didn't freeze for me when I quickly tested with the example project though.
Was too daft to comprehend what you actually said, but yeah you're right. The instanceof checks require that object type to exist, which will cause this error. Should fix soon.
As i install them manually, i had to figure out which is a behaviour and which is a plugin. It would be helpful to give a info via this site or on the name itself. baby3d is the main plugin and the rest are behaviours.I see that its clearly written in the Includes section, but still would love to have it at the file names.Keep up the awesome work!
I'll add that info to the file names in the coming update.
thanks alot!
Thanks a lot for still releasing construct2 addons!
You're welcome!