2015-12-15 3 views
2

Приятно быть здесь, в Stackoverflow в первый раз :)Пользовательского Turbosmooth Модификатор Плагин не обновляя сетки

Я хотел бы спросить ваш помогает, потому что я не могу найти решения и документацию о моей проблеме :( Я хочу создать сценарий для себя, с помощью которого я могу добавить пользовательский турбомодный модификатор для объектов. Они будут использовать параметры из пользовательского атрибута в корневом каталоге. С этим я могу манипулировать всеми турбомашинами на своих высоких панелях из своего диалога. Я знаю, что это может быть проще, если я просто помещаю объект в сцену с турбомашиной и экземпляр из него, но я не хочу добавлять ни один узел в область просмотра для этого. И, кроме того, я просто хочу узнать некоторые трюки :)

Итак, моя проблема в том, что если я просто добавлю простой счетчик для управления итерацией отдельно, модификатор перестанет обновлять себя по сравнению с исходным TS. Я действительно не знаю, почему пользовательский свиток убивает обновление автоматической сетки. Может быть, я могу добавить «update $» или что-то после делегата, но это не сработает, если это нужно для запуска на объекты instanced.

plugin modifier myMod 
name:"BTSmooth" 
classID:#(0x753e4721, 0x1d99e401) 
extends:turbosmooth replaceUI:false version:1 
(
    parameters main rollout:params 
    (
    Iterats type:#integer animatable:true ui:Iterats default:1 
    on Iterats set val do 
    (
     delegate.iterations = val 
    ) 
) 
    rollout params "BTSmooth" 
    (
    spinner Iterats "Iterat " type:#integer range:[0,4,2] 
) 
) 

ответ

1

Если вы пытаетесь расширить Turbosmooth, это stops working. Если вы планируете использовать один CA для управления всем, вы можете просто назначить контроллер bezier_float его параметру и вместо этого ввести этот контроллер. Скажем:

ts = TurboSmooth() 
ts.iterations.controller = path_to_your_param.controller 
addModifier objs ts 

Сначала вы можете теста, конечно, если есть уже некоторые Turbosmooth модификатора зависит от этого контроллера на сцене и только тогда, когда нет ни одного, создать новый:

ts = for d in refs.dependents path_to_your_param.controller where isKindOf d TurboSmooth do exit with d 
if not isKindOf ts TurboSmooth do ts = TurboSmooth() 
+0

Он работает очень хорошо :) Спасибо! – Sanislov

Смежные вопросы