I want to cframe a puddle under my player, but on the ground as well. What can I do to get the top surface of the ground that the ray detects?
workspace:FindPartOnRay() returns the part that it hit, the position where the ray intersects the part, and the surface normal. You can use the last two to CFrame your puddle accurately.