Скорее не scale, а cycle. Но принцип правильный.
Единственный недостаток - это срабатывает в случае, когда человек делает два шага на месте.
Когда он шагает не на месте, то проблема цикличности заключается в том, что погрешность с каждым циклом накапливается. Это касается координаты вдоль которой осуществляется движение. Это нетяжело исправить.