I'd prefer xXxGuitar's solution, but implementing this may be difficult. There's one other solution - make a model that represents the puddle's shape and use a polygonal collision