Aller au contenu

Drivers

Tutoriel vidéo — bientôt disponible

Un driver est un widget qui écrit une valeur.

Là où une pose layer dit « à cette position, montre la frame 861 », un driver dit « mets OPACITY de ce node à 43.7 », ou « remplace ce drawing », ou « désactive ce node ».

Ajoutez-en un avec + → Driver dans l'Outliner. Il est créé et directement envoyé vers son éditeur — il n'y a pas de dialogue.

Driver editor

L'éditeur comporte deux sections : Setup (ce qu'il pilote et comment) au-dessus de Values (le knob que vous manipulez réellement).


Les quatre types

Type Widget Essayez
Checkbox Deux états
Combo Slider N options discrètes
Continuous Slider Une plage
Continuous Grid Un pavé 2D

Un pad de driver est toujours continu — une chose discrète en 2D est une pose layer, pas un driver.

Changer le type reconstruit le knob de Values à la volée, et tout attribut que le nouveau type ne peut pas piloter est abandonné plutôt que gardé en silence.


Setup

Targets

Les nodes que ce driver écrit. + propose :

Entrée Ajoute
Add from Node View Ce qui est sélectionné dans Harmony
Look-At ▸ Un field de look-at — le driver prend le contrôle de la valeur de ce field
Driver ▸ Un autre driver — celui-ci pilote celui-là
Constraint ▸ Une constraint — ce driver l'active et la désactive

La liste est hybride : les nodes Harmony et les targets internes cohabitent.

Même type uniquement

Un driver ne peut piloter qu'un autre driver, ou un field de look-at, de son propre type. Un checkbox pilote des checkboxes, un slider pilote des sliders. La raison est concrète : un checkbox qui écrit 0/1 dans un slider le fige sur deux valeurs, et un slider qui écrit 37.5 dans un checkbox est lu comme « on ».

Quand rien ne convient, le sous-menu est désactivé et le dit : « No other Slider driver to be driven by — a driver can only drive one of the same kind. »

Seul un driver Checkbox peut activer une constraint, parce qu'une constraint est on ou off.

Behaviour

Champ Ce qu'il fait
Label Le nom que l'animateur voit sur le widget.
Widget Checkbox / Combo Slider / Continuous Slider / Continuous Grid.
Operation Ce que fait la valeur — voir plus bas.
Attribute Quel attribut Harmony écrire. La liste est filtrée aux attributs que ce type de widget peut réellement piloter.
Visibility Group Où vit le widget.
Blend N'apparaît que quand une target chevauche celle d'un autre auteur.

Operations, par type :

Type Operations
Checkbox Toggle Attribute, Enable / Disable Node, Show / Hide Node Controls, Show / Hide Deformers
Slider Set Value, Multi-Attribute
Combo Set Value, Multi-Attribute, Drawing Substitution
2-D pad Set Value, Multi-Attribute

Sous Multi-Attribute, le champ Attribute est désactivé et affiche « mapped per row in Options ▸ Attribute Mappings » — chaque ligne obtient son propre attribut là-bas.

Grisé, jamais caché

Quand un type de widget n'est pas disponible, ORC le grise et met la sortie dans le tooltip — par exemple « This driver drives «Blink», which is a Checkbox — remove that target from the Targets list to change type. » Vous ne restez jamais à deviner pourquoi une option ne passe pas.

Options

Ce qui apparaît ici dépend du type et de l'opération.

Handle Min / Handle Max — la plage numérique sur laquelle mappe le handle, par défaut 0–100. Default — où il démarre.

Sous Multi-Attribute, le min/max disparaît : le handle est un pourcentage, et chaque ligne de mapping porte sa propre plage.

X Min / X Max / Y Min / Y Max, plus Default X / Default Y. L'étendue par défaut est 0–1 sur les deux axes.

+ Option ajoute une entrée. Ce que contient une option dépend de l'opération :

Operation Une option est
Set Value Un label et un nombre
Multi-Attribute Une carte contenant plusieurs lignes d'attributs et/ou des changements de drawing
Drawing Substitution Un drawing par target READ, reflété automatiquement

Default choisit sur quelle option le rig démarre.

Avec zéro option, le knob de Values est désactivé et affiche : « This knob has no options yet. Add them in Setup ▸ Options to make it usable. »

Pour un slider ou un pad sous Multi-Attribute. Chaque ligne est un node, un attribut, un min, un max, et — pour un pad — quel axe le pilote. Les 0–100 % du driver sont remappés dans la plage propre de chaque ligne.

Influence

Chaque driver peut porter une influence : un second widget, de 0 à 1, qui décide combien ce driver a le droit d'agir.

