Render.ru

Sequencer Batch Render. Тестирование.

Paul_Winex

Знаток
Рейтинг
20
#1
Доброго времени суток.
Выкладываю первую пилотную версию своего скрипта. Требуются своеты по модернизации кода, оформлению интерфейса, возможностям функционала и тп.
1. Что за скрипт?
Помню как смотрел презентацию Maya 2011 о новой функции - Camera Sequencer http://www.youtube.com/watch?v=NCMn3MlFYzk. Меня заинтересовала эта фишка и я сразу понял что буду использовать её довольно часто. Но в процессе использования обнаружил досадное недоразумение - нет волшебной кнопочки, которая бы мне рендерила всё собранное чудо в финельные картинки. Я подумал что, возможно, это первая попытка сделать такой удобный инструмент и как минимум в следующей версии автодески добавят функцию рендера из секвенсора. Но, к сожалению, в версии 2012 (которая выйдет на днях) они сделали функцию сбора всех камер в одну. На мой взгляд это не удобно по нескольким причинам. Теряется смысл монтажного стола, ведь монтаж теперь можно сказать только линейный. Перескоки камеры заставят подзадуматься над векторным пассом. Возможность растягивать некоторые шоты по времени пропадает. Это всё предположение, так как версию 2012 я ещё не видел, но самое главное что заветной кнопочки так и не обнаружилось. В итоге я решил сделать скриптик который это дело исправит. Это мой первый скрипт, потому прошу судить соответственно :)

2. Как скрипт работает?
В кратце можно описать его работу так:

- Выставляет поочередно кадры в секвенсоре
- Из активной в шоте камеры делает обычный превьюшный рендер
- Из папки tmp, куда они автоматически сохранились, перемещает в указаную пользователем папку, переименовывая в соответствии с текущим кадром из секвенсора.

В результате мы имеем все необходимые кадры в виде секвенции.

3. Что уже сделано?
На данный момент реализован основной функционал, то есть:
- рендер > переименование > перемещение.
- указание папки вывода
- отмена по Esc

4. Планируется добавить следующие возможности:
- отправка рендера в стандартный BatchRender. С этим пока что проблема, так как скрипт работает покадрово и отправляя следующий кадр на рендер майя предлагает предыдущий отменить. Необходимо придумать чтото, чтобы следующий кадр дожидался завершения текущего рендера в батче. Насчет этого очень жду советов!!!
- генерирование файла для запуска рендера из коммандной строки. Вообще-то может не потребоваться если разобраться с батчем.
- выбор начального и конечного кадров рендера (в интерфейсе есть но не работает)
- выбор активности\неактивности шотов в разных слоях. Такого параметра в самом шоте нет, потому layerOverride не прокатит. Активация и деактивация делается не через setAttr в через команду shot с нужными флагами. Потому непосредственно в сцене этого не настроить, нужно както в скрипте. Хотя конечно надо дождаться версии 2012 и посмотреть что там придумали.
- по началу я расчитывал запускать рендер на батч, потому в каждом кадре выставлял параметр renderable только нужной камере, так оно и осталось, хоть и не обязательно в связи с изменением типа рендера. Но это наталкивает на мысль запоминать и восстанавливать обратно параметры, изменяемые скриптом. Пока этого нет. Изменяются: параметры renderable у камер, некоторые параметры в RenderSettings если они были дефолтные.
- щас по умолчанию отрендеренным файлам дается имя шота + кадр из секвенсора (например Shot_01_015.tif). Хорошо бы сделать префикс более кастомным но пока нет предположений как именно, так как я вижу два варианта: 1 - добавлять имя шота. Тогда в композе каждый шот будет определяться отдельной секвенцией. 2 - давать общее имя. Тогда все шоты будут как одна секвенция. В остальном по дефолту всё удобно разкидывается по папкам с именами слоёв и думаю можно так и оставить.
- также планируется добавить немного более подробную информацию в консоль. Советуйте что может быть полезным. Например время рендера и тп.
- нет проверки правильности введеной информации о папке вывода. не пишите недопустимые символы.

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

SequenserBatchRender v0.1b
http://www.paulwinex.ru/archive/files/sbr.html

PS Сам скрипт пока не шибко разборчиво написан так как не завершен. Тоже самое можно сказать о интерфейсе и остальном.

Обновление сообщения автором
28.03.2011 в 13:06
Так же после всех доработок будут упомянуты все, кто помогал мне в написании скрипта и поиске идей.

Обновление сообщения автором
29.03.2011 в 12:36
На всякий случай дополняю. Скрипт тестить можно пока что в Maya 2011\2011.5 SPA. Так как раньше секвенсора небыло.
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
584
#2
блин не силен в скриптинге...
а этот скрипт потом будет free?
 

Paul_Winex

Знаток
Рейтинг
20
#3
блин не силен в скриптинге...
(я тоже :))
Да, моя оплошность. Надо было сказать что это в основном для просто пользователей. Требуется сделать сцену с секвенсором в каких-то ращличных условиях и ваниантах и опробовать стабильность скрипта. Не обязательно чтото скриптить. Так же можно сказать типа "А хорошо бы если бы скрипт умел делать......" или "добавь функцию для ....., будет полезно или необходимо".
а этот скрипт потом будет free?
Конечно. Жаль чтото народ не активен в данном случае. Может я глубоковато залез? Тут бывают простые пользователи? Может стоит перенести ветку куданить в районе "Ускоряя Maya"? Это я тебя, Skif как админа спрашиваю.
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
584
#4
хм.. бывают тут простые пользователи...
думаю что туда тоже можно ссылку дать... типа вот помогите и тд.. а вообще попробую подтянуть людей к теме..
 

