Как контролировать симуляцию в реальном времени я не знаю, и упоминаний об этом в документации не нашёл.
Но можно задать определённое количество кадров (я оставил 50), остальные настройки меняются через
cm.clothOps.setObjectProperty $ "параметр" значение
Вот более законченный код, для которого не нужно указывать имена объектов, они должны быть просто выделены,
а тканью он сделает объект, расположенный выше всех:
Code:
-- Автоматическое тряпкобросание 0.1
-- 15.10.2011, Imaginaerum для 3ddd.ru )
cm = Cloth()
obj_cloth = selection[1]
-- Ищем тряпку — она должна быть выше всех
-- (нужно следить за правильным расположением центров объектов (pivot)
for obj in selection do (
if obj.position.z > obj_cloth.position.z do obj_cloth = obj
)
obj_all = selection as array
for obj in obj_all do (
select obj
addModifier $ cm
-- Настройка тряпки
cm.clothOps.setObjectType $ 2 true
if ($!=obj_cloth) and (validmodifier $ cm) then (
-- Настройки твёрдых объектов
cm.clothOps.setObjectProperty $ "depth" 0.5
cm.clothOps.setObjectProperty $ "offset" 0.5
cm.clothOps.setObjectType $ 1 true
)
)
cm.enableEndFrame = true
-- Продолжительность симуляции в кадрах
cm.endFrame = 50
-- Поехали!
cm.ClothOps.Simulate true
В личку ко мне, конечно же, можно обращаться по личным вопросам, а помогать с Макс-скриптом я могу и публично )
Успехов, и могу посоветовать основные направления:
http://www.scriptattack.com/theory/theory.html — хорошая базовая теория на русском языке
Использовать
MAXScript Listener → MacroRecorder → Enable (показывает как воспроизвести многие совершаемые тобой действия на Макс-скрипте)
Читать
MAXScript Reference:
http://docs.autodesk.com/3DSMAX/14/ENU/MAXScript%20Help%202012/index.html
Разбираться в работе чужих скриптов, которых полно, например на
http://www.scriptspot.com/3ds-max