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)