Перейти к основному содержанию
В этом документе описываются системы измерений и координат внутри движка RobustToolbox. Все GamePacks должны использовать те же стандарты, что и RobustToolbox.

1 Мир

Мир — это двумерное пространство внутри карты. 2D-мир существует на плоскости X/Y, а камера находится над поверхностью, глядя на неё сверху. В мире можно использовать направления С/Ю/З/В, но будьте осторожны, не путайте их с экранными направлениями. «Восток» — это ось +X, а «Север» — ось +Y. Помните, что камера, смотрящая на мир сверху, может вращаться, поэтому направление «Юг» в мире не всегда является «Вниз» или «Юг» на экране.

1.1 Мировые измерения

Все измерения и единицы — в метрической системе. Размеры объектов и расстояния измеряются в метрах. Для визуальной справки: 1 тайл сетки равен 1 м². Спрайты Space Station 13 разработаны так, что 1 тайл равен 32px², поэтому этот проект также будет использовать 32 текселя на метр для спрайтов.

1.2 Мировая система координат

Игровой мир использует 2D-правые координаты. Это все значения Transform и Angle, с которыми вы работаете в контенте. Это та же математика, которую вы учили в школе: единичная окружность вращается против часовой стрелки при увеличении theta. Камера по умолчанию ориентирована так, что смотрит вдоль оси -Z на плоскость X/Y, на которой находятся все сущности. Локальное направление «Вверх» (лицевая сторона плоскости X/Y) мира — это +Z. Все вращения происходят вокруг оси Z. Вы можете нажать клавишу F3, чтобы включить отладочные наложения, которые выводят всю информацию о координатах.

1.3 Локальные координаты сущности

+Z — это локальный Вверх (от гравитации), поэтому его можно легко игнорировать в 2D. Три базисных вектора: +X (Вперёд), +Y (Влево), +Z (Вверх). Вы можете использовать отладочную команду showpos для отображения виджета локального направления на сущностях.

1.4 Матрица вида

Матрица вида по умолчанию начинается без поворота, с масштабом 0.5 (Zoom 2) и центрирована на прикреплённой сущности клиента. Вид может вращаться вокруг оси Z, перемещаться в позицию в мире и масштабироваться для создания эффекта зума. Матрица вида концептуально является инверсией мировой матрицы камеры (если бы камера была сущностью). При использовании этой матрицы вида по умолчанию с нулевым поворотом ось +X мира направлена вправо, а ось +Y — вверх на экране. Ось +Z выходит из экрана. Если вы хотите управлять матрицей вида напрямую, откройте окно VV для вашего игрока, затем на клиенте откройте EyeComponent.

1.5 Матрица проекции

Это базовая ортографическая проекция, как в любой другой 2D-игре сверху. Расстояние от камеры по оси Z не меняет размер сущностей, все параллельные линии остаются параллельными, а поле обзора представляет собой прямоугольный параллелепипед.

2 Экран

Экран — это квадратная область, на которую проецируется игра при рендеринге. Это то, на что вы смотрите, своего рода окно, через которое вы можете смотреть на Мир. Некоторые игровые эффекты и интерфейс рисуются непосредственно на экране.

2.1 Система координат UI

Интерфейс использует 2D-левые координаты: начало координат в левом верхнем углу, +X идёт вправо, +Y — вниз. Вращение происходит по часовой стрелке. Это полностью аналогично любой другой библиотеке UI.

2.2 Координаты Clyde и OpenGL

Вам не нужно беспокоиться о том, как работает Clyde внутри или как Clyde работает с OpenGL.
Последнее изменение 21 июня 2026 г.