So I have been working in my past time (the little bit I get) on a Entity/Component System, State Management, Scene and Render Manger all wrapped into a single workflow. This was so I can make more robust and modular projects with the scriptural components easily movable and reusable.
With it I have been able to do a few different scenes fairly easily, from a 2d physics debugger/visualizer (uses planck.js for the 2d Physics), A inertia based character controller and character state manager, then last a simple snapping model building system.
As a quick demonstration of it in action, I left the snapping system entities enabled in a base scene to kind of showcase what a couple hours in the workflow can do.
I call the work flow Neberkenezer Builder, or NeBu for short (The Greatest Builder, Builder bruahaha)
GitHub - Pryme8/NeBu, there is no read me yet or nothing… so dont expect much from the git. But if you wanna run a local deploy its
npm run start.
Eventually Ill have some documents and way more demo scenes but here is a sneak peak.
Head to http://pryme.design for the example scene, it will take a while to load because its on a crappy GoDaddy cPanel, and I think I messed up the webpack settings so the vendor bundle is huge (plus no ssh cause this will not be up for long)…
Anyways once its loads you will see this:
Select an item, click to place it.
The Objects will try to find the closest snapping point on near models, unless its a decoration model.
Rotate Model with Q (left) and W (right)
Flip with Z and X
Shift Click to Copy an Object
Delete to well Delete Selected object…
Free transform does not work yet
Anyways I know its really rough and not all the meshes have good previews plus the load time sucks right now with no indication of what’s going on unless you have the console open. Other then that this is kind of fun and I would love to see if anyone can make a cool building or something with this and post a screenshot!
Shout out to Kenny3d for the sick free models. I had to fix them up but he did all the footwork.