Construction Toy Building Plugin for Roblox Studio

What is this?

After seeing MaxxMaxxMaxximus’ awesome work on Reddit, I thought it would be cool to make a plugin enabling that workflow. Introducing, the Construction Toy Dragger:

These draggers let you build models using construction toy parts that are designed to “snap together” in specific ways, rather than the freeform building that the normal draggers support.

Example Usage

Example model that I put together in ~30 minutes (Twitch VOD link of the build). The plugin includes an “Insert Kit” button that inserts all of the parts in this model.:

Adding your own parts

You can find a python script here on Github which allows you to import parts from the ldraw parts library (LDraw.org - Latest Parts). Any content you want the draggers to work with must be marked up with one or more of three kinds of child Attachment depending on the desired behavior:

  • Name the Attachment “pin” to create a pin / pin hole whose orientation matches the yellow axis of the Attachment widget.

  • Name the Attachment “axle” and give it a “Length” attribute to create an axle of that length, along the direction of the yellow axis of the Attachment widget.

  • Name the Attachment “surface” and give it “Yellow” and “Orange” attributes to create a surface extending out that far along the yellow and orange axis of the Attachment widget.

Feedback welcome. Very much still a work in progress.

32 Likes

Super cool! This is exactly what my 12 year old self would have wanted out of building toys, but I never owned enough pieces to do anything interesting.

Are you looking to add automatic welds / constraints in the future? It would be really cool to be able to snap together physically simulated constructions without having to manually rig them with constraints.

2 Likes

TBH I didn’t handle welding because welding is a huge can of worms that I don’t really feel like trying to figure out good behavior for when manual welding would probably work better than automatic welding for anyone who actually wanted to make a physically simulated model out of it.

The entire project took about 16 hours total including the importer script, and doing anything with welds would likely double the time, it’s so finicky to handle.

For constraints, I can’t really make every joint an auto constraint. However, one of the advantages of using Attachments to mark up the ways that the parts join is that you already have attachments hanging around in the right spots with the right orientations when you want to add physical simulation behavior to the model, you just need to add the constraints between them (though I haven’t attempted that yet).

3 Likes

Yeah, I can imagine welding would be a terrible mess, was just curious if you were considering it. It definitely does not sound even remotely fun to start trying to figure out a good way to handle it. Might be better to process a completed model all at once rather than trying to handle it as part of the dragger. Maybe it’s possible to figure out connections according to attachment positions.

And yeah that’s a great point about the attachments and their orientations, I didn’t even consider the existing ones would be oriented correctly for constraints already. It’s really tempting to try and see what happens.

2 Likes

Awesome! Bringing back memories of what I did as a child… :sweat_smile: :+1: :rofl:

1 Like

Amazing! this reminds me of when I was little and building cars with my legos, nice memories, keep it up I hope I can do great things with this plugin!