Paul_Winex

Знаток
Рейтинг
20
#5
Там написал. То есть в теме Ускоряя Maya. Спасбо если поможешь. Надеюсь завершить сразу после тестов в 2012й, если не будет косяков новых.
 

Paul_Winex

Знаток
Рейтинг
20
#7
Да, вы правы. чтото странное случилось с сайтом. Кажется админка полетела :( Тогда первую версию пока что сюда залью. Нужно будет переименовать в mel
 

О С (VirtualV)

Активный участник
Рейтинг
5
#8
Попервых где у тебя есть синтаксическая ошибка поэтому скрипт незапускается ненпорядок...
что качается самой организации скрипта, то тут тоже бордак, есть некоторые правила для организации скрипта.
Вопервых желаетльно должна быть 1 глобальная функция которая зупускает весь скрипт и её имя совподает с именем файла скрипта (тогда с крипт можно будет запустить по имени), как правило эта функция просто вызывает функцию построения окна.
Потом у тебя функция постороения окна лежит просто в скрипте как текст а не функция это не правильно и просто неудобно
Все функции не имеет смысла делать глобальными если они не используются гдето помимо скрипта, ну разве чт их можно вызвать из вне по отдельности если это имеет смысл.

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

Paul_Winex

Знаток
Рейтинг
20
#9
есть синтаксическая ошибка поэтому скрипт незапускается
Напиши конкретно что за ошибка? Я писал на Maya 2011 x64. Только что копипастил текст из того что залито и всё запустилось. Отпиши что говорит майя.
что качается самой организации скрипта, то тут тоже бордак, есть некоторые правила для организации скрипта.
Да, сам функционал скрипта состоял из 11 строк потому я не разбирался в организациях скрипта поначалу. Под конец уже стало ясно что всё не так, но с исправлениями пока повременю. Надо сначала выяснить что именно требуется сделать. В общем первый опыт обычно так и просиходит. Теперь я примерно знаю как надо было делать. В частности - правильное использование функций и передача им переменных.
 

О С (VirtualV)

Активный участник
Рейтинг
5
#11
С сайта норм работает, видимо были проблемы с кодировкой.
исправления не стоит откладывать на потом, ибо дальше будет гораздо сложнее структурировать программу, сейчас в твоём коде очень непросто разобраться.
 

Paul_Winex

Знаток
Рейтинг
20
#12
Проблемы были с базой данный, я восстановил уже. Исправление будет следующим шагом когда кто-нибудь скажет чтонибудь и я продолжу работу со скриптом. Хоть один чеговек потестил скрипт? Хоть кто-нибудь скажет совет как быть с батчем?
 
#13
Я что-то так и не понял, что делает этот Camera Sequencer? объясните в двух словах, он собирает композицию с разных камер, я правильно понял?
Скажите, а есть скрипт, который рендерит с выбранной камеры превью рендеры покадрово (не батч рендер), переименовывает их потом и складывает куданибудь?
 

Paul_Winex

Знаток
Рейтинг
20
#14
Возможно ты не использовал секвенсор майский? Возможно мне стоит сделать видеоурок :) Открой окошко window\animation editors\camera sequencer (Maya 2011) и попробуй попользовать.
http://www.render.ru/out.php?http://www.youtube.com/watch?v=NCMn3MlFYzk здесь его принцип работы.
Он пхож на монтажные програмым типа Premiere или SonyVegas, только вместо видео здесь вид из камеры. Можно делать сколь угодно шотов и собирать из них финальные превизы или даже просто финал. Один шот это определенные кадры из определенной камеры. Потом попробуй сделать вывод из секвенсора на рендер. Вот тут и поможет этот скрипт, так как штатных средств нету, только ролибласт.
Что такое превью рендеры? Рендерить выбранные кадры из выбранной камеры и даже не одной может какраз мой скрипт, нужно лишь загнать эти выбранные камеры в секвенсор.
 

Paul_Winex

Знаток
Рейтинг
20
#16
Тогда какраз скрипт это и делает, но из секвенсора. Для тех кто рендерит прямо из таймлайна тогда надо добавить такую возможность.
 
#17
Да мне нужно добавить такую возможность)) и позволяет ли этот скрипт рендерить 32-битные изображения?
Насколько сложно такое сделать?
 
#18
Вообще есть ли такой скрип который бы делал очень простую вещь. Рендерил последовательность кадров с выбранной камеры через render view и сохранял ее?
Я нашел такой, называется ikas_renderViewBr, но он не работает с 32 битными форматами.
 

Paul_Winex

Знаток
Рейтинг
20
#20
всё есть, любая команда. глубина цвета не от скрипта зависит. команда рендера:

renderWindowRenderCamera render renderView persp;

соответственно задаешь нужную камеры.

Еще раз говорю, мой скрипт может рендерить последовательность кадров через рендервью и сохранять! Только он сейчас настроен на секвенсор. Прееделать не долго но пока не требуется. Это отдельный скрипт надо, а у меня основой является то что это рендер из секвенсора!
 
Сверху