-alt false -allowOptionBoxes true -parent ('get Panel -wf') -mm 1 tempMM;

source "menu_CreateOptimised"; Просто считываем текущее активное окно и ставим его как parent layout для pop up меню. Думаю, это будет неплохим упражнением для закрепления материала.

Stickey hotkeys

Для пользователей XSI это слово не ново. Скажем, мы решили модифицировать родной майский split polygon и повесить его на заветный “липкий” хоткей. Обычно при использовании сплита мы переключаемся в объектный режим, теряем выделение и должны переключаться обратно на старый инструмент. Все это - куча лишних операций, и избежать ее нам поможет идея “липкого” хоткея. Допустим, мы работаем с моделькой, в выделении есть какие-то фейсы; вращаем наши фейсы каким-то хитрым инструментом. Теперь зажимаем клавишу липкого хоткея, подсветился объект, мы переключились в split polygon инструмент. Режем модельку как нам нравится, теперь отпускаем клавишу и… возвращается старое выделение - наши полигончики, текущий инструмент автоматически переключается обратно, в нашем случае в rotate tool. Даже режим выделения компонентов вернется на прежний. Не сложно понять, насколько это удобно. При всей кажущейся сложности, данный сетап весьма тривиален. Давайте перейдем к техническим деталям: Если вам кажется, что понятие stickey хоткей - это что-то новое для майки, то вы ошибаетесь. Чем, по-вашему, является столь древняя маркинг менюшка? Тем самым, вся разница лишь в том, что вместо инструмента мы строим marking менюшку. Как мы уже узнали из предыдущих глав, в нашем распоряжении есть две команды для хоткея - нажатие и отпускание. Все, что нам нужно, - это запомнить инструмент, с которым мы работаем, выделенные компоненты, подсвеченный (hilited) шейп, и, возможно, режим выделения (так как после использования сплита он почему-то переключается в объектный). Затем мы просто устанавливаем текущий инструмент - split polygon (в последствии вы сможете заменить это на любой другой инструмент). Далее инициативу перехватывает команда, назначенная на отпускание клавиши. Все, что от нее требуется, - это вернуть старый инструмент, selection, hilite и режим выделения.

Возникает вопрос: как, собственно, узнать, какие именно компоненты были выделены до отпускания клавиши? Какой именно инструмент? Ничего нового - тот же принцип, что в предыдущем параграфе, только больше глобальных переменных. Для выделения, инструмента и хайлайта создадим три глобальных переменных. При нажатии на хоткей запомним в них текущий селекшн, инструмент и хайлайт соответственно. При отпускании хоткея просто восстановим все на место базовыми командами, которые вы не раз наблюдали в строке вывода майки. Итак, обо всем по порядку: В хоткей эдиторе, как обычно, создаем новую команду, оную я назвал StickySplit_ Press - команда нажатия на хоткей. Теперь дело за малым: достать код для этой команды. По старинке открываем родной скрипт эдитор и начинаем шуршать по клавишам.

Чтобы узнать текущий инструмент, воспользуемся командой currentCtx, например, так:


⇐ вернуться назад | | далее ⇒