Render.ru

Script Controller..

#1
Можно ли сделать, чтобы скрипт-контроллер выполнялся сразу - без перетаскивания time-slider-а или нажимания кнопки Evaluate.. Т.е. просчитывался как expression controller..

Пр. У меня 10 точек - и скрипт просчитывает среднее положения объекта между всеми 10-тью точками (Пр. из МАХ-овского хелпа):
----------
local pos=[0,0,0]
for o in objects where o != $foo do
pos += o.pos
pos / (objects.count - 1)
---------

где "foo" - это объект координаты которого вычисляются..

Так вот вычисления происходят только, если таскать ползунок или нажимать Evaluate. А это не приемлимо..
 
#2
если не вру, такая особенность даже задокументирована (maxscript.chm)...
 
#3
Limitations

Script controllers are not automatically updated when you interactively modify objects that they depend on unless you define an explicit dependency using dependsOn.

If you move the time slider or if you animate the changes and then play the animation, the changes are reflected automatically. Because the scripts can refer to other objects in very indirect ways or conditional ways, it is not possible for MAXScript to automatically determine the objects a script depends on.

---------------
Я просто надеялся что есть обходные пути.. Придется чего нибуть придумывать.. А то у меня уже exspression-ы на 2-е страницы - невозможно работать..
 
#4
Ограничения
скрипт контроллеры не обновляются автоматически, когда вы интерактивно модифицируете объекты от которых они зависят, до тех пор пока вы явно не определите зависимость с помощью dependsOn.
если вы двигаете ползунок времени или анимируете, а потом проигрываете анимацию, изменения отображаются автоматически. Так как скрипт может ссылаться на другие объекты косвенным или условным путями, то невозможно для МАКСскрипта автоматически определить объекты от которых зависит скрипт...

почитай про dependsOn (поиск по dependsOn For Scripted Controllers), только что создал две пары объектов (2 x A и B), где A зависел от B, в одной паре использовал dependsOn, и при изменение его B, A изменялся автоматически... правда, без понятия как это сделать если заранее объекты неизвестны - требуется явное указание имен...
 
Сверху