каждый раз, когда над позицией объекта происходили определённые математические операции, вычислялась потеря точности этой самой позиции. Иначе говоря, информация об объекте теперь хранилась не в одном векторе трёхмерного пространства, а в двух: в одном находилась информация о позиции объекта, в другом — предполагаемая потеря точности.
Интересно. Когда к игре theHunter:COTW (тоже большой открытый мир) делал свободную камеру, то никак не мог понять, и до сих не могу, почему там положением игрока и НПС управляло два вида значений: одно обычное, относительно центра координат мира и второе было относительно точки возрождение и при возрождении или быстром перемещении сбрасывалось на ноль. Оба типа значений одинаково успешно влияют на позицию игрока, но "обычные" координаты никогда не перезаписываются, если туда просто подставлять свои значения. И я вот всё думал, как им удаётся сохранять точность и плавность хода камеры, когда игрок находится в координатах вида X:12345 Y:1000 Z:67890, а оно похоже вторые координаты делают нечто похожее, как в случае The Crew 2.
каждый раз, когда над позицией объекта происходили определённые математические операции, вычислялась потеря точности этой самой позиции. Иначе говоря, информация об объекте теперь хранилась не в одном векторе трёхмерного пространства, а в двух: в одном находилась информация о позиции объекта, в другом — предполагаемая потеря точности.
Интересно. Когда к игре theHunter:COTW (тоже большой открытый мир) делал свободную камеру, то никак не мог понять, и до сих не могу, почему там положением игрока и НПС управляло два вида значений: одно обычное, относительно центра координат мира и второе было относительно точки возрождение и при возрождении или быстром перемещении сбрасывалось на ноль. Оба типа значений одинаково успешно влияют на позицию игрока, но "обычные" координаты никогда не перезаписываются, если туда просто подставлять свои значения. И я вот всё думал, как им удаётся сохранять точность и плавность хода камеры, когда игрок находится в координатах вида X:12345 Y:1000 Z:67890, а оно похоже вторые координаты делают нечто похожее, как в случае The Crew 2.
Кстати если кому интересно, то вот чуть более подробная статья на тему проблем с игровыми координатами в огромных игровых мирах, на примере Unity: http://davenewson.com/posts/2013/unity-coordinates-and-scales.html