Animar según distancias

He visto muchas animaciones en las que un conjunto de objetos similares cambian alguna característica (color, tamaño, hacen un movimiento específico) cuando otro objeto se les acerca.

Un ejemplo típico sería una superficie cubierta de objetos oscuros, que al paso de un objeto con una trayectoria definida se aclaran gradualmente cuando éste se les acerca, y vuelven a su color oscuro cuando se les aleja.

Imagino que en la pista de color de cada objeto oscuro debería haber un controlador distinto al usual, pero no tengo idea de cómo hallar la distancia entre los objetos y convertirla automáticamente en los valores necesarios.
¿Alguien sabe cómo se hace este efecto?

Ver más sobre el tema y los comentarios en el foro