Render.ru

Select and Link. Автоматизация.

flibustier912

Пользователь сайта
Рейтинг
4
#1
Здравствуйте! Задача следующая: автоматизировать рендер предметов. Предметы разные, но располагаются в одних и тех же местах, поэтому было придумано следующее: создать "пустышку", сделать для нее сценарий (чтобы по кадрам потом осуществить рендер),затем к этой пустышке с помощью Select and Link привязать предмет.
Проблема в следующем, автоматизация выполняется путем банальных кликов по кнопкам, но для того, чтобы связать предмет с пустышкой их нужно выделять курсором. Можно ли сделать это по другому? к примеру связать их, зная только имена этих объектов, или может есть другое решение...
Заранее, Спасибо!
 

igorznag

Мастер
Рейтинг
103
#2
Задача следующая: автоматизировать рендер предметов... может есть другое решение...
Пример. В новой сцене создаем 3 чайника-Teapot и выделяем их.
Запускаем скрипт. Делаем визуализацию с кадра 1 до кадра 3.
Код:
for i=1 to selection.count do (obj=selection[i]
if getVisController obj ==undefined do obj.visibility = bezier_float() 
vis=obj.visibility.controller; deleteKeys vis;
addnewkey vis (i-1);addnewkey vis i;addnewkey vis (i+1)
vis.keys[1].value=0;vis.keys[2].value=1;vis.keys[3].value=0)
Чтобы запустить скрипт нужно:
1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
2. Сохраняем текстовый файл с названием "test.ms"
3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
 

flibustier912

Пользователь сайта
Рейтинг
4
#3
Проблема в том, что предметов будет очень и очень много, и делать визуализацию каждого предмета по кадрам нельзя, потому что придется тогда для того нанимать человека и платить ему зарплату))) Поэтому было решено сделать "пустышку" (некий прозрачный объект), для которого визуализированы 11 кадров, к этой пустышке нужно привязать предмет, но к сожалению привязка осуществляется выделением предметов мышью, что автоматизировать невозможно.
 

igorznag

Мастер
Рейтинг
103
#6
Проблема в том, что предметов будет очень и очень много
Вы выполнили мой пример? В чем конкретно состоит проблема визуализировать много предметов?
Поэтому было решено сделать "пустышку" (некий прозрачный объект), для которого визуализированы 11 кадров
Почему именно 11 кадров, а не 12 кадров? В сцене есть анимация?
Проблема решена, через "select by name" можно выделить предметы
Вы называете это решением проблемы автоматизации рендера предметов?
Хотя, если вы не знали раньше про "select by name", тогда это действительно автоматизация.
 

flibustier912

Пользователь сайта
Рейтинг
4
#7
Вы выполнили мой пример? В чем конкретно состоит проблема визуализировать много предметов?

Почему именно 11 кадров, а не 12 кадров? В сцене есть анимация?

Вы называете это решением проблемы автоматизации рендера предметов?
Хотя, если вы не знали раньше про "select by name", тогда это действительно автоматизация.

Возможно я не правильно объяснил, что мне нужно, и да с 3Dmaxом я знаком 3-ий день, мне нужно было автоматизировать связку предметов, для автоматизация использую autoit, манипуляции мышью в нем выполнять не очень удобно, проще просто нажимать по кнопкам.

Суть в следующем, с помощью автоита загружаю сцену, затем на нее загружаю предмет, предмет двигается по определенному сценарию, т.е. есть 11 кадров, в каждом из которых предмет(любой) занимает определенное место на сцене (места на сцене для всех предметов постоянны). Поэтому, чтобы не делать кадры с каждым предметом, его просто привязываем к "пустыщке" и запускаем рендер, таких сцен штук 16 + очень много предметов, поэтому весь этот процесс и приходится автоматизировать.
 

igorznag

Мастер
Рейтинг
103
#8
Теперь стало понятнее.
с помощью автоита загружаю сцену
То есть, вы выполняете команду Open?
Каждая сцена находится в отдельном файле "*.max"?
Все файлы "*.max" с сценами находятся в одной общей папке?
затем на нее загружаю предмет
То есть, вы выполняете команду Merge?
Каждый предмет находится в отдельном файле "*.max"?
Каждый предмет находится в центре сцены?
Все файлы "*.max" с предметами находятся в одной общей папке?
Все предметы находятся в одном общем файле "*.max"?
его просто привязываем к "пустышке"
"Пустышка" находится в центре сцены?
В сцене есть только одна "пустышка"?
Какое название имеет "пустышка"?
запускаем рендер, таких сцен штук 16 + очень много предметов
Какое название будет иметь файл(-ы) с результатом рендеринга?
В каком месте будут сохранятся файл(-ы) с результатом рендеринга?
После рендера одного предмета, нужно удалить его, чтобы загрузить новый предмет?
поэтому весь этот процесс и приходится автоматизировать.
Я понял, что это пока только полуавтоматизация.
 

flibustier912

Пользователь сайта
Рейтинг
4
#9
То есть, вы выполняете команду Open?
Да
Каждая сцена находится в отдельном файле "*.max"?
Да
Все файлы "*.max" с сценами находятся в одной общей папке?
Да

То есть, вы выполняете команду Merge?
Да
Каждый предмет находится в отдельном файле "*.max"?
Да
Каждый предмет находится в центре сцены?
Не факт, это уже зависит не от меня, а как дизайнеры сделают
Все файлы "*.max" с предметами находятся в одной общей папке?
Да
Все предметы находятся в одном общем файле "*.max"?
Нет, каждый предмет в отдельном файле, т.к. предметы будут добавляться постепенно, не все сразу.

"Пустышка" находится в центре сцены?
"Пустышка" уже имеет свой сценарий(т.е. положение на сцене в зависимости от кадра)
В сцене есть только одна "пустышка"?
Пока да, но будет несколько, т.к. предметы разных размеров
Какое название имеет "пустышка"?
"pustuska"

Какое название будет иметь файл(-ы) с результатом рендеринга?
ИмяПредмета + номер кадра
В каком месте будут сохранятся файл(-ы) с результатом рендеринга?
Каждый предмет в отдельной папке(с помощью autoit это не проблема)
После рендера одного предмета, нужно удалить его, чтобы загрузить новый предмет?
Скорей всего сначала один предмет будет рендериться по всем сценам(хотя это еще не точно), но суть от этого не меняется, можно и так и так.
 

flibustier912

Пользователь сайта
Рейтинг
4
#10
В итоге все должно будет работать следующим образом: закащик запускает программу, указывает папку с предметами (.max), а дальше все программа делает сама.
 
Сверху