Вы можете без труда разыскать там вышеупомянутую команду move, прочесть описание того, что она делает, и увидеть список параметров-флагов, которые модифицируют действие команды.
Структура MEL-команд Следует сразу оговориться, что условно язык MEL состоит как бы из двух частей.
Первая - это конструкции языка программирования типа if-else, for, while, break, switch, continue, такие, что позволяют складывать числа, организовывать циклы, условные переходы и управлять последовательностью выполнения команд.
Вторая огромная часть - это собственно сами MEL-команды, которые выполняют конкретные действия в MAYA, а не только складывают и умножают числа.
Основные конструкции языка я разберу чуть позже, а сейчас остановлюсь на внешнем виде MEL-команд.
Каждая команда имеет примерно одинаковую структуру, состоящую из имени команды (например, move), флагов-параметров (-г) и некоторых значений (0 5.6 0):
move -г 0 5.6 0; В самом конце команды может указываться имя объекта, к которому эта команда применяется, move -г 0 5.6 0 pCubel; Если имя объекта не указано, команда применяется к выбранным объектам (если она, конечно, работает с объектами).
Флаги (аргументы, модифицирующие действие команды по умолчанию) могут появляться после имени команды в произвольном порядке. Некоторые флаги требуют значений для себя, и тогда после имени флага (начинающегося с «-* ) указываются значения флага, которые могут быть чем угодно - числом, строкой, тройкой чисел и проч.
sphere -р 0 0 0 -ах 0 1 0 -ssw 0 -esw 360 -г 1 -d 3 -ut 0 -to! 0.01 -s 8 -nsp 4 -ch 1; Имена флагов могут быть длинные и короткие (по аналогии с атрибутами объектов), чтобы ленивые программисты могли печатать меньше символов. Использование длинных имен флагов не изменяет действия команды, это улучшает читабельность программ, но зато увеличивает расход энергии программиста.
sphere -pivot ООО -axis 0 1 0 -startSweep 0 -endSweep 360 -radius 1 -degree 3 -useTolerance 0 -tolerance 0.01 -sections 8 -spans 4 -constructionHistory 1; Если флаг не указан, используется поведение команды по умолчанию (точнее, значения флага по умолчанию). Если, например, просто выполнить команду
sphere; то возникнет сфера, лежащая на боку, так как значение флага -axis по умолчанию равно 1 0 0. Именно это значение будет использовано, если флаг -axis не указан явно в команде.
Впрочем, если слова «флаги» или «аргументы» начинают вас пугать, перейдем к практическому примеру, на котором разберем, как можно случайным образом изменять свойства (то есть атрибуты) большого количества выделенных объектов с помощью MEL.
Особенности работы в Script Editor
Для начала напомню про особенности работы в Script Editor.
Нижняя часть ScriptEditorcr^HT для ввода, редактирования и отладки последовательностей команд. Команды вводятся как обычный текст и выполняются нажатием на серую кнопку Enter справа на цифровой клавиатуре (или Ctrl+Enter, для владельцев супер-ноутбуков). Чтобы выполнить только часть набранных команд, необходимо предварительно выделить их левой кнопкой мыши, а затем нажать серую кнопку Enter. Можно также перетаскивать мышью выделенный текст из верхней части Script Editor в нижнюю часть.