среда, 6 июня 2012 г.

Wizard_Controllers v1.0

Wizard_Controllers v1.0
У меня давно была мысль переделать замечательный скрипт kk_controllers, автором которого является Karim Kashefy. наконец то дошли руки.
этот скрипт предназначен упростить и ускорить процесс создания управляющих манипуляторов (контроллеров, контролек, управляющих элементов) для сетапа (рига, ригинга) персонажей.
итак встречайте:
Что скрипт умел делать изначально:

1. Имел довольно большой набор манипуляторов.
2. Позволял менять их цвета (до версии maya 2010. более поздние версии страшно лагали)
3. Блокировать и прятать трансформы и видимость
4. Зеркалить манипуляторы (но при отзеркаливании происходил сброс трансформ ноды. что являлось большим минусом )
5. Создавать слайдеры
6. Создавать свои уникальные манипуляторы комбинируя несколько кривых.
7. Если выделен объект, то манипулятор примет положение и ориентацию этого объекта (но при этом трансформы у манипулятора не будут равны нулю.)
Добавлено и доработано:
1. Исправлены все ошибки оригинального скрипта (хотя один глюк пока остался: если выделять объекты в outliner то изменение цвета выдает ошибку)
2. Расширена база манипуляторов (и все манипуляторы при создании имеют одинаковый размер)
3. Именовать объекты, а так же создавать группу обнуления. (после написанного вами имени, у манипулятора появится суффикс _control, а у группы обнуления _null)
4. Возможность добавлять еще одну группу (суффикс будет _group)
5. При отзеркаливании можно производить поиск и замену имен манипулятора и групп.
6. Поиск и замену имен по иерархии любых объектов
Планируется добавить:
1. Возможность после создания манипулятора, интерактивно менять масштаб.
2. Возможность работы с атрибутами (добавление, удаление, изменение порядка атрибутов)
3. Еще больше расширить библиотеку манипуляторов (а вот тут жду от вас предложений.)
Выражаю огромную благодарность за помощь в доработке скрипта Валентину Дмитрик ака iNOD. Спасибо дружище. :)


установка:
копируем скрипт в бла-бла-бла\my_docs\maya\scripts\
из архива содержимое папки icon скопировать в папку бла-бла-бла\my_docs\maya\версия мауа\prefs\icons\
после чего в командной строке в командной строке вводим wiz_controllers ();
ну и вещаем его на шелф.


Принимаю ваши пожелания и фитбеки об ошибках. Скрипт уже был испробован в деле.
Уважаемые читатели, прошу выражать ваши мнения на тему скрипта. Это мой первый более или менее законченный скрипт. Поэтому мне важно ваше мнение.

