гаразд-гаразд.
Тут ще така біда, шо я писав це декілька днів тому, і все було зрозуміло. Може це через те, що зараз ранок, але я шось не наздоганяю того.
От в мене є доріжка і текстурка, котра лежить на цій доріжці. І якщо змінювати uv.y доріжки, то ця текстурка типу зміщується, і схоже, що це ми кудись йдемо.
Так от, коли uv.y змінюється від 0 до 1 - то це повне коло. Тобто верхній край текстурки стає знизу.
І от в мене є сама доріжка, висота котрої десь 600, і мені треба спавнити там об'єкти, і рухати їх зі швидкістю руху текстурки.
Але я тут ще зтиснув цю текстурку в 8 разів повертикалі, щоб вона виглядала меншою, тому зараз мені треба змінити uv.y з 0 до 8, щоб верх текстури зрушився до низу.
Ну і от в мене тут така фігня, що я беру висоту доріжки (600) і ділю на 8.
І ось так я рухаю текстурку
rect.position += speed * Time.deltaTime;
ground.uvRect = rect;
speed = швидкість доріжки, Vector2, ну, це пара зі значень x та y, якщо y змінювати, то текстурка рухається по вертикалі, а якщо x, то по горизонталі
rect = це допоміжна змінна, бо до ground.uvRect не можна додавати значеня ось таким чином +=
А ось, як я рухаю об'єкти на цій доріжці
pos -= (Vector3)(GroundController.Instance.speedOfGround*speed*Time.deltaTime);
trans.localPosition = pos;
speed - це швидкістю руху об'єкта на доріжці, якщо воно 1, то об'єкт ніби стоїть на доріжці, а насправді він рухається зі швидкістю доріжки, тому й виглядає стоячим
speedOfGround - це яйце гигиги
void CalculateSpeedOfGround()
{
speedOfGround.y = (height / ground.uvRect.height);
speedOfGround.x = (width / ground.uvRect.width);
}
height - висота доріжки, а ground.uvRect.height - зтиснення текстурки, тут воно має значення 8.
ну і я щось не наздоганяю, як воно робе