Você pode criar um controlador de MCG que pode ser aplicado a um controlador de animação existente em um objeto em uma cena e utilizar seu resultado como entrada. Isso fornece uma alternativa para o fluxo de trabalho que aplica o primeiro controlador e, em seguida, aplica outros controladores em suas entradas.
Para fazer isso, o gráfico deve ter um nó de parâmetro para receber a saída do subcontrolador. Em seguida, edite a propriedade Interface do usuário personalizada para adicionar um manipulador ao evento de cópia.
Você também pode adicionar um manipulador ao evento setValue val commit. Ele passa o valor do subcontrolador e permite que você interaja com o subcontrolador como se ele ainda fosse o controlador ativo. Por exemplo, isso permite criar um controlador de MCG, que é aplicado a um controlador de posição padrão para definir a posição, e ainda permite mover o objeto nas viewports utilizando a ferramenta Selecionar e mover.
on copy source do
(
--Grab the current controller and use its value to drive this controller.
try
(
this.SubController.controller = source
)
catch
(
this.SubController = source
)
return true
)
on setValue val relVal commit do
(
--Set the value of the subController.
--This controller acts like a pass-through.
try
(
SubController.value = val
)
catch
(
SubController = val
)
)
Observe que alguns tipos de controlador têm propriedades de controlador e de valor, mas você precisa definir o controlador diretamente para outros controladores. É possível utilizar tentar/capturar como mostrado acima, ou apenas usar o que for apropriado ao tipo de parâmetro específico.