Problema com raycast

Opa, então eu estava refazendo um sistema de sangue usando raycast como colisão, porém o roblox entrega uma posição errada a certa. Deixando o ray visivel eu consegui ver o problema mas n sei solucioná-lo, quem conseguir me ajudar eu agradeço.

local Hited = false
    local to_Go = Original + Vector3.new(
        math.random(-10,5),
        math.random(-10,5),
        math.random(-10,5)
    )
    local g0 = Vector3.new(0, -game.Workspace.Gravity, 0)
    local v0 = (to_Go - Original - 0.5*g0*t*t)/t
        
    local Blood_Ball = Recourses.Blood:Clone()
    Blood_Ball.Parent = Blood_Folder
    Blood_Ball.Velocity = v0
    Blood_Ball.Position = Original
    local non = Most_Functions.joint(To_Filter,{Blood_Folder})
    wait(.1)
    Run.Heartbeat:Connect(function()
        if Hited then return end
        local r0 = Ray.new(
            Blood_Ball.Position,
            Blood_Ball.Position - Vector3.new(0,3,0)
        )
        local Result,Position,Normal = workspace:FindPartOnRayWithIgnoreList(
            r0,
            non
        )
        if Result then
            local see = Instance.new("Part",workspace)
            see.Position = Position
            see.Anchored = true
            see.Shape = 'Ball'
            see.CanCollide = false
            see.Size = Vector3.new(.2,.2,.2)
            see.Material = Enum.Material.Neon
            
            print('RAY_Position',Position)
            print('Original',Original)
            Blood_Ball.Anchored = true
            Blood_Ball.Position = Position
            Blood_Ball.CFrame = CFrame.new(Blood_Ball.Position,Blood_Ball.Position+Normal)
            Most_Functions.Tween(Blood_Ball)
            Hited = true
        end
    end)

O código acima, os videos a baixo:

https://gyazo.com/6fb92a5cd4d3bb5d03b51fb9b7a4d21c Com o ray visivel.