Blending material at a specific location on mesh

I want to create a material or material function that blends two materials starting at a specific point and radiating outwards. For instance, the contact point of where something hot touches metal would turn red first, then the red would spread outward. Alternatively, something very cold touching the surface of water could freeze the immediate area around it. I understand the general idea of two way blend materials, but I need to be able to do the blend based on contact location in game. Is there a way to pass the coordinates into the material function so that the blend takes place at that specific location?