Редактор жестов

Запуск программы

При запуске программы нужно выбрать папку, откуда будут взяты лицо и параметры робота. Для этого нужно нажать кнопку 1. После выбора паки активируется кнопка 3. С её нажатием будет выполнен переход к основному интерфейсу.

Выбор файлов для лица робота

Выбор папки, откуда будут взяты лицо и параметры робота.

Выбор description.json

Выбор папки нужно подтвердить нажатием кнопки 1. Конфигурация лица будет взята из вложенной папки RobotGestures/faces/main-face.txt

Если жесты и конфигурация лица робота находятся в разных папках, на исходном экране нужно нажать кнопку 3 Extra Settings. В этом случае можно отдельно выбрать путь к каждому из ресурсов:

Отдельная настройка

Интерфейс редактора

Стартовое меню редактора

  1. Трёхмерная модель робота
  2. Приводы рук и шеи с указанием текущих координат. Для каждого привода указываются кнопка сброса координаты, величина приращения, кнопки увеличения и уменьшения, текущая координата
  3. Управление лицом, бровями и глазами
  4. Меню приложения

Модель робота можно вращать, зажимая левую кнопку мыши. Поставить модель ровно можно кнопкой R.

Можно вращать зажимая ЛКМ на роботе

Для редактирования мимики можно переключиться на режим лица. Для этого нужно нажать кнопку H.

Режим головы

Меню контроля тела робота

Меню контроля тела робота

  • Шея: NeckLR/NeckUD
  • Правая рука: RShoulder/RHand
  • Левая рука: LShoulder/LHand
  1. Кнопка сброса координаты
  2. Поле величины приращения в радианах
  3. Кнопка убавления угла. Убавление происходит на величину, указанную в поле 2
  4. Кнопка увеличения угла. Увеличение происходит на величину, указанную в поле 2
  5. Текущая координата в радианах

Меню контроля лица

В меня контроля лица можно управлять формой элементов лица (закладка 1 Shape), положением бровей (закладка 2 Brows) и положением глаз (закладка 3 Eyes)

Меню контроля лица

Формы элементов лица можно выбирать из выпадающего списка

Выбор формы

Меню управления бровями

Для каждой брови можно задать её смещение на лице по горизонтали или по вертикали, а также поворот брови на некоторой угол относительно крайней точки брови (наиболее близкой к носу).

Меню управления бровями

  1. Поле величины приращения в радианах
  2. Кнопка движения брови влево
  3. Кнопка движения брови вправо
  4. Кнопка движения брови вверх
  5. Кнопка движения брови вниз
  6. Кнопка поворота брови против часовой стрелки
  7. Кнопка поворота брови по часовой стрелке
  8. Текущая координата брови
  9. Кнопка включения режима симметрии (брови будут двигаться зеркально)
  10. Кнопка сброса позиции брови

Меню управления глазами

Каждый глаз считается шаром. Глаз поворачивается по вертикали и горизонтали на угол в радианах. Зрачок проецируется на лице в точку, являющей проекцией центра зрачка на лицо при данном повороте глаза. При этом само изображение зрачка на лице не деформируется (как если бы все изображение находилось на шаре и проецировалось на лицо).

Меню управления бровями

  1. Поле величины приращения в радианах
  2. Кнопка поворота глаза влево
  3. Кнопка поворота глаза вправо
  4. Кнопка поворота глаза вверх
  5. Кнопка поворота глаза вниз
  6. Кнопка сброса вращения глаза
  7. Текущая координата глаза
  8. Кнопка включения режима синхронизации глаз (глаза будут двигаться одинаково)

Меню приложения

Меню приложения

Раздел Gesture (1) позволяет создавать новый жест, открывать и закрывать жесты. Раздел ShapeSetting (2) позволяет выбрать источник ресурсов - лица робота (как при запуске программы). Меню Help (3) выводит подсказку назначения клавиш. 4 – Кнопка закрытия редактора.

Меню взаимодействия с жестами

Меню взаимодействия с жестами

  1. Кнопка создания нового жеста 1.1. Создание Абсолютного жеста 1.2. Создание относительного жеста (WIP)
  2. Кнопка открытия жеста из файла - при этом открывается диалог выбора файла

Меню открытия жеста из файла

  1. Кнопка сохранить жест как (Если нужно переименовать уже сохраненный жест)
  2. Кнопка сохранить жест (Сохраняет поверх старого файла)
  3. Кнопка закрытия режима создания жеста

Кнопка открытия меню настройки файлов для лица робота

Кнопка открытия меню настройки файлов для лица робота

Меню настройки файлов для лица робота

Меню помощи

Кнопка открытия меню помощи

Меню помощи

Редактирование жеста

Жест представляет собой множество точек, расставленных на шкале времени (2). Каждая точка хранит координату или состояние элемента робота в конкретный момент времени. Движение робота – это переход между двумя точками. Название жеста отображается в заголовке окна (1).

Режим создания

Шкала времени

Шкала времени

  1. Названия треков
  2. Поле точек
  3. Меню управления шкалой времени

Поле точек

Таймлайн точек жеста

  1. Точка начала жеста
  2. Точка окончания жеста
  3. Указатель текущего времени (можно двигать колесиком мыши или перетаскивать мышкой)
  4. Точки жеста. Они создаются автоматически, если какой-то из параметров движения робота был изменён. Точку можно выбрать нажатием мыши. Несколько точек можно выбрать, если зажать shift.
  5. Шкала времени. Один интервал соответствует 40мс, то есть одному кадру в кино.

Если выбрана конкретная точка, то в меню подсвечиваются установленные для неё координаты или параметры. Для удаления точки нужно удалить все её параметры нажатием кнопки “крестик”. Это можно сделать, если время шкалы времени совпадает с временем точки.

Перемещение точек

Комбинациями клавиш Shift-влево, Shift-вправо точку можно двигать по шкале времени

Shift

Комбинациями клавиш Ctrl-влево, Ctrl-вправо можно двигать по шкале времени стек точек, то есть все точки, находящиеся в одной координате времени

Ctrl

Комбинациями клавиш Alt-влево, Alt-вправо позволяет двигать все точки справа от выбранной точки. Это удобно, если требуется расширить или сузить жест.

Alt

4 Фазы жеста

Жесту может быть приписано несколько фазовых точек. По этим точкам может проводиться синхронизация нескольких жестов в пакете BML. Это точки:

  • start – начало жеста
  • ready – ожидание
  • stroke_start – начало замаха
  • stroke – пик жеста
  • stroke_end – конец замаха
  • relax – отдых
  • end – окончание жеста

Самая левая точка жеста по умолчанию создает точку start:

Start

Самая правая точка жеста по умолчанию создает точку состояния жеста end:

End

Между точками состояния start и end можно поставить точки других фаз жеста:

Stages

Кнопки управления шкалой времени

Кнопки управления жестом

  1. Текущее время на шкале времени
  2. Промотать шкалу времени к началу жеста (точка start)
  3. Запустить проигрывание жеста. Проигрывание начинается с текущего времени или с 0, если курсор стоит в конце жеста
  4. Промотать шкалу времени к концу жеста (точка end)
  5. Добавить 1000 мс к шкале времени