Viewport frame 3 egg problem


for i = 1,3 do
		spawn(function()
			local Folder = RS.Pets.Models:FindFirstChild(Result[i])
			local Type
			for _,v in pairs(Egg["Pets"]) do
				if v.Name == Result[i] then
					Type = v.Type 
				end
			end
			local PetClone = Folder:FindFirstChild(Type):Clone()
			local EggClone = workspace.Eggs:FindFirstChild(script.Parent.Parent.CurrentTarget.Value).EggModel:Clone()
			
			local Rarity = Folder.Settings.Rarity.Value
			local RarityColor = RS.Pets.Rarities:FindFirstChild(Rarity).Color.Value
			local tweenInfo = TweenInfo.new(.35, Enum.EasingStyle.Quad)
			local EggDelay = .075
			local EggPos
			local PetRot
			if i == 1 then
				EggPos = 0
				PetRot = 180
			elseif i == 2 then
				EggPos = -4
				PetRot = 220
			elseif i == 3 then
				EggPos = 4
				PetRot = 140
			end
			EggClone.Parent = FrameClone
			--EggClone:SetPrimaryPartCFrame(CFrame.new(EggPos,0,0) - Vector3.new(0,10,0))
			local Module3D = require(game.ReplicatedStorage:WaitForChild("Module3D"))
			local Model3D
			Model3D = Module3D:Attach3D(FrameClone,EggClone)
			Model3D:SetDepthMultiplier(1.2)
			Model3D.CurrentCamera.FieldOfView = 5
			Model3D.Visible = true
			EggClone:SetPrimaryPartCFrame(CFrame.new(EggPos,0,0) - Vector3.new(0,10,0))
			
			game:GetService("RunService").RenderStepped:Connect(function()
				Model3D:SetCFrame(CFrame.Angles(0,tick() % (math.pi * 2),0) * CFrame.Angles(math.rad(-10),0,0))
			end)
			
			--
			local bringEgg = TS:Create(EggClone.PrimaryPart, tweenInfo, {Position = EggClone.PrimaryPart.Position + Vector3.new(0,10,0)})
			bringEgg:Play()
			wait(.35)

The 3 eggs are all in the same x value. How do I fix this?