When the water is too hot or cold, the character will play a cooresponding animation to show you they're suffering. For cold, I simply make their legs tremble, and the non-knob-operating arm to hug themself. For hot, I add wild, random swings to all their limbs, making it look like they're screaming "Ahhh! I'm buring!!". The amplitude of the motions correlates to how much the current temperature deviates from the desired temperature.
Despite the crazy animations, one of the character's hand is always on the knob (ready to turn it at your command), thanks to some simple inverse-kinematics I implemented. Which sometimes look funny as if their hand is glued or cuffed there.
The water particles, in addition to obeying gravity, bounce off the character's body (and the ground). This is done by computing point-segment distance between a droplet and each of the limbs. If the distance is within a certain threshold, there's a random chance it will receive a force in a random direction. The random chance is to create an illusion of depth: those droplets that are not on the same vertical plane as the character does not interact with it. The random direction is not really physically accurate but looks convincing enough.
There's also an "easter egg". If the water temparature stays at a comfortable degree for a certain time, the character will start singing (i.e. music notations fly out of their mouth).