Part registers collision at weird positions

I’m trying to make a projectile stop on contact with the baseplate, however, it sometimes stops in midair, usually around 10 studs above the baseplate, and I don’t know why. I made sure there are no other parts with collisions in my workspace, and even added print statements to make sure its colliding with the baseplate (It is). Here’s the code and a gif of the current behavior:

	local OrbProjectile = CloneOrb(Orb)
	local distance = (Orb.CFrame.Position - Target).Magnitude
	local AerialTarget = Orb.CFrame.Position:Lerp(Target,0.5)+Vector3.new(0,10,0)
	OrbProjectile.CFrame = CFrame.new(Orb.CFrame.Position,AerialTarget)
	local BV = Instance.new("BodyVelocity")
	BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	BV.Velocity =  OrbProjectile.CFrame.LookVector * distance * 1.7
	BV.Parent = OrbProjectile
	wait(0.2)
	BV.Parent = nil
	OrbProjectile.Touched:Connect(function(touched) 
		if touched.CanCollide  and touched.Parent ~= player.Character.Humanoid then
			OrbProjectile.Anchored = true
		end
	end)

FailedCollisionExample

Try setting the OrbProjectile’s network owner to the player for more accurate collisions? I’m really not sure whats wrong, could be a few things, maybe the hitbox is bigger than it looks? Maybe when you spawn the part it touches the ground then?

1 Like

Thanks! I was able to fix it by setting network ownership

1 Like