Как работает обновление состояния в игровых движках?
У меня появилась идея написать свой игровой движок, по ходу дела сформировались некоторые вопросы
Предположим, вся игра состоит из объектов, у каждого объекта есть функция, вызываемая каждый кадр.
У меня есть два объекта, я хочу чтобы один объект А полностью копировал, например, позицию и поворот другого объекта В.
Здесь возникает проблема. Если функции обновления объектов вызываются друг за другом последовательно, то объект А может отставать от объекта В на кадр (если они обновляются в неправильном порядке).
Как решать такое?
Может, сортировать объекты по порядку обновления?
А что если у меня, напрмер, два объекта сталкиваются друг с другом и я хочу вычислить их импульс и поменять позицию основываясь на позиции друг друга? В каком бы я порядке их не обновлял, первое обновление изменит данные и второе произойдет не так как нужно.