Перейти к основному содержимому

Geometry Dashboard

Geometry Dashboard представляет собой мощный инструмент, который накладывает геометрические виртуальные объекты поверх редактора osu!. Можно привязывать к этим виртуальным точкам, линиям и окружностям игровые объекты. Благодаря этому удобно создавать геометрически точные паттерны, которые иначе было бы гораздо сложнее или невозможно построить.

Поддержка платформ

Для работы Geometry Dashboard требуется Windows, поскольку наложение поверх редактора зависит от интеграции с функциями Windows.

Совет

Укажите файл пользовательской конфигурации в настройках Mapping Tools, иначе этот инструмент не будет работать.

Основные понятия​

Geometry Dashboard выполняет следующие действия:

  1. Считывает текущее состояние редактора osu!: видимые игровые объекты, время редактора и положение окна.
  2. Создаёт виртуальные объекты на основе этих игровых объектов. Для этого используются настраиваемые генераторы, которые создают виртуальные точки, линии и окружности.
  3. Показывает виртуальные объекты поверх редактора osu!. Наложение позволяет видеть полученную геометрию и привязывать к ней курсор.

Интерфейс​

Окно Geometry Dashboard разделено на несколько частей:

  • Поиск: строка поиска для фильтрации списка генераторов.
  • Кнопки переключения: позволяют включать и выключать разные функции.
    • Выбрать всё
    • Заблокировать всё
    • Переключить возможность использования для всех
  • Кнопка сохранённых состояний: открывает окно сохранённых состояний.
  • Кнопка настроек: открывает окно настроек.
  • Список генераторов: показывает доступные генераторы и элементы управления для их включения, выключения и настройки параметров.

Виртуальная геометрия​

Виртуальная геометрия лежит в основе этого инструмента. Такие объекты не становятся настоящими игровыми объектами в редакторе: это точки, на которые можно навести курсор и точно поставить объект во время создания карты.

Состояния виртуальной геометрии​

У виртуальной геометрии есть несколько особенностей, которые можно переключать:

  • Выбрана: делает объект активным, чтобы на его основе можно было создавать новые объекты. Виртуальный объект можно выбрать горячей клавишей, наведя на него курсор. Выбранные объекты подсвечиваются другим цветом и светятся по краям.
  • Заблокирована: не позволяет объекту исчезнуть, когда генератор или исходный объект перестаёт существовать. Это помогает защитить геометрию от случайного удаления. Заблокированные виртуальные объекты отображаются серым цветом.
  • Можно использовать: генераторы могут брать такой виртуальный объект и создавать на его основе новые. Если отключить этот параметр, генераторы будут игнорировать объект и не будут создавать геометрию на его основе. Неиспользуемые виртуальные объекты отображаются тусклее.
  • Релевантность: значение от 0 до 1, которое показывает, насколько важна эта геометрия. Чем выше релевантность, тем менее прозрачным отображается объект.

Генераторы​

Генераторы лежат в основе Geometry Dashboard. Они создают виртуальные объекты на базе игровых объектов и другой виртуальной геометрии.

Как работает генератор​

Генератор работает следующим образом:

  1. Выбор входных объектов. У каждого генератора есть набор зависимостей (необходимые типы входных объектов) и условия отбора. Условия задают дополнительные требования к виртуальным объектам, которые можно использовать. Geometry Dashboard ищет объекты в предыдущих слоях, соответствующие зависимостям и условиям отбора. Условия могут учитывать, например, выбран ли объект и достигает ли он заданного уровня релевантности.

  2. Создание геометрии. Для каждого возможного сочетания выбранных входных объектов генератор использует свои методы, которые создают один или несколько новых виртуальных объектов.

  3. Распределение по слоям. Каждый новый набор виртуальных объектов помещается в новый слой. Количество слоёв настраивается параметром Уровень вложенности в настройках. Виртуальные объекты в нижних слоях могут влиять на содержимое следующих, более сложных слоёв.

  4. Обновление. Когда происходит событие, требующее пересчёта Geometry Dashboard, объекты первого слоя пересоздаются согласно параметру Режим обновления. Затем обновляются второй, третий и последующие слои.