Champ Signification
Influence Widget Slider (n'importe où entre les deux) ou Checkbox (tout ou rien)
Influence Visibility Group Où vit le widget — Hidden le dissimule
Influence Default La force avec laquelle le rig naît — 100% est le drive plein, le neutre

La valeur par défaut se règle avec les mêmes widgets que le reste d'ORC utilise — le nav slider avec ses ancres et flèches en échelle de pourcentage, ou un checkbox quand l'influence elle-même en est un.

Dans le Widget Editor, l'influence est un widget comme les autres : toujours listée (grisée tant qu'elle est en Hidden, comme tout ce qui est caché), avec son propre Visibility Group modifiable sur place, son propre champ Label (par défaut <driver> - Influence, partagé avec le rig composé) et un glyphe qui suit son type slider / checkbox.

Hidden dissimule le widget ; la valeur par défaut continue de s'appliquer. Un driver dont l'influence est dans Hidden au neutre à 100% pilote simplement — rien de plus n'existe dans le rig. Mais fixez la valeur par défaut à, disons, 50% et cachez-la, et vous avez câblé en dur « ce master pilote à moitié, toujours » sans donner de slider à l'animateur : la valeur survit comme attribut dans les Layer Properties du MC composé, accessible là et nulle part ailleurs — le même traitement que reçoit le toggle Interpolation.

Ce que signifie l'influence dépend de ce qui est piloté :

Piloté À influence 0
Un attribut numérique La valeur revient à ce qu'elle était avant ce driver — un blend direct
Un toggle Le driver ne fait rien (en dessous de 0.5 il est simplement ignoré ; un node à moitié activé n'a pas de sens honnête)
Un autre widget, ou un field de look-at Le driver le relâche — la target répond à nouveau à son propre control

Ce dernier cas est celui à retenir : l'influence sur un lien driver-à-driver est relâcher/tenir, pas un blend.

Scope

Champ Ce qu'il choisit
Control Quel control possède ce driver — ou Globals
Keyed across Global, Control, Pose Layer, ou Control + Pose Layer
Pose Layer Quelle layer, pour les scopes de layer, plus Use pose layer knob
Side Quel side de la page, quand la layer a plus d'une page

C'est le key domain du driver — il décide si le driver porte une valeur partout ou une valeur par snap.

Un driver checkbox est Global uniquement

Tout le reste se grise avec la raison. Si vous avez besoin d'un on/off par snap, utilisez un Combo Slider à deux options.


Values

Driver values

Le knob lui-même, plus un petit point d'auto-key dans l'en-tête de la section — vert quand actif.

Les sliders et combos viennent avec du chrome de navigation : / avancent d'un cran, et les deux ancres d'extrémité — début et fin — sautent à l'un ou l'autre extrême.

Les valeurs changées passent en jaune après une réouverture

Sur un rig rouvert depuis un MC composé, une valeur de driver changée à un snap marque ce snap jaune sur les navigateurs du driver — layer grid, tick head du slider, carte du knob — et sur le snap de control au-dessus. Re-keyer la même valeur ne marque rien : le jaune signale ce qui est différent, pas où votre curseur est passé. Voir Visual Indicators.

Keyer un driver

Survolez le knob et appuyez sur F6, ou faites un clic droit dessus :

Élément Notes
Set Key F6 Désactivé au scope Global, avec la raison
Remove Key F7 Désactivé quand il n'y a pas de key ici
Set as Default
Reset to Default
Driven by ▸ Quel driver pilote celui-ci

Au scope Global, les éléments de keying s'expliquent d'eux-mêmes :

This driver's Scope is Global, so it holds one value everywhere. Set Scope to a control grid in Setup to key per snap.

Couleurs

Couleur Signification
Vert Keyé à ce snap
Rouge Interpolé — blendé depuis les keys voisines
Rose Driven par un autre driver

Vert keyé l'emporte sur rose driven, et quand vous retirez la key, le rose revient dessous. Un knob driven reste interactif — vous pouvez le pousser pour prévisualiser, et compose le réécrase depuis sa source.


Drivers additifs

Un driver dont le blend est Additive écrit par-dessus ce qu'un autre auteur a déjà produit. Ses keys sont des deltas, pas des absolus, et zéro signifie aucun changement. L'Outliner le marque d'un Σ.

Les valeurs par défaut du blend suivent le scope — les drivers globaux s'ajoutent, les drivers par snap écrasent — et la ligne n'apparaît que quand une target chevauche réellement celle d'un autre auteur.

Additive ne s'applique qu'aux targets qui chevauchent réellement. Un node dont l'auteur est unique n'a pas de base sur laquelle s'ajouter, et s'ajouter à sa propre écriture précédente est ainsi qu'une valeur s'emballe.


Mute

Clic droit sur un driver dans l'Outliner et choisissez Mute : « Skip this driver at compose without deleting it (dimmed in the outliner). »

La ligne s'assombrit, le driver reste dans le rig, et Compose l'ignore. C'est le moyen de tester un rig sans un driver donné.


Ce que devient un driver

Au Compose, chaque driver devient un widget sur le canvas plus une fonction qui s'exécute à chaque déplacement et une fois par mise à jour du rig. Il porte ses propres attributs sur le node MC, si bien qu'un animateur peut le keyer sur la timeline comme n'importe quel attribut Harmony.

Voir aussi