Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_Данил.doc
Скачиваний:
42
Добавлен:
09.02.2016
Размер:
1.53 Mб
Скачать

1.2 Возможности программирования Maya

Графический пользовательский интерфейс (GUI) Maya управляется средствами MEL - встроенного языка, на котором он полностью и написан. Язык MEL помогает создавать, редактировать и удалять любые элементы графического интерфейса пользователя. А значит, при помощи MEL вы тоже можете управлять интерфейсом Maya. Так, пользуясь своими сценариями на языке MEL, вы можете полностью заменить стандартный интерфейс. Часто возникает потребность в специализированной настройке фрагментов интерфейса Maya. К примеру, возможно, вы захотите разработать собственный интерфейс, позволяющий аниматорам устанавливать ключевые кадры, не утруждая себя изучением средства Channel Box (Окно каналов) или редактора Graph Editor (Графический редактор). Кроме того, вы можете скрыть или убрать многие элементы интерфейса Maya, понизив его сложность для конкретных пользователей.

Наряду с пользовательским интерфейсом, вы можете управлять внутренними настройками Maya.

MEL позволяет вносить изменения в настройки Maya, действующие как в рамках одного проекта, так и на систему в целом. Например, вы можете обеспечить согласованное применение всеми пользователями одинаковых временных, угловых и линейных единиц измерения. В иной ситуации каждый пользователь, открывающий тот или иной проект, сможет работать с собственными настройками, имеющими силу в данный момент времени.

Интеграция

Часто Maya оказывается не единственным пакетом, применяемым в производственном процессе. При этом могут использоваться лишь некоторые возможности Maya, для решения же отдельных задач могут служить другие пакеты. В этом случае возникает необходимость передавать данные из внешних пакетов в Maya и обратно. Хотя в стандартную поставку Maya входят средства экспорта и импорта отдельных форматов, интерфейс программирования позволяет вам писать собственные модули экспорта и импорта данных. Такие модули транслируют данные одного пакета в формат, понятный другому, поэтому их также называют трансляторами. Так как Maya позволяет обращаться к целым сценами связанным с ними данным, то вы можете выводить эти данные в любой нужной вам форме. Перед компаниями, выпускающими компьютерные игры, часто стоит задача переноса и преобразования разработок, сделанных в Maya (моделей, анимации и т. д.), в формат конкретной игровой платформы.

Кроме того, на основе функциональных возможностей Maya можно создать

отдельное приложение. Так появляется возможность использовать смесь кода

Maya и собственных функций для создания законченного программного решения.

Автоматизация

Нередко многие задачи повторяются. Для автоматизации повторяющихся

действий вполне подходит программирование. Вместо того чтобы просить пользователя всякий раз решать задачу вручную, можно составить сценарий на языке MEL, который ее полностью автоматизирует, Будь то раскраска, размещение объектов или просто какая-то задача, требующая многократного решения, - все это можно автоматизировать. По сути, в силу характерных для программирования обобщений, вы можете написать сценарий, выполняющий различные действия в зависимости от текущего контекста. Например, можно создать ряд объектов и поместить их поверх другого объекта либо прикрепить к его нижней части, причем автоматически, не требуя от пользователя ручной установки каждого из них.[21]

Расширения

Несмотря на то что невероятно обширный набор возможностей Maya представляет предмет гордости этого пакета, потребность в нестандартных средствах и возможностях будет оставаться всегда. К счастью, Maya позволяет вам добавлять свои собственные возможности и функции. Более того, эти функции можно заставить прозрачным образом взаимодействовать с остальными компонентами Maya. С точки зрения пользователей, средства, которые они создают, ничем не отличаются от стандартных средств Maya. С помощью MEL и C++ вы можете создавать большие и сложные расширения пакета. Существует лишь несколько ограничений, определяющих набор расширяемых функций. Maya позволяет создавать собственные шейдеры, нестандартные модули динамики, частицы, деформаторы и контроллеры анимации, и это далеко не все. Фактически создаваемые расширения могут напрямую внедряться в граф зависимости Dependency Graph, самое «сердце» Maya. Встроив свое расширение один раз, в дальнейшем вы сможете обращаться к нему так же, как и к стандартным возможностям пакета.

Интерфейсы программирования

Художники обычно работают в Maya, пользуясь графическим интерфейсом

пользователя. Он включает меню, диалоговые окна, кнопки и прочие элементы, предоставляющие пользователям наглядные средства выполнения тех или иных действий. Но есть и другой способ их выполнения действий. Возможности программирования Maya позволяют решать те же задачи, составляя и выполняя программы. Эти программы можно разрабатывать, пользуясь одним из двух интерфейсов программирования Maya: MEL или C++.