Первая строчка показывает команду, которая была выполнена (polyCube), и флаги, с которыми мы ее выполнили (флаги - это парни с черточкой: например -w) Флаг - это, по сути, способ передачи конкретных параметров нужной команде. Пару слов о второй строчке кода, который нам написала майка, начинающегося со слова “// Result”: тут Maya говорит нам, что команда, которую мы выполнили, кроме конкретного эффекта над сценой, еще и возвращает значения. В данном случае - имя Transform и Shape-ноды созданного кубика. Эта информация весьма полезна, скажем, эти имена можно было бы засадить в переменную и делать с ними более интересные вещи по мере выполнения кода.

Скопируйте первую строчку кода    в окно ввода,    выделите    код    и поиграйтесь    с    ним -    поменяйте значения флагов, удалите парочку    и    т.д., и т.п. (нажимая Enter    на Num паде    можно    выполнять выделенный код, не стирая его из самого эдитора). Полный список всех команд с описанием можно найти по знакомому адресу, по знакомой клавише в разделе Mel command reference.

Итак, наигрались? Наверняка вы заметили, что майка выписывает весьма длинный код с множеством информации, но, на самом деле, большая часть флагов нам не нужна, так как существуют “заводские” значения, которые нам подходят, соответственно, в этих флагах нет нужды. Например, я удалил все флаги, кроме двух, определяющих ширину (-w) и высоту (-п) будущего кубика:

polyCube -w 1 -h l; Эту команду уже можно использовать для нашего маркинг меню. Похожим способом можно раздобыть команды для создания шариков, цилиндров и прочих любимых примитивов. Я также решил в эту менюшку добавить код для создания источника света, локатора, камер и группирования.

spaceLocator -p 0 0 0; // локатор

defaultPointLight(l, 1,1,1, 0, 0, 0,0,0, 1); // point light group; // групка Итак, лезем в Window - Settings Preferences - Marking menus. Создаем новое маркинг меню - Create marking menu. Обзываем его чем-нибудь осмысленным, скажем Create Menu. Теперь в каждой ячейке, кликом по правой кнопке мыши выбираем Edit menu item. Это, по сути, будущие кнопки в нашем маркинг меню. Даем каждой желаемое название и в поле с кодом вставляем ранее заготовленный код. Обратим внимание на возможность создания подменюшек (в данном случае я сделал подменю для создания разных камер -1 узловая, 2 узловая и т.д.). После каждого действия нажимаем Save and close. Тестируем наше маркинг меню - и вуаля, работает..

Я уже вижу хитрые улыбки знающих майщиков. Существует очень изящный способ создания такого же меню, только без сложных операций с самим кодом. Можно перетаскивать иконки с шелфа прямо на элементы маркинг менюшек средней кнопкой мыши. Так же элегантно можно перетаскивать кнопки с шелфа в input window скрипт эдитора. Например, бросьте иконку цилиндра с шелфа в скрипт эдитор. Получите команду CreatePolygonCylinder. В случае с созданием примитивов можно использовать и ее для добавления цилиндров в сцену. Но эту команду вы не найдете в хелпе. Это одна из множества процедур, которые майя создает при запуске (runTimeCommand). На эту команду удобно смотреть как на маленький скриптик, запакованный в процедуру с конкретным именем. Узнать, что находится внутри нее, можно так:


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