Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Реклама

Maya 5 для профессионалов - Адамс М.

Адамс М., Миллер Э. Maya 5 для профессионалов — П: Питер, 2004. — 823 c.
Скачать (прямая ссылка): Maya5dliyprofessionalov2004.pdf
Предыдущая << 1 .. 269 270 271 272 273 274 < 275 > 276 277 278 279 280 281 .. 294 >> Следующая


return SsafeShel fCoiranand:

}

Этот код приведет к появлению замечательного пользовательского интерфейса для любого атрибута, допускающего создание ключей анимации на всех узлах, выделенных во время вызова сценария. Код написан в его обобщенной форме для использования на практически любом выделенном узле с численными атрибутами, допускающими создание ключей, поэтому его можно применять в различных ситуациях.

Функция customControlWindow, по сути, является циклом для выделенных в текущий момент времени узлов. Она просматривает все выделенные атрибуты, допускающие создание ключей анимации, и создает для каждого из них ползунок и кнопку. Функция saveSelected NodeAttrsToSheIf также представляет собой цикл, перебирающий атрибуты выделенных узлов и сопоставляющий их значениям строку setAttr. Затем эта строка помещается на полку, формируя там новую кнопку.

5. После копирования кода в окно Script (Сценарий) щелкните на кнопке Create (Создать).

6. Выберите в раскрывающемся списке Execute On (Выполнять при) вариант GUI Open/Close (Загрузка/Закрытие пользовательского интерфейса), как показано на рис. А.2.

Это приведет к тому, что код, помещенный в поле Script (Сценарий), будет выполняться при загрузке файла. В данном случае это единственный сценарий, выполняемый при загрузке.

7. Теперь введите в конец кода в поле Script (Сценарий) следующие строки:

select -r"rnyLacatarWithAttributes"; eval Defer red "customControlWі ndow()":

Завершив ввод, щелкните на кнопке Edit (Правка).

Если вы догадались, что при загрузке файла будет происходить выделение локатора, а затем загрузка кода с пользовательским интерфейсом, вы совершенно правы. То есть загрузка файла сопровождается загрузкой и выполнением связанного с этим файлом кода.

Что делать, если вы не хотите или не имеете времени, чтобы написать собственный пользовательский интерфейс для управления персонажем? Если вы считаете

782

Приложение А • Обычные и дополнительные возможности языка MEL

эту процедуру лишней, так как вряд ли подобный код понадобится вам аде раз, можно сказать, что вы достаточно мудры. Тем не менее рекомендуем вам разрабатывать пользовательский интерфейс для любого персонажа с многочисленными элементами управления, так как это значительно облегчает работу аниматора. Как же подготовить пользовательский интерфейс, не создавая его самостоятельно? Элементарно! Вы можете пользоваться сценариями,предлагаемыми в книге. Ведь именно для этого они и написаны!

MffkJ *¦ і»'«,............. ••

г,,

LU Cor^QLKttxm flitemd]

Sol t4«tt fiende*

SotfeHMie RameRerider 5ипеСопИаиа*іоо vXtfe*! pme I

If ('Vijid1OW -•* cu^tCntrЛвіл ){ Гериги; }

«СТІП0 fFr»d*fJ>D«4Dbj«Ct<[1 * t ‘JtrbQCiltorVl ^fcAttcibUtflrk »тілу * 'ls -*1 -d*?";

11 { I 'яіеі (fstJlect<4) ‘ II. tcturn;

I

Int * fDwdSbfech • 0 ,

(or (Fobj in ftfll+cbaiU f

fe* Cfpratia fi&adObj itt tptfvda I ULtdQb-] a?C ¦; і

it (tpr^defi^idnbi -F lULHHiflbtCb - I; bfatXJ

і

\

1« ( »frnjndflet^h I (

?Ui% prtCOtfb irOlVlitdOV j) f ClCutftU

I

«Lobkl pzvc cu^dkCDaorclVUvdcvf}

(

¦trijiff f*al#ctfcd{j M -ia -r±';

Рис. А.2. Пункты раскрывающегося списка Execute On в диалоговом окне Expression Editor

Если вас не устраивают предлагаемые сценарии, существует возможность загрузить из Интернета другие, полностью настраиваемые варианты. Как бы то ни

Понятие узла сценария

783

было, вы всегда можете встроить их в свои файлы в виде узлов. При написании кода действует одно общее правило: не стоит изобретать колесо! Если кто-то уже написал нужный вам сценарий, используйте его. Например, очень удобным является сценарий attributeCollection.mel, который можно бесплатно загрузить с сайта компании Alias|Wavefront. Впрочем, в желании написать собственный пользовательский интерфейс нет ничего плохого, хотя все-таки лучше не тратить драгоценное время, а обратиться к уже готовым сценариям.

Теперь перейдем к следующему этапу. Вы узнаете, как заставить пользовательский интерфейс автоматически загружаться при выделении определенных узлов. Для этого применяется команда scripUob.

Комбинация команды scriptJob с узлами сценариев

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

scriptJob -event "SeTectionChanged" "dolt"; scriptJob -conditionTrue ”SometfiingSeIected" "dolt"';

ScriptJob -attributeChange ’object.attribute" "dolt";

Как только возникает заданное условие или событие, выполняется функция dolt.
Предыдущая << 1 .. 269 270 271 272 273 274 < 275 > 276 277 278 279 280 281 .. 294 >> Следующая