Новая версия BatchCameraRender: 1.9.6
in English
13 Mar 2011
Версия: 1.9.6
Дата выхода: 13 Марта 2011
Наконец обновил скрипт BatchCameraRender. Не собирался больше над ним работать, так как пишу вторую версию скрипта, в которой можно будет создавать несколько настроек для одной камеры, но не давали покоя несколько строчек в списке задач, потому решил все таки добить. Получилось вроде нормально. И скорее всего будет еще несколько версий этого скрипта, все таки именно эта версия используется на работе. Скрипт простой и позволяет без огромных усилий заставить работать с ним рендерящих архитекторов.
Полный список новых фич:
Добавил много новых ключевых слов. Вот некоторые, об остальных будет сказано ниже, ближе к контексту:
-
%scenepath% и %scenefolder% - один ключ с двумя именами, на всякий случай, выдает полный путь сцены.
- %projectpath% добавлен как синоним к %projectfolder%, тоже, на всякий случай.
- %elementname% и %elementtype% - тип и имя RenderElement-а, работает только в поле пути рендер пассов и в шаблоне имени рендер-элемента во разделе Options.
- %up% - команда смены каталога на один уровень вверх. Пример: C:\Users\Documents\3dsMax\scenes\%up% выдаст C:\Users\Documents\3dsMax\. Очень удобно для указания путей относительно папки сцены.
Новые поля в настройках Options (ранее System Options) :

Render Try Counter - считает сколько раз нажата кнопка Render. Этот ключ можно вставлять в пути и имена файлов с помощью ключевого слова %trynum%. Удобно считать пробники - можно не переименовывать картинку и при этом не перезаписывать предыдущие попытки. Сбрасывается при открытии или создании новой сцены и команды Reset. Также можно вбить любое значение и считать продолжит с этого значения.
Три Поля User Key и User Value. В этих полях можно определять собственные ключевые слова. Для этого надо указать слово в поле User Key, а вычисляемое значение в поле User Value, причем в поле User Value можно вписывать любое выражение на Maxscript-е, оно вычисляется с помощью команды execute. Например, если нужно использовать имя пользователя в пути рендеринга - указываем ключ, скажем username и значение - sysInfo.username. Теперь вместо ключевого слова %username% во всех редактируемых полях будет вставляться имя пользователя, посылающего сцену на просчет. При ошибке в выражении вместо значения будет вставляться строка "ErrUserVal". Перед тем как использовать выражение в скрипте проверьте, работает ли оно в maxscript listener-е.
Поле для задания шаблона имени сетевого задания, Backburner Job Name и поле для задания шаблона имени рендер-элемента, Render Element Filename. В последнем работает ключевое слово %mainoutput% возвращающая имя основного файла.
Пользовательские ключи и поля BB Job Name и Render Element Name сохраняются в сцене, т.е. при открытии на другой машине значение останется то же. С этими параметрами так же работает технология (!) установки значений по умолчанию, которая была добавлена в предыдущей версии. Для этого после ввода значений надо нажать кнопку Save as default в этом разделе. В INI файл будут добавлены следующие строки (их можно добавить и вручную):
BatchCameraRender_UserKey1=
BatchCameraRender_UserKey2=
BatchCameraRender_UserKey3=
BatchCameraRender_UserVal1=
BatchCameraRender_UserVal2=
BatchCameraRender_UserVal3=
BatchCameraRender_bbJobName=
BatchCameraRender_elementName=
Значение этих строк будет подставляться в поля для всех новых сцен. В случае если значение по умолчанию не указано, и поля BB Job Name и Render Element Name пустые, будут использоваться стандартные значения из предыдущих версий скрипта: для сетевых заданий - "файл сцены + имя камеры + порядковый номер", а для элементов - "название основного файла_тип элемента_имя элемента".
Более мелкие усовершенствования:
- Пути в настройках Vray теперь считаются относительно основного пути рендеринга. Т.е. если задать абсолютный путь, то он и будет использоваться, а если не задавать имя диска или сетевой машины, то карты будут считаться относительно основного пути. Так же работает и пустой путь - карты будут сохраняться прямо в основную папку.
- Перед началом просчета стандартное окно рендеринга закрывается без предупреждения.
- Перед началом просчета включается (если она скрыта) просчитываемая камера. Это позволяет избежать ситуации когда из-за того, что камера скрыта, перестает учитываться параметр camera correction/vertical shift.
- Новые пути не создаются если не включена галочка Save File. Также в этом случае не считаются Render Element-ы. Это сделано для того, чтобы не вылетали окна с ошибками в случае когда элементам назначен несуществующий путь.
Исправления:
-
Автоматически удаляются пробелы в начале и в конце всех путей.
- В предыдущих версиях скрипта, до начала просчета камер, кроме того что сохранялись все параметры просчета еще и создавался render preset на все разделы, а после просчета все это восстанавливалось. Восстановление render preset-а с сохраненным разделом Envrionment приводило к сбросу значений в карте Envrionment Map. Теперь параметры так же сохраняются, но render preset восстанавливается только если он задавался в скрипте. В случае задания render preset-а все еще будет сбрасываться карта окружения. Не очень красивое решение, скорее заплатка, но позволяет избежать ошибок в большинстве (моих) случаев. Так же не восстанавливается в пустую состояние источников света в сцене. В будущем вообще планирую избавиться от этого раздела, использую крайне редко, хотя все начиналось с него.
- В этой версии убрана совместимость с предыдущими (до 1.9.2) версиями скрипта. Раньше скрипт хранил информацию в User Properties камеры, в новых версиях было решено использовать AppData камеры и до этой версии сохранялась совместимость со старой системой хранения данных. Теперь эта совместимость убрана, что теоретически должно ускорить работу скрипта, так как удалено большое количество проверок старых значений.
Качать здесь.