Чтобы не создавать слишком много ненужных объектов, генераторы объединяют близко расположенные объекты одного слоя, складывая их релевантность. В настройках можно изменить расстояние, при котором объекты объединяются.

Список генераторов​

Ниже перечислены все доступные генераторы Geometry Dashboard.

  • Базовые генераторы создают виртуальные объекты непосредственно из игровых объектов. Их временное положение соответствует среднему времени исходного объекта.

    • Точки на кругах и началах слайдеров: создаёт виртуальную точку в начальном положении кругов и слайдеров.
    • Точки на концах слайдеров: создаёт виртуальную точку в самом конце слайдера.
    • Точки на опорных точках слайдера: создаёт виртуальные точки на всех красных и белых опорных точках слайдера.
    • Точки на последних опорных точках: создаёт виртуальные точки на последней точке кривой слайдера.
    • Линии на линейных слайдерах: для слайдера с линейной формой создаёт виртуальную линию от позиции до точки кривой. Время и релевантность совпадают со значениями исходного слайдера.
    • Точки в центрах круглых слайдеров: создаёт виртуальную точку в центре слайдера круглой формы. Время и релевантность совпадают со значениями исходного слайдера.
    • Окружности на слайдерах с тремя точками: создаёт окружность по опорным точкам слайдера для круговых и идеальных кривых. Время и релевантность совпадают со значениями исходного слайдера.
    • Точки на траекториях слайдеров: создаёт множество виртуальных точек вдоль траектории слайдера. Плотность можно изменить параметром Плотность точек. Для работы генератору нужны дополнительные вычисления.
  • Промежуточные генераторы требуют базовых генераторов. Они помогают создавать фигуры и направляющие.

    • Окружности, касающиеся окружности: создаёт виртуальные окружности, пересекающие первую входную окружность ровно в одной точке.
    • Окружности по двум точкам: по паре виртуальных точек создаёт две виртуальные окружности с центрами в этих точках и радиусом, равным расстоянию между ними.
    • Равносторонние треугольники по двум точкам: по паре виртуальных точек создаёт по одной виртуальной точке с каждой стороны, образуя два равносторонних треугольника.
    • Равносторонние треугольники по двум точкам (тип II): делает то же, что и обычный генератор треугольников, но иначе размещает вершины.
    • Квадрат по двум точкам: по паре виртуальных точек создаёт с каждой стороны точку, чтобы получить один квадрат.
    • Квадраты по двум точкам (тип II): по паре виртуальных точек создаёт по две точки с каждой стороны, чтобы получить два квадрата.
    • Линия по двум точкам: создаёт виртуальную линию, соединяющую пару виртуальных точек.
    • Средняя точка между двумя точками: по двум виртуальным точкам вычисляет виртуальную точку посередине.
    • Средняя точка между тремя точками: по трём виртуальным точкам вычисляет виртуальную точку посередине.
    • Масштабирование и поворот вокруг точки: поворачивает и масштабирует любой виртуальный объект вокруг фиксированной виртуальной точки. Можно задать угол, масштаб и дополнительные правила выбора фиксированной точки.
    • Параллельные линии: по линии и точке создаёт виртуальную линию, проходящую через точку параллельно исходной линии.
    • Перпендикулярные линии: по линии и точке создаёт виртуальную линию, проходящую через точку перпендикулярно исходной линии.
    • Биссектриса угла: по паре виртуальных линий создаёт биссектрису угла между ними в точке пересечения.
    • Серединный перпендикуляр двух точек: создаёт линию, равноудалённую от пары виртуальных точек.
    • Касательные к окружности: по виртуальной окружности и точке создаёт виртуальные линии, которые касаются окружности по бокам и проходят через точку.
  • Продвинутые генераторы предназначены для более сложных задач, требуют дополнительных настроек и подходят для создания рекурсивных паттернов.

    • Точки пересечения: по паре виртуальных линий или окружностей создаёт виртуальные точки в местах их пересечения. Генератор полезно сочетать с другими способами построения геометрии. Примечание: поиск пересечений требует больших вычислений и может серьёзно снизить производительность, если в редакторе одновременно отображается несколько сложных рисунков.
    • Следующая точка по двум точкам: по двум виртуальным точкам вычисляет следующую точку с той же скоростью. Для точного прогноза кривой можно сочетать этот генератор с генератором Точки на траекториях слайдеров.
    • Следующая точка по трём точкам: по трём виртуальным точкам вычисляет следующую точку с теми же углом и изменением скорости.
    • Следующая точка по трём точкам в обратном направлении: по трём виртуальным точкам вычисляет следующую точку с тем же изменением скорости и противоположным углом.
    • Следующая точка по четырём точкам: по четырём виртуальным точкам вычисляет следующую точку с теми же углом, изменением угла, изменением скорости и изменением ускорения.
    • Масштабирование и поворот вокруг точки: поворачивает и масштабирует виртуальный объект вокруг фиксированной виртуальной точки. Можно задать угол, масштаб и дополнительные правила выбора фиксированной точки.
    • Отражение относительно линии: зеркально отражает виртуальный объект относительно виртуальной линии, которая служит осью симметрии.

