Vous pouvez créer un contrôleur MCG pouvant être appliqué par-dessus un contrôleur d'animation existant à un objet dans une scène et utiliser sa sortie comme entrée. Cette option offre la possibilité au flux de travail d'appliquer d'abord le premier contrôleur, puis d'appliquer d'autres contrôleurs à ses entrées.
Pour ce faire, le graphique doit être un nœud de paramètre pour recevoir la sortie du sous-contrôleur. Vous modifiez ensuite la propriété IU personnalisée pour ajouter un gestionnaire à l'événement Copier.
Vous pouvez également ajouter un gestionnaire à l'événement setValue val commit . Cette opération transmet la valeur du sous-contrôleur et vous permet d'interagir avec ce dernier comme s'il était toujours le contrôleur actif. Par exemple, cette option vous permet de créer un contrôleur MCG qui est appliqué par-dessus un contrôleur de position standard pour associer la position, tout en pouvant toujours déplacer l'objet dans les fenêtres à l'aide de l'outil Sélection et déplacement.
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
)
)
Notez que certains types de contrôleur ont des propriétés de valeur et de contrôleur, alors que pour d'autres, vous définissez directement le contrôleur lui-même. Vous pouvez utiliser try/catch comme ci-dessus, ou bien simplement utiliser tout ce qui est approprié pour le type de paramètre.