Maya: программирование на MEL

Р. Уилкинс Марк Крис Казмиер

Предисловие
1 Под капотом MAYA
Зачем заглядывать под капот?
Граф зависимостей, атрибуты и связи
Иерархия трансформаций и отношения родительских и дочерних объектов
Исследование иерархии
Узлы трансформаций и форм
MEL и интерфейс пользователя Maya
Что необходимо помнить о том, как работает Maya изнутри при реализации действий пользователя
2 Основы MEL-команд
Могу ли я использовать MEL без написания сценариев?
Командная строка (command line) и строка обратной связи (command feedback line)
Командный процессор (Command Shell)
Редактор сценариев (Script Editor)
Редактор сценариев в сравнении с командным процессором
Сообщения редактора сценариев как код MEL
Создание кнопки на полке (shelf button) для MEL-сценария
Сохранение MEL-сценария
Привлекательные опасности области статусных сообщений
Команда whatIs
Базовая структура MEL-команд
Где найти информацию о Maya и MEL в Интернете
Что нужно помнить о том, как использовать MEL без написания сценариев
3 Использование выражений
Что такое выражение?
Как работает выражение?
Знак равно: равенство и присваивание
Как Maya выполняет выражения
Язык выражений Maya - то же, что и MEL?
Когда использовать (и когда не использовать) выражения
Определение соотношений между атрибутами
Что такое приоритет операторов?
Обзор языка выражений Maya
Что нужно помнить об использовании выражений
4 Управление частицами с помощью выражений
Два вида атрибутов объектов частиц: общие и индивидуальные
Все о векторах
Два вида выражений: обычные и частиц
Несколько рекомендаций для повышения эффективности выражений частиц
Что необходимо помнить о выражениях частиц в Maya
5 Решение проблем с помощью MEL-сценариев
Роль MEL в Maya: создание сцен
Стратегии планирования MEL-приложений
Простейший интерфейс пользователя
Создание, редактирование и запрашивание узлов в MEL
Добавление, задание и получение значений атрибутов в MEL
Связывание атрибутов в MEL
Создание и связывание узлов выражений в MEL
Что нужно помнить о написании MEL-сценариев
6 Переменные и типы данных
Объявление переменных (и необъявление)
Переменные среды
Операторы MEL и контроль типов
Простые и агрегированные типы данных
Что необходимо помнить о переменных и типах данных в MEL
7 Использование MEL-команд
Что такое MEL-команда?
Структура MEL-команды
Использование MEL-команд в MEL-сценариях
Избегайте использования MEL-команд в выражениях
Что необходимо помнить об использовании MEL-команд
8 Управление узлами в MEL
Использование команды ls для нахождения узлов по имени или другим свойствам
Использование команды select для управления выделением объектов
Создание узлов в MEL-сцене
Нахождение родителей и потомков узла
Нахождение информации о связях узла
О типах узлов Maya и руководстве "DG node reference"
Что необходимо помнить об управлении узлами в MEL
9 Управление процессом выполнения
Управление процессом выполнения сценария
Базовые условные операции: if-else и выбора
Циклы
Что необходимо помнить об управлении процессом выполнения в MEL
10 Процедуры и функции
Нисходящее проектирование
Что такое процедуры и функции?
Что необходимо помнить о процедурах, функциях и нисходящем проектировании в MEL
11 Присваивание имен узлам, сценариям и переменным
Почему важны соглашения по присваиванию имен
Присваивание имен сценариям
Присваивание имен переменным
Присваивание имен узлам
Что такое пространство имен?
Стратегии использования пространства имен
12 Разработка интерфейсов пользователя MEL
Что такое интерфейс пользователя
Что пользователи Maya ожидают от MEL-сценария
Вопросы, на которые необходимо ответить перед разработкой интерфейса пользователя
Разработка и тестирование интерфейса пользователя
Структура диалогового окна
Что необходимо помнить о проектировании интерфейсов пользователя в MEL
13 Простые интерфейсы пользователя MEL
Сбор информации от пользователей
Подтверждение правильности введенных пользователем данных: когда и зачем
Запрос на подтверждение с помощью confirmDialog
Запрашивание пользователем на ввод текстовой строки с помощью promptDialog
Запрашивание пользователем на выбор файла или каталога с помощью fileDialog
Работа с предупреждениями и сообщениями об ошибках с помощью команд Warning и Error
Использование регулярных выражений и подтверждение правильности данных
Как работают регулярные выражения
Проверка достоверности целых значений
Проверка достоверности чисел с плавающей точкой
Подтверждение правильности имен объектов (без пространств имен)
Что необходимо помнить о простых интерфейсах пользователя MEL и подтверждении правильности вводимых данных
14 Пользовательские диалоговые окна
Как создать структуру сценария, который использует пользовательское диалоговое окно для ввода данных
Диалоговые окна и их содержимое
Распространенные типы элементов управления
Распространенные типы полей
Что необходимо знать о создании пользовательских диалоговых окон в MEL
15 Инсталляция MEL-сценариев
Установка сценария, для того чтобы сделать его доступным во всех сценах
Установка сценария для запуска при открытии Maya
Установка сценария в виде узла сценария в сцене
Установка пользовательских меню
Управление полками кнопок и создание пользовательских иконок на полке
Что необходимо помнить об установке MEL-сценариев
16 Примеры использования MEL с динамикой частиц
Добавление цвета и радиуса
Добавление скорости
17 Примеры использования MEL с динамикой твердых тел
18 Пример простой системы управления толпой
Полный сценарий crowdSystem.mel
19 Примеры использования MEL в моделировании персонажей
Полный текст mrBlahControls.mel
Приложение А. Контрольный список вопросов проектирования MEL-сценариев
Определение проблемы
Реализация основного сценария
Реализация интерфейса пользователя
Послесловие
Предметный указатель