I'm working on a window that when shot, will break. I'm using a for loop to generate the fragments which will fall to the ground. The problem here is that the window fragments, when put together, are bigger than the actual window.
I tested this on a window with a size of [10, 10, 0.2].
My loop divides the window into a 10x10 grid and creates the window with that grid. On a 10x10 size window, the fragments should be 1x1 studs in size and they are. What doesn't make sense to me is how they are actually larger than the window. Here is my code.
local SizeX = workspace.Window1.Size.X local SizeY = workspace.Window1.Size.Y for x = -SizeX/2, SizeX/2, SizeX/10 do for y = -SizeY/2, SizeY/2, SizeY/10 do local Fragment = Instance.new("Part") Fragment.Size = Vector3.new(SizeX/10, SizeY/10, 0.2) Fragment.Anchored = true Fragment.CFrame = workspace.Window1.CFrame * CFrame.new(x, y, Fragment.CFrame.z) Fragment.Parent = workspace end end
Screenshot showing what is happening
EDIT:
I divided x and y by 1.111 and it seems to work. I came up with that number by guesswork and would like a real solution.
Here is the edited code:
local SizeX = workspace.Window1.Size.X local SizeY = workspace.Window1.Size.Y for x = -SizeX/2, SizeX/2, SizeX/10 do for y = -SizeY/2, SizeY/2, SizeY/10 do local Fragment = Instance.new("Part") Fragment.Size = Vector3.new(SizeX/10, SizeY/10, 0.2) -- Vector3.new(0.5, 0.5, 0) Fragment.Anchored = true Fragment.CFrame = workspace.Window1.CFrame * CFrame.new(x/1.111, y/1.111, Fragment.CFrame.z+0.2) Fragment.Parent = workspace end end