1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Вопрос по MEL

Тема в разделе "Maya", создана пользователем Paul Sidorov, 2 ноя 2001.

Модераторы: Dark™, Skif
  1. Paul Sidorov

    Paul Sidorov Мастер

    С нами с:
    22.03.2001
    Сообщения:
    332
    Симпатии:
    0
    Баллы:
    98
    Кто-нибудь знает как написать скрипт, чтобы он выполнялся для любого выделенного объекта, а не для объекта с номером таким-то?
    Спасибо
     
  2. Guest

    string obj;
    for (obj in `ls -sl`) {
    ...
    }
     
  3. Paul Sidorov

    Paul Sidorov Мастер

    С нами с:
    22.03.2001
    Сообщения:
    332
    Симпатии:
    0
    Баллы:
    98
    Спасибо,а можно поподробнее: это куда писать, вместо имени объекта?
    Я пока еще не так хорошо знаком с языком MEL. Например, мне нужно создать loft из 2-х выделенных кривых с UV-tesselation 5.
    Спасибо
     
  4. Ruslan_3D

    Ruslan_3D Активный участник

    С нами с:
    06.09.2001
    Сообщения:
    352
    Симпатии:
    0
    Баллы:
    13
    Привет.
    Сходи на www.3dfly.com. Там в разделе Уроки/Мауа лежит мой урок по работе с MEL в версии 4.0. Название "Использование MEL для создания интерфейсов". Почитай, наверное ты найдешь в нем то, что тебе нужно. Буду рад если этот урок тебе пригодиться.
     
  5. Guest

    Ты сам по-подробнее опиши ту операцию, которую собираешься программировать...
     
  6. Paul Sidorov

    Paul Sidorov Мастер

    С нами с:
    22.03.2001
    Сообщения:
    332
    Симпатии:
    0
    Баллы:
    98
    Да я, вроде описал. На всякий случай повторяю:
    Имеются две замкнутые кривые, между ними нужно создать loft с определенным фактором тесселляции (uv-tessellation factor), допустим, 5. Я хочу оптимизировать этот процесс, поскольку таких лофтов приходится делать много и каждый раз вбивать значения вручную, процесс весьма утомительный.
    Совсем подробно.
    Моделирую реальную покрышку. Для полиграфии. Разрешение большое, качество высокое.
    Технология следующая:
    1. AI-кривые, повторяющие рисунок протектора, проецирую на revolved surface.
    2. Trim. Остается закругленная верхняя часть элемента протектора,(рабочая поверхность шины).
    3. У рабочей поверхности копирую полученные trim edge curves, объединяю их в одну curve. (Если тримишь проекцию AI, trim edge curve может состоять из нескольких кривых).
    4. ВНИМАНИЕ! Копирую получившиеся кривые еще раз, сдвигаю вниз, и ДЕЛАЮ LOFT МЕЖДУ ВЕРХНИМИ НИЖНИМИ КРИВЫМИ. В среднем таких лофтов. Около 20. (Вот меня и интересует можно ли просто создать скрипт, чтобы loft был уже с нужной тесселляцией, и совсем хорошо, если бы можно было выделить все верхние кривые, затем нижние, и одним скриптом между ними сделать вожделенный loft.)
    5. Копирую полученный элемент по кругу.
    Вот, собственно, такая технология, зарекомендовавшая себя среди прочих, как самая оптимальная.
    Заранее благодарен.
     
  7. Guest

    Вот удобный способ работы с выделенными объектами в MEL
    string $name[]; Берем строковой массив
    $name = `ls -sl`; комада ls с ключом -sl помещает в массив $name все выбранные объеты
    и теперь в переменной $name лежат все выбранные объекты
    первый объект лежит в $name[0]
    второй объект лежит в $name[1]
    и так далее.....
    и теперь когда надо просто ставишь вместо имени $name[а сюда порядковый номер объекта изходя из того каким этот объект был выбран] и не забывай что первый объект лежит в $name[0] тут легко запутаться
    Удачи :)
     
Модераторы: Dark™, Skif

Поделиться этой страницей