Параметры генераторов​

У каждого генератора есть параметры, управляющие его работой:

  • Активен: включает или выключает генератор. Выключенный генератор не создаёт виртуальных объектов.
  • Последовательный: генератор использует только последовательные объекты. В этом режиме он создаёт только пары виртуальных объектов, идущие друг за другом по времени. Это значительно сокращает количество геометрии и помогает избежать беспорядка.
  • Глубокий поиск: генератор проверяет не только предыдущий слой, но и все предыдущие подходящие слои.
  • Коэффициент релевантности: базовая релевантность объектов, созданных этим генератором, от 0 до 1. Фактическая релевантность может зависеть от коэффициентов релевантности других входных объектов.
  • Созданные объекты доступны для наследования: если параметр включён, созданные объекты можно использовать. Если он выключен, дальнейшие генераторы не смогут использовать эти объекты.
  • Набор условий отбора входных объектов: правила выбора типов виртуальных объектов, которые генератор может использовать. Подробнее см. раздел Условия отбора.

Специальные параметры генераторов​

У некоторых продвинутых генераторов есть дополнительные уникальные параметры.

  • Окружность по одной точке:
    • Радиус: масштаб окружности.
  • Точки на траекториях слайдеров:
    • Плотность точек: количество создаваемых точек на пиксель osu! траектории слайдера.
  • Масштабирование и поворот вокруг точки:
    • Угол: угол поворота в градусах.
    • Масштаб: коэффициент равномерного масштабирования.
    • Условия выбора начала: дополнительные требования к виртуальной точке, которая используется как центр поворота.
    • Условия выбора остальных объектов: дополнительные требования к объектам, которые поворачиваются или масштабируются вокруг центра.
  • Отражение относительно линии:
    • Условия выбора оси: дополнительные требования к виртуальному объекту, который используется как ось отражения.
    • Условия выбора остальных объектов: дополнительные требования к объектам, которые отражаются относительно оси.

Подробно об условиях отбора​

Условия отбора позволяют задавать, какие виртуальные объекты генератор рассматривает при вычислениях. Каждый генератор определяет необходимые типы входных данных, например точки или линии. С помощью условий можно точнее выбрать объекты по их свойствам. Без правильно настроенных условий генераторы могут создавать много ненужной геометрии или не создавать необходимую.

Набор условий отбора состоит из нескольких правил. Чтобы виртуальный объект можно было использовать как входной, достаточно, чтобы выполнялось хотя бы одно из них.

Наведите курсор на раздел условий отбора и нажмите кнопку с плюсом, чтобы добавить правило. Появятся параметры для более точного выбора виртуальной геометрии:

  • Объект должен быть выбран: генератор будет использовать только выбранные виртуальные объекты. Выбранные объекты также первыми попадают под курсор, что позволяет точно управлять созданием геометрии.
  • Объект должен быть заблокирован: генератор будет использовать только заблокированные объекты. Незаблокированные объекты он полностью проигнорирует. Это может быть полезно, когда для работы с одним генератором нужно зафиксировать объекты другого.
  • Создано этим генератором: генератор будет использовать только виртуальные объекты, которые создал он сам. Так можно ограничить создаваемую геометрию нужными объектами.
  • Создано не этим генератором: противоположное условие. Будут учитываться только объекты, созданные другими генераторами.
  • Минимальная релевантность: входные объекты должны иметь не меньшую релевантность. Значение релевантности находится между 0 и 1; значение 0 отключает это условие.

