[Plugin] Model Stretch / Widen V2

What it does:
Ever wanted a plugin that could stretch your buildings? (Not Resize). This simple tool I made can do reflect, stretch, turn it into a parallelogram, widen, or make models taller much more easily.

Demonstration:


Link to plugin:

How it works:
Current BasePart primitives in Roblox are Parts, WedgeParts, and, CornerWedgeParts (excluding TrussPart and MeshPart and SpawnLocation). Sometimes, if you stretch the corner vertices of a Part, you transform the cuboid shape of a Part into something known as a Parallelepiped.


This primitive on the right now has to be made up of a new primitive as all Parts are cuboids and cannot become what you see on the right.

My plugin efficiently handles this by creating parallelogram faces which make up the new primitive (of which, each parallelogram uses one Part and two Wedgeparts to save on the number of parts needed to make the face.) It also optimizes polycount where necessary → If the Part being stretched isn’t being stretched at an angle as in the image, it will not waste resources in trying to turn it into a Parallelepiped and instead keep it as a normal cuboid Part. Lastly, my plugin also stores custom CFrame data in each of these new primitives if they’re ever constructed so that when you go to stretch them again (with my plugin), it won’t increase the polycount / PartCount further (by re-using that data).

From there, it also does something similar for WedgeParts and CornerWedgeParts (by constructing new primitives when necessary which attempt to minimize polycount).

Recommended Usage:

  • When moving the XYZ points, right-click and ensure you use local space as this lets you drag those points parallel to the bounding box of the model.
  • Stretch failing?
    Try anchoring your model before stretching.
  • I personally recommend using blender where appropriate to stretch meshes / meshparts as a roblox-mesh cannot undergo a shear transformation and hence, they cannot be stretched in all directions [but it does approximate them okay-ish sometimes → avoid shear transformations (only stretch and resize)]. It currently cannot stretch unions, though I might see if there is a possible way to do this in future.
  • For more info, open settings in the plugin and/or read the plugin description on it’s install page.

This was originally released in 2018 but I thought I should do a write-up on how it works and a thread for bug fixes.

Lastly, do make use of the 3-side buttons: Settings [Cogwheel icon], Vector Lengths [RGB arrows icon], and, Local Matrix Data [Tic tac toe button].

All suggestions and feedback welcome

153 Likes

Oh wow this is amazing, would make it really easy to make cartoony or warped buildings for games, mad Im only just now finding out about it

5 Likes

Oh, it’s beautiful. I love it! Great job on this plugin.

6 Likes

This seems like it could have cool uses! I remember being confused why I couldn’t stretch some things but could stretch others. (Parts and Models)

Are there any backup, undo, options if you mess up?

3 Likes

This is tremendously impressive, I want to call it groundbreaking. I haven’t seen anything like this done before. I’m totally blown away by the parallelogram transformations.

12 Likes

Thanks for the feedback!

How I could potentially create CSG stretching in future (is this feasible?):

Instead of using WedgeParts and Parts to make up the new, stretched primitive, I could cut away chunks from a part with union/negate operations. ($)
From there, if I take any union and separate it out into it’s negative parts and positive parts, and then transform all of them with the ($) method, and then re-union all of it after -> it could essentially stretch a union. Though, I wonder if this would work reliably and if it would lag a lot.

1 Like

This seems very good, all I say is the GUI needs a little upgrade but other than that looks good.

2 Likes

Impressive, this is really cool! I really wonder what funny builds can be made using this :rofl:

3 Likes

Wow cool I like it :smiley: :blush:

2 Likes

My profession isn’t building but i’ve always had issues with resizing entire models because roblox always tries to keep the aspect ratio of a model the same when resizing when i only need it wider or taller. This plugin is a godsend.

5 Likes

I really like…love…admire and need this plugin! Extremely helpful for all those times when I don’t want to keep the aspect ratio! Tysm!

2 Likes

Good job! This is definitely convenient for some developers.

2 Likes

This is hella cool!
I will definitely be using this.

I can’t believe I’ve never thought of this before, however it is highly useful and thus I appreciate this great release of yours. :+1:

2 Likes

Yeah, you should be able to undo using Roblox’s standard undo

Amazing, sucks that I haven’t found this earlier. Will definitely use this in my future projects, gonna make development faster.

2 Likes

This is a great and powerful tool to use, but I’m noticing an issue that I simply can’t look over at the moment. The stretch isn’t entirely accurate to the stud increment and so far it’s impossible to accurately achieve the correct dimensions you want on your model.

I apologize if my wording seems off but currently I’m trying to resize a model down by a set number of studs and it’s not giving me the correct length, instead of setting it at the size I want, which is 35.62 studs long, it’s misaligned by .01 stud off. Stretching it again continues the issue as it get’s closer to the measurement I want, but it’s never accurate.

Doesn’t seem to be working as expected:

Edit: Just saw the description, doesn’t support unions, it would be great to be able to use this plugin on unions soon.

Just found this plugin haven’t bought it but I already love it, responding to this mans response unions are non-uniform now its in beta though

1 Like

I am sure this post goes against the “Open-source only” rule mentioned in the pinned About post of the Community Resources category.

Only post resources with a substantial free or open-source component here ( code must be open-source ). Post paid or closed-source service subscriptions, plugins, and other resources in #help-and-feedback:creations-feedback instead

2 Likes