Всем привет. Мне понравилась механика в одной игре, пытаюсь ее реализовать (волнообразное движение блоков за персонажем). Я смог ее повторить, только блоки у меня откланяются линейно, а на скриншоте на сколько я понимаю по одной ветке параболы (Сразу смещение маленькое, потом увеличивается). Хотелось бы увидеть формулу по которой можно найти точки в которых должны располагаться блоки. Сейчас код имеет такой вид :
// Позиция в которой располагается текущий блок
var nodeStoragePoint = _storagePoints.First;
// i используется для того что бы предать смещение блоку
for (var i = 1; i <= _storagePoints.Count; i++)
{
// _blockStoragePoint точка за спиной игрока от которой начинаются блоки
// по y блоки не двигаются, позиция по y задается при подборе блока и после
// не изменяется
var x = (_blockStoragePoint.position.x - nodeStoragePoint.Value.position.x) / i;
var z = (_blockStoragePoint.position.z - nodeStoragePoint.Value.position.z) / i;
nodeStoragePoint.Value.position += new Vector3(x, 0f,z);
nodeStoragePoint.Value.rotation = _blockStoragePoint.rotation;
nodeStoragePoint = nodeStoragePoint.Next;
}
MoveBlocks()
{
// Движение блоков к своей точке через изменение позиции в moveTorwards
}