Ускоряя Maya, послесловие. Скрипты для ускорения работы в Maya.
- Автор темы Дмитрий damat Астапкович
- Дата создания
- Рейтинг
- 126
Круть, Надо будет попробывать.. что то меня движки попёрли, особенно после мармосета
damat, я читал у у тебя на сайте ( там где написано про аутсорс, просто название непомню) что в нивал нетворк проводят ежедневно конкурсы от скетча к готовой модели.. но на сайте не нашёл.. Можешь кинуть ссылку, интересно посмотреть на батл и поучиться просто
damat, я читал у у тебя на сайте ( там где написано про аутсорс, просто название непомню) что в нивал нетворк проводят ежедневно конкурсы от скетча к готовой модели.. но на сайте не нашёл.. Можешь кинуть ссылку, интересно посмотреть на батл и поучиться просто
- Рейтинг
- 51
Frame_First, это завуалированная шутка:
Мы каждый день работаем с аутсорсерами, которые делают нам ассеты. Это и есть конкурс с денежным вознаграждением в виде оплаты сделанной работы. Участие в таком конкурсе для аутсорсеров, с моей точки зрения, гораздо более полезно, чем создание игры своей мечты по вечерам ради идеи.
А про конкурсы могу сказать следующее: Nival Network каждый день проводит конурс под названием: «От скетча до финального ассета в игре». Для участия необходимо справиться с тестовым заданием. Финалисты каждого этапа получают денежное вознаграждение и переходят в следующий тур.
- Рейтинг
- 20
Всем привет, а Дмитрию отдельное приветище. Есть некий вопрос, который надеюсь задам в правильном месте. В Maya 2011 появился удивительной полезности инструмент - Camera Sequencer. Действительно удобно собирать шоты воедино, с предпросмотром и даже рендером из вьюпорта. Но к сожалению по какой-то причине не было предусмотрено батч рендера по имеющейся информации из секвенсера. ПО моему мнению - глупый недочет. И как только автодески это допустили? Есть конечно другой вариант - я не нашел где та фишка втыкается, чтобы рендерило из камер, настроенных в секвенсере. В общем я полез в гуглу в поисках ответов и на сайте автодеска обнаружил подобные разговоры:
http://area.autodesk.com/forum/auto.../batchrender-a-camera-sequencer---sequence/
Оттуда меня направили на скрипт, который как бы решает проблему
http://forums.cgsociety.org/showthread.php?f=7&t=920578
Я не шибко много написал скриптов на MEL (такой бы я не сделал наверное), но для такой задачи по-моему он слабоват. И возникает основной вопрос. Есть ли желающие устранить данный недочет (с намёком на Дмитрия ) в Maya, даже если в следующей версии выйдет инструмент, делающий аналогичную работу, хотя меня это сильно сомневает (и в наличии и, как минимум, в юзабельности).
Я не прошу "О, создайте мне мегаскрипт", просто предлагаю или ищу людей которые уже этим занимаются или может даже сделали.
PS
В моем представлении этот скрипт будет называться что-то вроде Butchrender sequencer и его функции будут выходить за рамки работы с Camera Sequencer. В общем его задача - делать очередь батчрендера из определенных камер и определенные кадры, включая функцию авто заполнения из Camera Sequencer. Теоретически не придется отдельно прописывать что слои и пассы надо так же рендерить. Самое удобное будет автоматическое растягивание времени, что удобно делается в самом Camera Sequencer одним кликом. Не знаю хорошо архитектуру майи, не могу сказать как быть с путями сохранения файлов и сменой других параметров (что-то вроде override). В разных слоях это понятно, а что делать если надо например поменять рендер с ментала на софтвар в разных кадрах одного и того же слоя. Хотя, может я гоню и это лишнее.
В общем, думаю инструмент полезный, и если не найдутся желающие его сделать, то буду надеяться на его появление в следующих версиях Maya. Если, конечно, еще не имеется такой.
http://area.autodesk.com/forum/auto.../batchrender-a-camera-sequencer---sequence/
Оттуда меня направили на скрипт, который как бы решает проблему
http://forums.cgsociety.org/showthread.php?f=7&t=920578
Я не шибко много написал скриптов на MEL (такой бы я не сделал наверное), но для такой задачи по-моему он слабоват. И возникает основной вопрос. Есть ли желающие устранить данный недочет (с намёком на Дмитрия ) в Maya, даже если в следующей версии выйдет инструмент, делающий аналогичную работу, хотя меня это сильно сомневает (и в наличии и, как минимум, в юзабельности).
Я не прошу "О, создайте мне мегаскрипт", просто предлагаю или ищу людей которые уже этим занимаются или может даже сделали.
PS
В моем представлении этот скрипт будет называться что-то вроде Butchrender sequencer и его функции будут выходить за рамки работы с Camera Sequencer. В общем его задача - делать очередь батчрендера из определенных камер и определенные кадры, включая функцию авто заполнения из Camera Sequencer. Теоретически не придется отдельно прописывать что слои и пассы надо так же рендерить. Самое удобное будет автоматическое растягивание времени, что удобно делается в самом Camera Sequencer одним кликом. Не знаю хорошо архитектуру майи, не могу сказать как быть с путями сохранения файлов и сменой других параметров (что-то вроде override). В разных слоях это понятно, а что делать если надо например поменять рендер с ментала на софтвар в разных кадрах одного и того же слоя. Хотя, может я гоню и это лишнее.
В общем, думаю инструмент полезный, и если не найдутся желающие его сделать, то буду надеяться на его появление в следующих версиях Maya. Если, конечно, еще не имеется такой.
- Рейтинг
- 14
Раз уж топик подняли, у меня есть 2 багрепорта по xumi:
- Если для одного из пунктов меню в поле команды поместить небольшой скрипт (более, чем в 1 строчку) - при сохранении слетает вся менюшка.
Если быть более точным - в тексте команды у всех пунктов этой менюшки в каждой строке удаляется по 2 последних символа (даже если команда была в одну строку). - Посмотрел сами файлы менюшек. Если меню - родительское (у него есть подменю), то почему-то в его файле после описания пункта, связывающего с дочерним меню, идут описания всех пунктов этого (дочернего) меню. Зачем оно дублируется тут? Тем более, что при изменении дочернего меню его код в родительском не обновляется. Соответственно, он даже не используется.
- Рейтинг
- 51
Всем привет!
Paul_Winex, давай по порядку:
1. чем конкретно не устраивает скрипт, который лежит по ссылке?
2. как ты представляешь себе работу идеального скрипта? Самая простая идея: отправить на рендер вообще все камеры, но в каждом кадре проверять, какую конкретно сейчас надо рендерить. Потом собирать весь аутпут из разных папок в одну правильную. Это идея с ходу, скорее всего, можно сделать все проще и правильнее.
DRL, можно писать мне в личку или на почту (есть на сайте).
1. про слетание: да, знаю =) пробовал бороть, но это уже косяки майского интерфейса, там сложно получить все без багов. Проще писать в xumi не скрипты, а вызовы своих процедур
2. это косяк изначальной архитектуры, править его совсем уже не хочется. На функционал никакого влияния не оказывает.
Paul_Winex, давай по порядку:
1. чем конкретно не устраивает скрипт, который лежит по ссылке?
2. как ты представляешь себе работу идеального скрипта? Самая простая идея: отправить на рендер вообще все камеры, но в каждом кадре проверять, какую конкретно сейчас надо рендерить. Потом собирать весь аутпут из разных папок в одну правильную. Это идея с ходу, скорее всего, можно сделать все проще и правильнее.
DRL, можно писать мне в личку или на почту (есть на сайте).
1. про слетание: да, знаю =) пробовал бороть, но это уже косяки майского интерфейса, там сложно получить все без багов. Проще писать в xumi не скрипты, а вызовы своих процедур
2. это косяк изначальной архитектуры, править его совсем уже не хочется. На функционал никакого влияния не оказывает.
- Рейтинг
- 14
Жаль.
Итого получается 3 сильно неприятных бага:
Первый - #1 из моего пред. поста.
Второй я писал ранее: после нажатия и отпускания кнопки мыши надо отпустить и снова нажать клавишу активации.
Третий - тоже писал ранее: xumi не работает нигде кроме вьюпортов.
XUMI, имхо, всё равно удобнее, чем стандартные маркинг-меню. Но всё же...
Итого получается 3 сильно неприятных бага:
Первый - #1 из моего пред. поста.
Второй я писал ранее: после нажатия и отпускания кнопки мыши надо отпустить и снова нажать клавишу активации.
Третий - тоже писал ранее: xumi не работает нигде кроме вьюпортов.
XUMI, имхо, всё равно удобнее, чем стандартные маркинг-меню. Но всё же...
- Рейтинг
- 20
2 Дмитрий damat Астапкович
Прежде всего он мне не понравился отсутствием интерфейса. Во-вторых, в описании куча какихто ограничений и предупреждений. В общем я думаю что такой скрипт подошел бы для разового использования в конкретной задаче.
Я вижу скрипт в виде интерфейса, который понятен и художнику. У Вас ведь такие здорово получаются
Думаю Вам видней сама архитектура скрипта и скорее всего мои предложения будут крайне ламерскими. Я представляю само окошко, кнопки, которые представляю что делают, и внутренние какие-то процессы, которые идут скрытно но поддерживают логику данного скрипта и обеспечивают удобство без надобности дополнительных движений.
Если точней, это некий список задач. Каждый содержит например камеру, обозначеные для неё кадры, на таймлайне и кадры вывода (растяжение времени, что встроено в секвенсер). Так же папка вывода изображений, аналогично той что в Common \ File name prefix. В общем параметр Override. И всё это позволяет вручную забить все параметры, но делать этого никто не будет, так как есть волшебная кнопка заполнения строк из секвенсера, по строке на шот. И потом уже при надобности дописывать параметры, такие как папка вывода или что будет еще предусмотрено, а сюда уже можно разное воткнуть (тоглер FG\GI, рарешка, формат...)
Вот примерный вид того что я представляю.
Насчет работы. Если как-то получится считать текущий кадр прямо из секвенсера, то думаю дальше то и не сложно отправить его на рендер. Ведь секверсер сам расчитывает какой кадр у него на таймлайне и какой кадр или субкадр надо взять с таймлайна майи. Это и отправлять. После надо взять этот кадр, камеру шота, рендернуть и все пассы закинуть в нужные места с нужными именами. По окончании пройтись по следующему рендер слою. Кстати тоглер рендер слоёв для каждого шота тоже можно сделать, но кажется это не нужно. Если уж рендерим без какого-то слоя то все шоты.
Прежде всего он мне не понравился отсутствием интерфейса. Во-вторых, в описании куча какихто ограничений и предупреждений. В общем я думаю что такой скрипт подошел бы для разового использования в конкретной задаче.
Я вижу скрипт в виде интерфейса, который понятен и художнику. У Вас ведь такие здорово получаются
Думаю Вам видней сама архитектура скрипта и скорее всего мои предложения будут крайне ламерскими. Я представляю само окошко, кнопки, которые представляю что делают, и внутренние какие-то процессы, которые идут скрытно но поддерживают логику данного скрипта и обеспечивают удобство без надобности дополнительных движений.
Если точней, это некий список задач. Каждый содержит например камеру, обозначеные для неё кадры, на таймлайне и кадры вывода (растяжение времени, что встроено в секвенсер). Так же папка вывода изображений, аналогично той что в Common \ File name prefix. В общем параметр Override. И всё это позволяет вручную забить все параметры, но делать этого никто не будет, так как есть волшебная кнопка заполнения строк из секвенсера, по строке на шот. И потом уже при надобности дописывать параметры, такие как папка вывода или что будет еще предусмотрено, а сюда уже можно разное воткнуть (тоглер FG\GI, рарешка, формат...)
Вот примерный вид того что я представляю.
Насчет работы. Если как-то получится считать текущий кадр прямо из секвенсера, то думаю дальше то и не сложно отправить его на рендер. Ведь секверсер сам расчитывает какой кадр у него на таймлайне и какой кадр или субкадр надо взять с таймлайна майи. Это и отправлять. После надо взять этот кадр, камеру шота, рендернуть и все пассы закинуть в нужные места с нужными именами. По окончании пройтись по следующему рендер слою. Кстати тоглер рендер слоёв для каждого шота тоже можно сделать, но кажется это не нужно. Если уж рендерим без какого-то слоя то все шоты.
- Рейтинг
- 51
Не готов взяться писать полноценный скрипт, однако вот что удалось обнаружить:
Этот код выставляет в секвенсоре время из таймлайна и возвращает текущую камеру из него. Соответсвенно, можно понять, какую камеру сейчас надо рендерить. Можно вставить его как скрипт на каждый кадр.
Код:
$time = `currentTime -q`;
sequenceManager -currentTime $time;
$shot = `sequenceManager -q -currentShot`;
$camera = `shot -q -currentCamera $shot`;
- Рейтинг
- 51
Подсказка:
1. надо научиться запускать скрипт на каждом кадре рендера
2. надо придумать, как рендерить из заданной камеры. Например, можно сделать дефолтную камеру и ставить ее в каждом кадре на место той, которая сейчас активна в секвенсоре, копируя при этом остальные настройки. Есть и другие способы, но этот - самый наглядный и понятный, можно полностью сделать все руками, а потом посмотреть, что было написано в Script Editor
Хочу сказать, что я готов помочь с написанием скриптов или решением майских проблем, но я точно не буду писать скрипты на заказ, особенно если они не нужны мне по работе.
1. надо научиться запускать скрипт на каждом кадре рендера
2. надо придумать, как рендерить из заданной камеры. Например, можно сделать дефолтную камеру и ставить ее в каждом кадре на место той, которая сейчас активна в секвенсоре, копируя при этом остальные настройки. Есть и другие способы, но этот - самый наглядный и понятный, можно полностью сделать все руками, а потом посмотреть, что было написано в Script Editor
Хочу сказать, что я готов помочь с написанием скриптов или решением майских проблем, но я точно не буду писать скрипты на заказ, особенно если они не нужны мне по работе.
- Рейтинг
- 20
Хочу сказать, что я готов помочь с написанием скриптов или решением майских проблем, но я точно не буду писать скрипты на заказ, особенно если они не нужны мне по работе.
Спасибо за подсказки.
- Рейтинг
- 51
Тогда немного офтоп: я очень часто слышу вопрос "С чего начать учить MEL/Python/Max Script...?". Ответ всегда один и тот же: найдите задачу, которую можно и нужно реально эффективно решить скриптом, и напишите этот скрипт. По опыту могу сказать, что на форумах намного быстрее и охотнее отвечают на вопросы "Делаю так и так, не работает, что неверно?", чем на запросы новых скриптов.
PS Paul_Winex, безусловно, мне льстит обрашение на вы, да еще и с Большой буквы, но конкретно тут и конкретно в этой ситуации точно можно перейти на ты.
PS Paul_Winex, безусловно, мне льстит обрашение на вы, да еще и с Большой буквы, но конкретно тут и конкретно в этой ситуации точно можно перейти на ты.
- Рейтинг
- 20
найдите задачу, которую можно и нужно реально эффективно решить скриптом
но конкретно тут и конкретно в этой ситуации точно можно перейти на ты.
И чтоб совсем не выбивался пост, добавлю, что хочу сделать скрипт нормальный и юзабельный не только тем, кто знает как зовутся его процедуры и какие им надо отправить аргументы, а любому, кто захочет его использовать. Для этого нужен как минимум интерфейс и как максимум автоматизация каких-то процессов и проверка на ошибки. Чего пока невразумлю самостоятельно. Вот и отложу решение на будущее, раз нет достаточно заинтересованных (включая свободное время) и знающих инструментарий людей.
- Рейтинг
- 14
Вот и отложу решение на будущее, раз нет достаточно заинтересованных (включая свободное время) и знающих инструментарий людей.
Я тоже раньше считал, что скрипты писать в Майке - это ну совсем не моё. И оставалось надеяться лишь на то, что помогут "старшие собратья" - скриптёры. А когда найти нужный скрипт и/или уговорить кого-нибудь его написать не удавалось - приходилось извращаться со стандартными средствами Майки. Но однажды вконец приспичило ("DRL Input Box", смотри раньше в этой ветке)...
... и выяснилось, что изучить с ноля МЕЛ вполне реально по встроенной справке за 1 вечер... Ну и ещё один вечер - закрепить. В итоге: теперь самодельные скрипты использую постоянно. Периодически довожу их до товарного вида и делюсь с общественностью. Но главное:
- Это ЛЮТО ускоряет работу. А некоторые задачи без самописных скриптов просто нереализуемы.
- Да, порой бывает нужна помощь "старших по званию". Но в целом ты ни от кого не зависишь. Во всяком случае, не так кардинально, как раньше.
Оказалось, как и во многих других случаях, освоить МЕЛ людям мешает дурацкая грузинская фамилия - "Смогулия?".