How to Resize Model seperatly on X and Y Axis and not have it look weird

I Have a basic glass shards model that I want to have cloned and resized to the window size, no matter the size of it.
When I use my scaling script, it doesnt scale proprtionally

for _,v:BasePart in pairs(workspace.Shards:GetDescendants()) do
  v.Size = Vector3.new(v.Size.X ,v.Size.Y,v.Size.Z* 1.5 )
end

Also I would like for it to have its width and length changed no matter the orientation, because if I rotate the model, it effects the depth instead of the width

Please help me out as I couldnt find the exact solution elsewhere :smiley:

Unfortunately, there is no scaling for specific axes. The closest you can get is Model:ScaleTo(), but that scales by a factor and not by a Vector3 value.

You have a few methods to prevent this problem:

  1. Import a 3D Blender/Maya mesh and use that instead
  2. Combine all the parts using CSG
  3. Use code to scale and position each model correctly, which can be computational if repeated hundreds of times

I was thinking turning it into a union, but is it possible to un-union with a script