индификатор | дата время | координаты x,y,z
unit1 | 2020-08-07 15:00:00 | 0x0x0
unit1 | 2020-08-07 15:00:01 | 2x0x2
unit1 | 2020-08-07 15:00:02 | 4x0x2
unit1 | 2020-08-07 15:00:03 | 6x0x2
transform.position = Vector3.MoveTowards(transform.position, TargetPoints, ???);
public string rtm;
void Update(){
rtm = System.DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss");
}
если кто-то что-то сделал (поднял щит или так запустил какой-то скилл во время боя к примеру)это уже реал-тайм!
корректировка синхросигнала - каждые n-микросекунд
игрок может зайти во время уже идущего боя, поэтому привязка я думаю должна быть именно к реальному временинет! у игры есть только сервер и его синхросигнал, по которому синхронизируются все клиенты.
Сама суть рассчитать именно скорость передвижения, то есть задать нужную скорость исходя из расчетов пути и отрезка времени...на клиентах так не получится! Это моделирует сервер и распространяет положения объектов (координаты, углы поворота, статусы) и вектора скорости движения на клиенты через синхросигнал и корректирует информацию о смещениях/изменениях объектов каждые n-микросекунд.
void Start(){
frame[0] = позиция в пикселях +1;
frame[1] = позиция в пикселях +2;
frame[2] = позиция в пикселях +3;
}
void Update(){
transform.position = Vector3.MoveTowards(transform.position, frame[n], ???);
++n;
}
тот же пример выше
индификатор | дата время | координаты x,y,z
unit1 | 2020-08-07 15:00:00 | 0x0x0
unit1 | 2020-08-07 15:00:10 | 2x0x2
unit1 | 2020-08-07 15:00:15 | 4x0x2
unit1 | 2020-08-07 15:00:20| 6x0x2
зашел игрок в середине боя, с какого места счетчика ему считывать?блин... ну я ж писал:
Напишу ещё подробнее...
Пример: шлём вначале начальный (текущий) показатель счётчика,
Скорее всего мы о разном говорим, скорее всего вы говорите о обработке в реальном времени, я же говорю о том что обработка происходит мгновеннокак мгновенно, если юзеры могут вмешиваться в игру в реал-тайме: двигать, поворачивать башни и т.д.?
Весь вопрос стоит в том - как рассчитать движение из А в В за определенное время, задать юниту именно ту скорость с которой он пройдет этот отрезок, в этом вопрос стоит...умножить время всех нужных движений юнита на количество клеток.
Нажал что-то, пошел запрос на сервер, там исходя из новых реалий переписался сценарий, и вот мы смотрим происходящее дальше с изменениями внесенными пользователями...понял.
Speed = ???
transform.position = Vector3.MoveTowards(transform.position, TargetPoints, Speed * Time.deltaTime));
А так - будет у всех клиентов разное игровое время
Короче нужно новую тему открыть с более конкретным вопросом, может чего интересного и подскажут...давай