17 комментариев:

  1. Отлично! ООочень хорош!

    ОтветитьУдалить
  2. Круто!!! пока просто покрутил потрогал - все отлично работает. Спасибо

    ОтветитьУдалить
  3. все понятно? или есть какие то сомнения?

    ОтветитьУдалить
  4. Да забей ты на него Скиф , он даже не стоит твоего внимания. Писькодрочь 15-летний какой-нибудь. Очень удобный скрипт, 5 баллов.

    ОтветитьУдалить
    Ответы
    1. да я как бы и так забил.. просто веселят такие вот ананимы (орфография специально.) пукнут из под забора, и довольны что никто не понял кто это :)

      рад что нравится скрипт.

      Удалить
  5. . Конечно, Вы замечательный профессионал.Сам начал недавно заниматься Maya. Скачал Ваш скрипт Wizard_Controllers v1.0, поставил. К сожалению, многое непонятно, т.к.опыта мало. Могу

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

    скрипта Wizard_Controllers v1.0 Я и раньше знал Вас по урокам ,например, по уроку посвящённому ZBrush, скачал Ваш урок про риггинг и скиннинг с неизменным Минотавром.К сожалению, у Ваших

    уроков есть один существенный недостаток-они лишены сопутствующих файлов, что для таких как я новичков-весьма существенная проблема.Если бы этот урок просто и доступно по пунктам объяснял

    процесс моделинга, риггинга и скиннинга, да ещё бы вкупе с данным скриптом и с рабочими файлами-ему бы цены не было.Минотавр,вообще, великолепен в Вашем уроке-скиннинг,топология и

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

    ОтветитьУдалить
  6. Я думаю, что уроков в инете полным полно на эту тему. Сам проверял, есть оочень простые и понятные (даже если вы не очень знаете инглиш) там все прозрачно объяснят и покажут. Переходите из простого урока к более сложным. Дело в том, что , я так думаю, Скиф не очень хочет повторяться (к тому же есть видео где Скиф коротко говорит о топологии, скине и ригу..), и делать уроки, которых уже куча. А делать что то стоящее и новое - это уже время и для ,понимающих основы риггинга, людей. Почитайте ЗАПОВЕДИ и ПРАВИЛА и все у вас получится.

    ОтветитьУдалить
  7. ну чтож.. приоткрою тайну небольшую. если нужны основы рига, именно начальный уровень, то для рендер ру онлайн обучения пишу как раз курс по этому делу. только там будет курс по ригу игровых персонажей. так вот. для начала это самое то. в нем и скрипт будет использоваться. курс думаю начнется перед овым годом. или после него. короче следите за информацией. он не дорогой. примерно 12 000 рублей. ну или 400$. там не будет топлогии (ибо игровой персонаж). ну а если он пройдет на ура, то есть у меня в планах еще 2 курса. продвинутый риг (разные системы переключения, и приемы работы), и очень продвинутый риг (особенности деформации. все что с ними связано. мускулы и тд.). поэтому следите за информацией. про сам курс я тут тоже напишу (в блоге имеется ввиду.) про сопутствующие файлы могу сказать одно. я не сторонник обучать людей так чтоб все делали все одинаково.. но смысл? научить нажимать одни и те же кнопки можно и обезьяну. я же показываю основные направления исследований. чтоб люди просто начинали понимать основы. и придумывать свои способы работы и приемы. поверьте это гораздо лучше и производительнее. основы знать надо. а лучше всего их узнаешь при самообучении, ну и возможностью консультации более знающих. чем я и занимаюсь.

    ОтветитьУдалить
  8. курс запущен. смотрите главную страницу блога

    ОтветитьУдалить
  9. Отличный курс, ждем обещанных продвинутых)

    ОтветитьУдалить
  10. skif, скриптик зачетный. спсб.
    так влом каждый раз новые сплайны манипуляторов рисовать.
    если не против выдеру часть "рисовалки сплайнов" себе.

    ОтветитьУдалить
    Ответы
    1. а зачем выдирать то? используй скрипт :) он вполне функционален.

      Удалить
  11. Крутой скрипт, сам писал похожий, но тут конечно возможностей поболее будет, спасибо!

    ОтветитьУдалить
  12. Скрипт просто супер!!! Очень помог, большое спасибо)))

    ОтветитьУдалить
  13. Александр добрый день.
    Это хороший, полноценный и комплексный скрипт!

    За время его использования, у меня возникло несколько вопросом и предложений :)
    ------------------
    Баг:
    Присвоение кривой, Оверайд цвета, срабатывает только когда шейп не лежит на слое.

    Вопрос:
    Зачем при создании манипулятора из библиотеки, он является припаранченым к группе null?
    Понятно, что при перемещении, не изменяются его параметры (остаются локальными).
    Но настолько ли это всегда необходимо, что бы быть настройкой по умолчанию?

    Мелочи:
    1 достаточно много неиспользуемого места в панели готовых шейпов (пресетов)
    2 Когда раскрываешь панель Миррор и ЛокХайд, окно скрипта расширяется. Но после их закрытия, на уменьшается обратно. Получается, опять же занято лишнее место.
    3 Жаль что у разворачиваемых панелях нет замочка. То есть, нет возможности сделать их автоматически отрытыми при запуске скрипта.
    ------------------------
    Вот те же самые вопросы, но с визуальным сопровождением.
    http://youtu.be/Tr9Ee4Oq2jk

    ОтветитьУдалить
    Ответы
    1. про цвет - это не баг. просто в скрипте цвет меняется не у шейпа а у самого объекта. тоесть трансформ ноды. а она обнуляется когда создается слой.
      по поводу нулл. по идее ВСЕГДА нужно делать группу обнуления, но как вариант, можно сделать просто галочку, нужна ли она. (ок понял потупю..) хотя иногда бывает и 2 групп мало, и 3 и 4 бывает. а вообще все манипуляторы в сетапе должны быть обнулены.
      1. да есть такое. в процессе разработки думал еще добавить пресетов, но забыл убрать. спасибо. в следующей версии отслежу этот момент
      2. тоже подумаю как сделать. просто я в первый раз так плотно скриптовал ЮИ
      3. по замочку - мел врядли поможет. все просто. это прописано в скрипте, если будет замочек, то крипт постоянно должен переписываться. я поищу варианты. может есть что то подобное, но я встречал.
      4 по имени.. хм.. по идее это мауа регулирует. я мог лишь сделать чтоб свиток нейм был свернут как например миррор. тогда не должно быть такого.

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

      Удалить
    2. 1 Оверайд цвет
      решил вопрос добавлением строчки кода pickWalk -d down;, перед присвоением данных массиву string $sl [] = `ls -sl`;
      Получается, теперь цвет меняется не в ноде трансформ, а у шейпа. И можно закидывать объекты на слои. Правда после этой модернизации, нельзя выделить объект, поменять ему цвет сетки, и сразу же назначить манипулятор (так как выделен шейп объекта). Нужно либо перевыделять объект, либо, делая активным вьюпорт, поднимать выделение на уровень вверх (до ноды). Но это ерунда. Так как после выделения объекта в outliner (Нод графе, Хапершейде), для смены цвета, нужно так же сделать активным окно моделирования (я попытался прикрутить проверку if (`getPanel -wf` == "outlinerPanel1"). Но, быстро не вышло, а недостаток не такой уж серьезный, что бы тратить на это много времени).


      2 группа обнуления.
      Да, был неправ, она конечно же нужна! Меня ввел в заблуждение курс по сетапу автомобиля. Дело в том, что все манипуляторы в той сцене, были параллельны мировым осям. Колеса – горизонтальны, подвеска – вертикальны. Делался ФриизТрансформ и все это цеплялось к одному шейпу обнуления. А вот если сетапить, к примеру окно (находящиеся под углом), то без “личной” группы обнуления не обойтись. Только я раньше (“раньше” – очень громко сказано, я только начал вникать) использовал не группу, а локатор.


      3 Лишнее место в панели готовых шейпов (пресетов)
      Взял в коде, да и поджал :)

      4 Замочки на панелях
      Я как-то не подумал о том, что для запоминания состояния замочка (on,off), должен интерактивно переписываться код.
      Сделал себе панель ЛоокЭндХайд, по умолчанию открытой.


      5 Не сворачивание панели, при закрытии вкладок
      А тут, скорее всего, та же ситуация, что и с замочками. Или нужно придумать алгоритм, который будет “опрашивать” панели, открытии ли они. И исходя из ответов, формировать длину окна. Но тогда не ясно, как часто должен происходить этот опрос (после каких действий). И вообще, можно ли такое провернуть с помощью МЕЛа.


      6 Строка имени (активная по умолчанию).
      Я так подумал, что лучше все таки, приловчиться быть с нею аккуратным, а не закрывать в свитке. Так как, манипуляторы называть то надо. А раскрывать дополнительную вкладку для названия после каждого запуска скрипта – возня.

      7 Коль уж код открыт. Немного переделал скрипт:
      http://youtu.be/pvI609O7QJg

      Удалить