В последнее время я всё чаще сталкиваюсь с тем, что приходиться оставлять на ночь рендер не только нескольких камер (с чем успешно справляется Batch Render, работа которого недавно была описана в блогах), но и нескольких сцен.
С учётом того, что не каждый располагает возможностью сидеть и наблюдать пока рендерится первая сцена и уже после этого ставить вторую, я решил найти подходящий для себя вариант решения этой ситуации, которым я сейчас и поделюсь.
Сразу оговорюсь, опыты я проводил на 3ds Max 2020 в связке с Corona 4. Копаясь в доках Автодеска, я не нашел каких либо упоминаний об изменении этих команд, так что работать должно во всех актуальных версиях.
В качестве демонстрации я подготовил две сцены с двумя подопытными чайниками.
Для начала нужно подготовить сцену. Для этого нам нужно указать путь для сохранения рендера в настройках, или же настроить нужным нам образом уже известный ранее Batch Render.
Второе по списку, что нам нужно сделать, это ограничить рендер с помощью лимита. Выставляем любой нужный параметр, или же их комбинацию, рендер продолжится до тех пор, пока не достигнет одного из заданных параметров.
Итак, наши сцены готовы, что же дальше? Визуализация в командной строке происходит благодаря программе «3dsmaxcmd.exe», которая находится в корневой папке вашей программы. Насколько мне известно, её местоположение не менялось с 2010 года. Если Вы установили свой 3ds Max в дефолтную директорию, то путь к этому файлу будет выглядеть так:
C:\Program Files\Autodesk\3ds Max 2020\3dsmaxcmd.exe
Далее мы создаём простой текстовый файл в любой директории вашего компьютера и пишем в него строку:
"C:\Program Files\Autodesk\3ds Max 2020\3dsmaxcmd.exe" "D:\teapot_001\scenes\teapot_001.max"
Первая взятая в кавычки строка, ведёт нас к тому самому «3dsmaxcmd.exe», а вторая указывает путь к сцене. Кавычки нужны в том случае, если в пути к файлу есть пробелы, лично я их оставляю всегда, насколько я знаю, исполнению скрипта это не мешает, так, для верности. Вот что у нас должно получиться:
Далее сохраняем наш текстовый документ в .bat формате.
Файл > Сохранить как... > Тип файла: Все файлы
В имени файла в конце дописываем .bat
Запустив этот файл, у нас откроется сразу три окна, это прогресс бар нашего рендера, фреймбуфер и командная строка с информацией о рендере.
Важный момент, чтобы во время сохранения используемой сцены, было активно окно с камерой для рендера, иначе Вы рискуете получить красивый вид из перспективы, или сверху. Тут уже в зависимости от того, какое окно было активным на момент сохранения. Избежать этого можно двумя способами. Первый это выбрать окно для рендера в настройках, нажав на замок.
Или же дописав в нашем .bat файле ключ «-cam: cam_002». Выглядеть это будет вот так:
И тут мы подходим к самой интересной части этого урока. Благодаря ключам Вы можете выбирать какие кадры рендерить, в каком разрешении, куда их сохранять, запускать Batch Render и даже выбирать качество сохраняемого .jpg файла. Узнать все возможные ключи Вы можете просто запустив «3dsmaxcmd.exe» через командную строку, или же убрав путь к сцене из ранее созданного .bat файла, оставив только строку пути к «3dsmaxcmd.exe» и дописав на следующей строчке «Pause» без кавычек. Весь список достаточно большой и разбирать каждый ключ я смысла не вижу, просто советую пробежаться глазами по списку и понять какие именно Вам могут пригодиться. А я пока ограничусь парой примеров. Написав такую конструкцию, как на примере ниже, мы запустим сцену с первым чайником и начем рендер из камеры «cam_002» с помощью ключа «-cam:cam_002», в разрешении 1000х1000. А сохранится этот рендер в формате .jpg с наилучшим качеством в папке «D:\teapot_002\». Вторым на очереди, как ни странно, будет второй чайник в разрешении 800х800 в формате .bmp:
Таким образом, мы можем задавать определённые параметры для разных кадров и сцен. Мы можем еще улучшить эту конструкцию, записав путь к сцене и ключи в отдельный файл. Здесь мы уже обойдёмся простым .txt файлом. Вот как это будет выглядеть:
Ну а благодаря тому, что это всё же .bat файл, мы можем еще больше его кастомизировать и, к примеру, заархивировать полученные файлы, имитировать нажатия клавиш, выключить компьютер, запустить звук колокольчика после рендера, загрузить отрендеренные файлы на ftp. Вариантов использования .bat файлов невероятное количество, и каждый сможет найти для себя что-то полезное. Но, к сожалению, это не относится к тематике сайта, и всё это легко ищется в интернете. Я всего лишь приведу пример воспроизведения звука по окончанию рендера и отключения ПК через две минуты после этого, думаю, многим это будет полезно.
Надеюсь этот небольшой урок был полезен, ну а я пожелаю всем вам сладких снов по ночам, вкусных рендеров и довольных заказчиков.