Создаю 2D дорогу, использую LineRender для визуализации и EdgeCollider2D для физической составляющей дороги.
Все прекрасно работает только дорога прямая.
Как можно сделать синусоидальную дорогу, что бы не слишком высокие были холмы и не повторялось это все слишком часто, разнообразный кривой синусоидальный трэк.
Подскажите как реализовать.
Имею вот какие данные:
Изначальный кусок земли (я ввожу начальную точку и конечную) в котором на "единицу" ширины строиться 5 линий, что бы плавно все выглядело. т.е. на экране дорога будет примерно из 100 отрезков(EdgeCollider2D).
Дальше я получаю кол-во точек и отрезков которые будут всего на данном куске земли. Например 100 отрезков и 101 точка.
После я забиваю координаты X = начальная точка + ширина всей дороги * i / 101 (i - это текущий индекс точки, всего точек 101)
В Y я забиваю просто верхнею координату куска земли.
И получается в итоге прямой кусок земли(линия) и прямой EdgeCollider состоящий из 101 точки и 100 отрезков
Подскажите что присвоить Y что бы получить примерно рандомный синусоид плавный?
Вот кусок рабочего кода.
Vector2[] Points = new Vector2[nodecount]; //инциализируем вектор точек
for(int i=0; i < nodecount; i++){
xpositions [i] = Left + Width * i / edgecount; //массив Х переменных
ypositions [i] = Top; //массив У переменных
MapsLine.SetPosition (i, new Vector3 (xpositions [i], ypositions [i], z)); //устанавливаем позицию для линии
Points.SetValue(new Vector2(xpositions [i], ypositions [i]),i); //устанавливаем позиции точек для коллайдера
MapsLine.GetComponent<EdgeCollider2D> ().points = Points; //Заполняем точки коллайдера
}