ISBoxer: применение VFX-макетов
В этом примере описывается создание панели переключения между окнами, содержащей живые миниатюры этих окон. Новый макет превосходит обычный тем, что все окна будут иметь натуральный размер - это позволит сохранить качество изображения при добавлении фрагментов Video FX из других окон. У такого подхода есть и другие скрытые возможности, которые нам предстоит изучить в рамках этой статьи.
На этом этапе предполагается, что вы уже знакомы с функциями Video FX и dxNothing, а также добавили пустое окно dxNothing в ISBoxer. Если вы не поняли, что я сейчас написал, прочтите предыдущую статью на эту тему.
Всё это только кажется сложным. Но если знать, куда нажимать, то на всю настройку потребуется не больше трёх минут.
Создание VFX-макета с помощью dxNothing
- Добавьте новый макет расположения окон через помощник "Window Layout Wizard", выбрав в нём схему под названием "Stacked full screen".
- Выберите новый макет в дереве настроек и перейдите в подраздел "Regions".
- Измените последнее окно таким образом, чтобы оно образовало панель для будущих миниатюр. Для максимальной точности можно взять размеры из другого макета, созданного вами ранее.
- Для последнего окна установите параметр "Always On Top Mode" в значение "On, if a game window is foreground". Когда вы решите переключиться обратно на игровые окна из другого приложения, это заставит новую панель перейти на передний план вслед за основным окном.
- Поочерёдно измените размеры остальных окон так, чтобы каждое из них занимало оставшееся пространство над панелью. Переключение на следующую область осуществляется через выпадающий список справа вверху.
Добавление областей просмотра Video FX
На мой взгляд, это удобнее сделать отдельной горячей клавишей, применив в ней действие Video FX Action.
- Создайте сложную горячую клавишу:
- Перейдите в раздел настроек "ISBoxer > Key Maps" и выберите набор "Always On" (или "General").
- На панели снизу кликните правой кнопкой мыши по надписи "Mapped Keys" и выберите "New Mapped Key".
- Задайте понятное имя новой клавише.
- Чтобы её можно было вызвать с клавиатуры, назначьте комбинацию справа в поле "Hotkey". Пусть это будет Alt+1.
- Выберите первый шаг (Step > 1), добавьте действие "Video FX Action" (Actions > ПКМ > New Video FX Action) и на панели справа выполните следующее:
- Укажите в качестве цели (Target) окно dxNothing, ведь именно в него мы будем добавлять миниатюры.
- Переключитесь на опцию "Create".
- Напомню, ISBoxer автоматически создаёт источники Video FX с названиями "is1", "is2", "is3" и т. д., содержащие всё окно целиком. Поэтому нам не нужно создавать их ещё раз. Просто укажите название оконной сессии в поле "FX Name" и выберите под ним тип элемента "Video FX Viewer".
- Для максимальной точности и удобного расчёта я возьму некоторые цифры из другого макета:
Поскольку новые области будут располагаться внутри отдельного окна, значения нужно указать относительно него. В моём случае вертикального смещения не будет, поэтому меня интересуют координата "X" из поля "Location" и размеры из поля "Size" - их я применю в горячей клавише.
- Мне будет удобно, если я смогу кликать в другом окне непосредственно через его миниатюру. Поэтому я включу опцию "Include Mouse pass-thru".
- Отметьте опцию "Enable Video FX Focus Hotkey", чтобы иметь возможность легко переключаться между окнами путём наведения курсора на миниатюру и последующего нажатия Alt+ЛКМ.
- Выполните предыдущий этап с остальными окнами. Количество добавляемых действий будет соответствовать числу игровых клиентов. Для ускорения процесса можно несколько раз скопировать созданное действие и поменять в копиях только название оконной сессии и координаты.
Ваши цифры будут отличаться от этих, если вы предпочитаете иначе располагать окна или имеете в распоряжении другой монитор.
- Экспортируйте настройки в Inner Space.
Посмотрим, что из этого получилось. Первые пять окон с одинаковыми размерами наложились друг на друга. Окно dxNothing вытянулось снизу чёрной линией. А после вызова Alt+1 панель заполнилась живыми миниатюрами.
Окна стали переключаться настолько быстро, насколько это возможно! Для этого по-прежнему доступны сочетания Ctrl+Alt+1, Ctrl+Alt+2 и т. д. Они задаются в разделе "ISBoxer > Character Sets > [название группы] > Slots > [номер ячейки] > Hotkey to switch to this character". Или можно просто зажать Alt и кликнуть по миниатюре.
И главное, теперь качество фрагментов Video FX, добавляемых из других окон, нисколько не уменьшится. Однако, можно сделать результат ещё лучше и удобнее.
Доработка других функций
Некоторые макеты, созданные помощником, наглядно показывают активное на данный момент окно, оставляя черную область на его прежнем месте. Чтобы перенести этот функционал на новую панель dxNothing, нужно проделать следующее:
- Скопируйте несколько раз только что созданную горячую клавишу, и присвойте копиям новые имена.
- Далее необходимо в первой горячей клавише выбрать первое действие и переключить опцию "Create" на "Destroy".
- Выполните то же самое с копиями, но каждый раз из списка нужно выбирать следующее действие, соответствующее порядковому номеру горячей клавиши. То есть первая клавиша будет удалять первый VFX-элемент, вторая клавиша - второй элемент, третья - третий и т. д.
- В дереве настроек ISBoxer выберите вашу группу, затем ниже перейдите на первую ячейку (Slots > 1).
- Укажите под опцией "Do this Mapped Key" первую горячую клавишу:
- Сделайте это и с остальными ячейками, кроме последней, выбирая каждый раз следующую горячую клавишу.
- Экспортируйте настройки в Inner Space.
Если вы настраивали ISBoxer для World of Warcraft, скорее всего, на месте "Mapped Key" будет указано "JambaMaster". Эта горячая клавиша применяется для автоматического следования за новой целью после переключения. Чтобы не отказываться от такой удобной функции, вернитесь в раздел "Key Maps" и сделайте следующее:
- Откройте список действий одной из созданных горячих клавиш, добавляющих области просмотра Video FX.
- Кликните правой кнопкой мыши по надписи "Actions" и выберите "Key Map Actions > Do Mapped Key Action".
- Справа в выпадающем списке "Target" укажите "Window:Current".
- Чуть ниже выберите горячую клавишу "JambaMaster".
- Это нужно проделать с каждой клавишей, добавляющей миниатюры, чтобы переключение на любое окно активировало следование.
При запуске игровых клиентов окно dxNothing может заполняться миниатюрами автоматически. Чтобы это стало возможным, перейдите в раздел "ISBoxer > Character Sets > [название группы]". Затем найдите в конце параметр "Perform this Mapped Key when Character Set is loaded or reloaded", нажмите на кнопку < рядом с ним и укажите во всплывающем окне одну из созданных ранее горячих клавиш:
Если панель dxNothing мигает после переключения, и вас это раздражает, можно изменить поведение горячих клавиш "Switch to Slot N":
- Пускай отдельная горячая клавиша создаёт (Create) все миниатюры только при запуске.
- Остальные при переключении должны скрывать главную миниатюру опцией "Hide" и отображать побочные опцией "Show".
Привязка Video FX к курсору
ISBoxer позволяет создать эффект, напоминающий экранную лупу Windows. Удерживая специальную горячую клавишу, вы будете наблюдать определённый фрагмент другого окна в зависимости от позиции курсора. А также сможете с ним взаимодействовать.
Как вы, возможно, догадались, макет расположения окон в ISBoxer должен быть настроен по описанному в начале статьи примеру. Иначе во всплывающем окне будет невозможно что-либо разглядеть.
Когда во время быстрой настройки выбирается схема управления "Action RPG", помощник добавляет в раздел "Key Maps" сложные горячие клавиши "Hold to Control". Каждая из них при удержании контролирует какое-то одно окно. Например, в игре Diablo III, они дают возможность управлять другим окном из любого клиента.
Возьмём их за основу, добавив всего несколько опций:
- Выберите одну из клавиш "Hold to Control" и рядом с надписью "Hotkey" определите для неё комбинацию.
- На первом шаге (Steps > 1) внесите изменения в действие "Repeater State Action":
- Справа в секции "Cursor-based Video FX" включите параметр "Video FX".
- Отметьте опции "Video source size" и "Video output size", дополнительно указав удобные размеры всплывающего окна.
- Можно повлиять на масштаб выводимого изображения, указав другие размеры напротив "Video source size".
- Используйте опции "Opacity" и "Border", если хотите изменить уровень прозрачности всплывающего окна или цвет его границ.
- Добавьте действие для второго шага (Steps > 2):
- Повторите всё это с остальными подобными клавишами, чтобы иметь возможность управлять другими окнами.
Если по какой-то причине вы не хотите менять их обычное поведение, можно создать копии (ПКМ > Make Copy) и внести изменения в них.
Эта функция может работать неидеально. Например, из-за непонятного дефекта по краям можно наблюдать зелёную рамку. Её довольно просто замаскировать, поменяв цвет границы на чёрный.
Кроме того, может оказаться неприятным дрожание картинки во время движения курсора. Оно может быть сильнее, если разница между FPS главного окна и источника отличаются. Меньше всего картинка стала дрожать, когда я отключил ограничение кадров в секунду для всех окон.
Несмотря на всё это, функция вполне жизнеспособна и в некоторых ситуациях облегчает управление.