if(objExists(“myCurve”)) { . . . }

8. Если вы открываете новое окно, проверьте, не открыто ли оно уже. И в случае его существования, удалите его, чтобы всегда создавать только одну копию окна. Для этого не забывайте давать окнам имена.

iff window -ex DROP_WINDOW') { deleteUI DROP_WINDOW; } window -t “drop attributes” DROP_WINDOW;

9. Если элементов интерфейса немного, то можно придумать им свои имена, задаваемые командой создания этих элементов. Однако взрослые мальчики стараются использовать имена для элементов интерфейса, которые им назначает MAYA (если при создании не указывать явное имя).

string $but = 'button -I “Format All Disks" -c “confirmDialog"';

10. Мировые координаты компонент (например, вершин) можно узнать с помощью команд pointPosition илих^гт. Последняя команда - исключительна полезна для работы с трансформациями и пивотами.

11. Команда eval (или evalEcho) позволяет выполнить любую переменную, содержащую строку, как MEL-команду. Ее удобно использовать при построении кривых или поверхностей, накапливая длинную строку в цикле, а потом выполняя ее одним махом, как команду.

12. Вот несколько полезных команд, наличие которых не так очевидно и отыскать которые методом тыка не всегда возможно:

• tokenize - позволяет разделить строку на части, используя любой символ, как разделитель внутри строки (например, косая черта, как разделитель между папками в полном имени файла);

• catch и catchQuiet - позволяют продолжить выполнение скрипта, даже если произошла ошибка;

• refresh - обновляет экран;

• scriptJob - задает команду или процедуру, выполняющуюся при определенном событии или условии;

• image - вставляет картинку в окно, как элемент интерфейса;

• connectControl - присоединяет элемент интерфейса к заданному атрибуту (используется, например, для присоединения «галки» checkBox к логическим атрибутам типа visibility);

• about - сообщает массу интересной информации;

• colorAtPoint - возвращает цвет (или альфу) текстуры е точке, заданной своими UV-координатами;

• scmh - секретная команда, позволяющая имитировать щелкание мышью в определенном месте. С ее помощью, можно, к примеру, строить кривые, проходящие через заданные Edit Points.

13. Последний совет специально для исследователей MEL. Как можно чаще используйте команду whatls. Если она вдруг выдаст странный ответ типа Run Time Command:

whatls RenderlntoNewWindow;

// Result: Run Time Command //

не унывайте. Дайте еще одну команду:

runTimeCommand -q -с RenderlntoNewWindow;

// Result: renderlntoNewWindow render // whatls renderlntoNewWindow;

// Result: Mel procedure found in: C:/Program Files/Alias/Maya9.5/scripts/others/renderWindowPan-el.mel / /

14. P.S. He забывайте, что MAYA различает маленькие и большие буквы.

История. Я опять не хочу в Париж


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