Текущая версия:
1.9.4.1
Дата выхода:
28 Апреля 2010
Это новое описание, которое будет обновлятся по мере выхода новых версий.
Идея
Впервые идея создания этого скрипта пришла мне когда я стал изучать Houdini. В этой программе вся работа построенна на нодах и для рендеринга тоже используется определенные ноды, Output Node. Кроме того, что в ноде содержатся обычные параметры такие как разрешение кадра, тут же можно указать какие источники света и объекты будут просчитаны (или включены во время просчета). Мне показалось это очень удобным. Похожую функциональность можно реализовать в максе с помощь Batch Render-а, указав для каждой задачи свои Scene State-ы и Render Preset-ы.
Но у Batch Render есть недостатки - в нем невозможно изменить свойства для нескольких заданий и невозможно указать непоследовательные кадры для просчета. Тут я и решил написать свой скрипт, заменитель Batch Render.
Принцип работы
При запуске скрипт юююю список все камеры сцены. Каждой камере можно назначить разрешение кадра, номера и последовательности кадров, путь файла для просчета и некоторые другие свойства. Все свойства можно менять для нескольких камер одновременно. Информация записывается в с помощью метода AppData в объект камеры.
Основные возможности
Список параметров которые назначаются камерам.
Разрешение кадра. Разрешение можно выбрать из списка или задать другое с помощье полей Width и Height. Тут же расположены кнопки для быстрого удвоения/уполовинивания разрешения и кнопка для получения/установки разрешения из/в максовское окно Render Setup.
Путь и имя файла. Этот параметр задается двумя полями - путем к файлу и имени файла. Таким образом можно для нескольких камер одновременно поменять только имя файла или путь. В этом же разделе задается путь к Render Element-ам. Путь к элементам может быть абсолютный или относительный. Все параметры для указания путей поддерживают ключевые слова, о которых будет сказано ниже.
Номера кадров. Кроме обычных режимов задания номеров кадров в этом разделе можно указать режим Anim.Range. В этом режиме будет использован весь диапазон анимации камеры.
Параметры Vray. В этом разделе собраны параметры для Vray. Глобальные параметры устанавляваются для всех камер, параметры Ir Map и Lightcache устанавляваются для каждой камеры. Все параметры аналогичны параметрам в стандартном окне Render Setup.
Light Assigmenent. С помощью это раздела можно назначать камере включеные/выключеные источники света. Раздел содержит три списка: светильники из раздела 'Solo Light' будут единственными включеными источниками света, светильники из раздела 'Forced On' будут включены в любом случае, а из 'Forced Off' соответственно выключены.
Все разделы содержат кнопку Clear, с помощью которой можно удалять назначеные свойства.
Дополнительные возможности и юзабельность
Поддержка ключевых слов это самая сильная сторона скрипта. Ключевые слова позволяют вставлять в поля для ввода путей и имен файлов различную информацию о текущей камере. В текущей версии поддерживаются следующие ключевые слова:
- %cameraname%
- %scenestate%
- %renderpreset%
- %resolution%
- %date%
- %scenename%
- %projectfolder%
Пример использования:
из строки D:\Work\%projectname%\%date%\%cameraname%.jpg
получится D:\Work\SomeProject\2010-03-10\interior.jpg
При включенном флажке "Create new paths silently" несуществующие пути будут созданы автоматически.
Назначение на сетевой рендеринг тоже автоматизированно - можно выделить несколько камер на просчет и поставить их на сетевой просчет одним нажатием, без указания имени задания в окне "Submit Network Job Assignement".
Кнопки, расположенные под списком, предназначены для упрощения работы с большим количеством камер.
Все параметры скрипта расположены по соответствующим свиткам. Состояние свитков запоминается в текущей сессии макса. Также сохраняется положение и размер окна скрипта. Глобальные параметры хранятся в INI файле, в папке %LOCALAPPDATA%/3dsmax/.../plugcfg/BatchCameraRender
Ограничения и предостережения
Не все параметры скрипта проходят строгую проверку. Например если в Vray задать файл для сохранения Ir карты, но при этом GI в Vray не включен, карта, естественно, не сохранится. Но возможность установить ее всегда есть. Так же не проверяется доступность карт для загрузки. В общем, будьте внимательны к параметрам.
Я и еще несколько человек в нашей компании использует этот скрипт каждый день. Я все время стараюсь сделать его более стабильным, надежным, но баги все равно время от времени появляются, так что, будьте внимательны при использовании скрипта в производстве и используйте его на свой риск.
Благодарность
Хочу выразить благодарность всем пользователям этого скрипта, всем кто помогает советами и выловлеными багами. Спасибо!




This script is just awesome! Any chance to have a dotnet version, for the x64 users? Or.. If you stick to activex... do you mind if we try to recreate your script in dotnet environment? Keep up the good work!
Andras