Introducció

Els controladors constitueixen una manera de controlar valors de propietats mitjançant una funció o una expressió matemàtica.

Efectivament, els controladors consisteixen en:

  • Una configuració del controlador que especifica zero, un o més valors d’ingressió utilitzant altres propietats o canals de transformació d’objectes i els combina mitjançant una funció matemàtica predefinida o una expressió de Python personalitzada.

  • Una animació Corba-F que mapeja l’egressió de la configuració del controlador al valor final que s’aplicarà a la propietat controlada.

Com a exemple, la rotació de l’Objecte 1 pot ser controlada per l’escala de l’Objecte 2. Es diu llavors que l’escala de l’Objecte 2 controla la rotació de l’Objecte 1.

Els controladors poden no només associar directament el valor d’una propietat al valor d’una altra. També poden combinar múltiples valors mitjançant una funció fixa o una expressió de Python i encara modular-la amb una corba definida manualment i/o una estiba de modificadors.

Els controladors són una eina extremadament potent per muntar aparells i solen fer-se servir per controlar transformacions d’ossos i les influències de morfofites, restriccions i modificadors d’accions, sovint utilitzant propietats creades a mida com a ingressions.

Vista de gràfiques

../../_images/animation_drivers_introduction_fcurve.png

Corba del controlador a l’Editor de controladors.

L’àrea principal de l'Editor de controladors mostra una Corba-F que representa la funció del controlador.

L'eix X es mapeja sobre el valor d’egressió de la configuració del controlador. Les unitats depenen de la configuració.

L'eix Y mostra el valor aplicat a la propietat del referent. Les unitats depenen de la propietat.

A la imatge d’exemple, si el valor del controlador és 2,0, el valor de la propietat serà 0,5.

La Corba-F per defecte és un mapa d’identitat, és a dir, el valor produït per la configuració del controlador s’aplica a la propietat controlada sense canvis. Si el valor d’egressió del controlador és 2,0, la propietat serà 2,0.

La funció de controlador es pot definir artísticament amb nanses de corba de Bézier o matemàticament amb funcions trigonomètriques o expressions polinòmiques com ara \(y = a + bx\). A més, la funció també es pot modular procedimentalment amb soroll o repeticions cícliques. Vegeu Modificadors per més detalls.

Configuració del controlador

El Plafó de controladors mostra la configuració d’un controlador.

Un controlador pot tenir zero, una o més variables. Les variables especifiquen quines propietats, canals de transformació d’objectes o distàncies relatives entre objectes, s’utilitzen com ingressions per al controlador.

El tipus de controlador determina com s’utilitzen les variables. El tipus pot ser:

  • una funció integrada: per exemple, la suma dels valors de les variables, o bé

  • una expressió en forma de protocol: una expressió arbitrària de Python que faci referència a les variables pels seus noms.

Aquesta configuració del controlador genera un únic valor que canvia quan canvien les variables. Aquest valor s’avalua a través de la corba de funció del controlador per produir el resultat que s’aplicarà a la propietat controlada.

Notes sobre les expressions de protocols

Quan un controlador utilitza una Expressió de protocol, si és de les senzilles, el Blender pot avaluar-la sense utilitzar l’intèrpret de Python a tota màquina. Això vol dir que els controladors són ràpids quan han d’avaluar amb divisions simples, sumes i altres expressions «simples». Les funcions integrades sempre s’avaluen de manera nativa.

Vegeu Expressions simples per a obtenir una llista completa d’expressions que es poden avaluar de manera nativa.

Quan l’expressió no sigui simple, s’avaluarà a través de Python. Com a conseqüència, el controlador serà més lent i hi ha un risc de seguretat si es desconeix l’autoria del codi de Python. És important de tenir això en compte en el cas d’escenes pesades i quan es comparteixin documents amb altres persones. Vegeu també: Autoexecució.