3.3 Создание интерфейсов в MEL. Создание интерфейсов с кнопками. Курс "Создание скриптов MEL в Maya"
*Lynda: Online Courses, Classes, Training, Tutorials*: www.lynda.com/
Есть одна очень интересная возможность в скриптинге в Maya, она заключается в том, что вы можете создавать свои собственные пользовательские интерфейсы. Таким образом, вы можете иметь скрипт, который запрашивает у пользователя данные. Итак, давайте создадим простой скрипт, который покажет, как это работает. Мы собираемся начать с очень простых команд, которые нам нужно изучить. Первая из них отвечает на наш вопрос: "Как создать всплывающее окно в Maya?". Первое, что нам нужно сделать, это определить это окно. Для этого у нас есть команда в Maya, которая называется Window.
У нас может быть больше количество опций для этого. Если хотите, можете увидеть их все в документации. Я же сейчас познакомлю вас с самыми главными из них. Обычно я использую опцию, которая называется RFT, расшифровывается как re-size to fit (изменить размер, чтобы он соответствовал), иными словами мы можем назвать её "окно с изменяемым размером". Если вы хотите, вы можете изменять значения ширины и высоты, это прописано в документации. Я же использую сейчас просто Window -rft true. Другими словами, я смогу изменять размер окна под свои нужды.
Теперь нам необходимо дать окну название, мы можем назвать его как угодно. Я наберу title и назову окно просто "My Window". Теперь, когда у нас есть команда, подобная этой, все, что она делает - это создает окно. Однако нам все равно нужно это окно открыть. Итак, для этого у нас есть команда showWindow (показать окно), которая должна быть парной с командой window. Это две отдельные команды. Итак, если мы выделим эти команды и нажмем "выполнить", то увидим, что у нас появилось окно с заголовком "My Window".
Но в этом окне пока еще ничего нет. Мы можем добавить такие элементы, как кнопки, слайдеры и поля ввода. Таким образом мы сможем сделать что-то, напоминающее интерфейс. Итак, мы можем начать добавлять в процедуру дополнительные команды. Нам необходимо понять, как должны быть упорядочены элементы интерфейса: в строку или в столбец? Мне больше нравится, когда элементы расположено по столбцам. У нас есть команда columnLayout (Макет столбца). Далее вы можете добавить нужные элементы.
У нас есть несколько способов, чтобы добавить различные слайдеры и кнопки, и мы еще обратимся к ним. Но пока давайте сделаем что-нибудь максимально простое. Давайте просто создадим окно с кнопкой. Итак, у нас уже есть columnLayout, нам осталось только добавить кнопку командой button. Далее, мы должны дать этой кнопке название, так что напишем сюда опцию -label. Давайте назовем её «Make a Ball» (Создать шар). Итак, когда эта кнопку появится, на ней будет стоять название «Make Ball». Но, как нам создать этот шар? Самый простой способ - это создать сферу.
Итак, когда мы будем нажимать кнопку, она будет выполнять заданную ей команду. Так что мы пишем здесь -command, и мы можем ввести любую команду, которую мы захотим. В нашем случае нам необходима команда, которая просто создаст сферу, и мы пишем "sphere". Это очень простой скрипт. Итак, последовательность наших действий: определяем локацию окна, затем мы определяем способ размещения элементов как column. Далее у нас идет непосредственно опция - кнопка с надписью «Make Ball». Когда вы нажмете эту кнопку, она выполнит команду с надписью «sphere» - создаст Сферу.
Необходимо убедиться, чтобы все было написано без ошибок. Давайте продолжим, выделим команды и выполним их. Когда мы это сделаем, у нас появится окно. Вы можете увидеть, что оно называется «My Window». Мы можем изменить его размер, чтобы он соответствовал нашим потребностям. Теперь у нас есть кнопка, которая называется Make Ball. Когда я нажимаю на неё, у нас появляется шар. Очень, очень круто. Но, давайте сделаем это немного более индивидуальным. Ранее мы с вами создали простой скрипт, который позволял отобразить шар и цилиндр.
Давайте создадим новую вкладку MEL, и в эту вкладку загрузим наш скрипт. Я его заранее сохранил его для вас. Открываем скрипт 03_03_Start. Это вариация созданного нами ранее скрипта. В принципе, все, что он делает - это создает процедуру, которая называется makeStick, затем он выполняет её. Итак, если я выделю и выполню скрипт, вы увидите, что он создает шар и цилиндр.
Мы можем взять эту процедуру, скопировать его и вставить в наш скрипт, с которым мы работали. Итак, мы копируем её, щелкнув правой кнопкой мыши здесь, заходим в окно с нашим скриптом, который создает само окно, и вставляем. Итак, теперь, в этом скрипте, у меня есть процедура под названием makeStick, которая создает цилиндр с шариком на конце. Итак, мы можем вернуться к кнопке, которую мы создали. И, вместо команды создания сферы, давайте напишем процедуру makeStick...
7 сен 2024