Olá Rayan,
Vamos supor que a tabela objetos tenha sido definida assim:
objetos = {
{x=10, y=0},
{x=30, y=20},
{x=50, y=40}
}
Os valores são só de exemplo mas o que importa é que temos uma lista com 3 objetos diferentes e cada um desses objetos está em uma posição diferente da lista. Se fossemos expressar isso de uma forma diferente teríamos algo assim:
Lista objetos:
Posição 1 -> objeto {x=10, y=0}
Posição 2 -> objeto {x=30, y=20}
Posição 3 -> objeto {x=50, y=40}
Quando fazemos o for usando o pairs, é como se estivéssemos percorrendo essa segunda representação da nossa lista de objetos. O valor da variável indice vai indicar a posição do elemento na lista e o valor da variável objeto vai representar o objeto que está naquela posição. Por isso o pairs, estamos montando pares de (posição, objeto) a partir da lista objetos e estamos percorrendo eles um de cada vez.