Настройки​

В окне настроек Geometry Dashboard можно изменить поведение и внешний вид инструмента.

  • Горячие клавиши:
    • Клавиша привязки: удерживайте её, чтобы курсор привязывался к виртуальным объектам.
    • Клавиша выбора: удерживайте её, чтобы выбирать виртуальные объекты.
    • Клавиша блокировки: удерживайте её, чтобы блокировать виртуальные объекты.
    • Клавиша использования: удерживайте её, чтобы переключать возможность использования виртуальных объектов.
    • Клавиша обновления: немедленно обновляет список игровых объектов в корневом слое.
  • Смещение: смещает виртуальные объекты относительно экрана редактора. Может исправить проблемы с масштабом или положением.
    • Слева: смещение левого края редактора.
    • Сверху: смещение верхнего края редактора.
    • Справа: смещение правого края редактора.
    • Снизу: смещение нижнего края редактора.
  • Сложность: количество рекурсивных слоёв. Может помочь решить проблемы с производительностью.
    • Уровень вложенности: количество слоёв, создаваемых на основе исходных игровых объектов.
  • Клавиша вниз: переключает отображаемые виртуальные объекты.
    • Всё: отображает все виртуальные объекты, включая игровые объекты, их потомков и предков.
    • Предки и предки предков: отображает предков объектов, к которым привязываются другие объекты.
    • Прямые предки: отображает только непосредственных предков объектов, к которым привязываются другие объекты.
    • Потомки и потомки потомков: отображает всех потомков объектов, к которым привязываются другие объекты.
    • Прямые потомки: отображает только непосредственных потомков объектов, к которым привязываются другие объекты.
  • Клавиша вверх: переключает отображение виртуальных объектов, когда клавиша привязки не нажата.
    • Все видимые: отображает все игровые объекты в соответствии с параметрами выбора.
    • Ничего: скрывает все объекты, когда клавиша привязки не нажата.
  • Выбор: переключает игровые объекты, которые используются для построения виртуальной геометрии.
    • Все видимые: использует все доступные игровые объекты.
    • Видимые или выбранные: использует видимые игровые объекты, а если есть выбранные объекты, использует их все.
    • Только выбранные: использует игровые объекты, выбранные в редакторе.
  • Обновление: задаёт, когда обновляются виртуальные объекты.
    • При любом изменении: обновляет объекты при любом изменении.
    • При изменении времени: обновляет объекты при изменении таймера редактора. Это повышает производительность в ущерб скорости отклика.
    • При активации osu!: обновляет объекты, когда окно osu! становится активным.
    • При нажатии клавиши: обновляет объекты при нажатии клавиши обновления.
  • Поведение: дополнительные параметры Geometry Dashboard.
    • Минимальное различие: расстояние, на котором виртуальные объекты объединяются.
    • Не закрывать: Geometry Dashboard продолжает работать, даже когда открыты другие инструменты.
    • Показывать игровое поле: отображает поверх редактора границы игрового поля.
    • Отладка: отображает поверх редактора границы самого окна редактора. Если редактор не виден даже с этим параметром, значит он находится за пределами области редактора.

Параметры виртуальной геометрии​

Для каждого типа отображаемых виртуальных объектов можно настроить цвет, прозрачность, толщину и стиль штрихов. Это повышает наглядность.

  • Цвет: цвет границы. Можно скопировать значение из палитры: нажмите на значение HEX.
  • Прозрачность: степень прозрачности объекта.
  • Толщина: толщина линий контура виртуального объекта.
  • Штрихи: задаёт сплошной или пунктирный контур.

Сохранённые состояния​

Сохранённые состояния работают как профили горячих клавиш. Можно быстро переключаться между ними вместо того, чтобы каждый раз вручную менять настройки генераторов. Кроме того, к сохранённому состоянию можно привязать горячую клавишу.

Нажмите значок «+», чтобы создать состояние. Затем задайте его название и горячую клавишу. Кнопки сохранения и загрузки позволяют сохранить текущие параметры или загрузить параметры состояния.