Render.ru

Приостановить выполнение скрипта. Сделать

ARTIS

Активный участник
Рейтинг
5
#1
Имеется скрипт, делающий пакетный экспорт. В этот скрипт я добавил ещё кусок кода, который перед экспортом ещё производит определённые изменения. Всё хорошо, всё работает. Но мне нужно добавить некоторую интерактивность.
Среди прочего есть вот такая строка:
Код:
meshop.extrudeFaces $ #{1..$.numfaces} 50 -1.0
Мне нужно сделать следующее: каждый раз вручную вводить величину экструда (в данном случае 50), после этого сделать тестовый рендер, далее поправить введённую величину, если нужно (цикл правка-рендер может продолжаться сколько угодно). И, если отрендеренная картинка меня устроит - продолжить выполнение скрипта дальше.
Возможно ли относительно несложно реализовать такую задачу? Или это из разряда невозможного?
 

igorznag

Мастер
Рейтинг
103
#2
Используем Keyboard Entry. Пример:
В новой сцене создаем 1 чайник Teapot.
Конвертируем чайник в Editable Mesh. Выделяем чайник.
Открываем окно Render Scene (нажимаем F10).
Открываем окно MAXScript Listener (нажимаем F11).
Запускаем скрипт.
В окне MAXScript Listener вводим значение 50. Нажимаем Enter.
Нажимаем кнопку Render.
Если результат не устраивает, тогда нажимаем кнопку Undo (Ctrl+Z).
Активируем окно MAXScript Listener.
Вводим другое значение. Нажимаем Enter.
Нажимаем кнопку Render.
Если результат устраивает, тогда активируем окно MAXScript Listener и нажимаем клавишу Escape.
Код:
print "start code"
-------------
test=1; while test==1 do
(
v = getKBValue prompt:"Enter extrude value:"
if(classOf v == integer or classOf v == float)then
(
meshop.extrudeFaces $ #{1..$.numfaces} v -1.0
update $; redrawviews()
)--if(classOf v == integer or classOf v == float)then
if v==#escape do test=0
)--while test==1 do
--------------
print "end code"
 
Сверху