Model Jumps Down when Tweened

I have this ship that tweens to different waypoints that are all at the same height, but when it gets to the rotate part, the model jumps down and tweens back up. I would like to remove this and keep the ship at the same height during the entire tweening phase.

Script:

wait(5)
print('moving')
local TweenService = game:GetService("TweenService")
local waypointheight = 14
for i,v in pairs(game.Workspace.Waypoints:GetChildren()) do
	v.Position = Vector3.new(v.Position.X, waypointheight, v.Position.Z)
end


function spawnenemy(start, enemy)
	local startpart = start
	local enemyclone = enemy:Clone()
	local primarypart = enemyclone.PrimaryPart
	primarypart.Position = startpart.Position
	enemyclone.Parent = workspace.Enemies
	return enemyclone
end

function movetowaypoint(waypoint, enemy, timetogettowaypoint)
	if waypoint and enemy and timetogettowaypoint then
		local waypointpos = waypoint.CFrame
		local enemymodel = enemy
		local tweeninfo = TweenInfo.new(timetogettowaypoint, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0)
		local goal = { CFrame = waypointpos}
		local tween = TweenService:Create(enemymodel.PrimaryPart, tweeninfo, goal)
		tween:Play()
		tween.Completed:Wait()
	else
		warn('No waypoint or enemy or time set')
	end
end

function rotatemodel(startwaypoint, previouswaypoint, model )
	local enemymodel = enemy
	local tweeninfo = TweenInfo.new(.75, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0)
	local tween = TweenService:Create(model.PrimaryPart, tweeninfo, { CFrame = CFrame.new(Vector3.new(startwaypoint.Position.X, waypointheight,startwaypoint.Position.Z),Vector3.new(previouswaypoint.Position.X, waypointheight,previouswaypoint.Position.Z))})
	tween:Play()
	tween.Completed:Wait()
end

function enemy(enemy)
	local enemyclone = spawnenemy(workspace.Waypoints.Spawn, enemy)
	
	movetowaypoint(workspace.Waypoints.P1, enemyclone, 5)
	rotatemodel(workspace.Waypoints.P1, workspace.Waypoints.P2, enemyclone)
	movetowaypoint(workspace.Waypoints.P2, enemyclone, 5)
	rotatemodel(workspace.Waypoints.P2, workspace.Waypoints.P3, enemyclone)
	movetowaypoint(workspace.Waypoints.P3, enemyclone, 5)
	rotatemodel(workspace.Waypoints.P3, workspace.Waypoints.P4, enemyclone)
	movetowaypoint(workspace.Waypoints.P4, enemyclone, 5)
	rotatemodel(workspace.Waypoints.P4, workspace.Waypoints.End, enemyclone)
	movetowaypoint(workspace.Waypoints.End, enemyclone, 5)



end

enemy(game.ReplicatedStorage.EnemiesFolder.BasicMarineShip)

Video:

External Media

(Video is streamable link I don’t know why it doesn’t show the video itself anymore).
(Don’t worry about the part where the model falls once it reaches the last waypoint).

1 Like