Panneau Drivers (Pilotes)¶
Référence
- Éditeur
Éditeur Graph
- Mode
Drivers
- Panneau
- Raccourci
N
Référence
- Menu
- Raccourci
Ctrl-D
Ce panneau est visible dans la Sidebar de l” Éditeur Drivers ou en tant que menu déroulant lors de l’ajout d’un pilote à une propriété.
Il indique la propriété qui est pilotée, suivie d’une série de paramètres qui déterminent le fonctionnement du pilote.
Paramètres de Driver¶
Type¶
Voici deux catégories de pilotes :
Built-in functions (Average, Sum, Min and Max)
La propriété pilotée aura la valeur de la moyenne, de la somme, de la valeur la plus basse ou de la plus haute (respectivement) des valeurs des Driver Variables référencées. S’il n’y a qu’une seule variable pilote, ces fonctions donneront le même résultat.
Custom (Scripted Expression).
Une expression Python arbitraire qui peut se référer aux Driver Variables par le nom. Voir Expressions.
Driver Value¶
Le résultat actuel de la configuration du pilote. Utile pour le débogage.
Variables¶
See Driver Variables.
Update Dependencies¶
Ceci va forcer une mise à jour des dépendances de la Driver Value.
Show in Drivers Editor¶
Ouvre l” Éditeur Drivers pleinement fonctionnel. Ce bouton n’apparaît que dans la version popover du panneau Drivers.
Variables de pilote¶
Les variables sont des références aux propriétés, aux canaux de transformation ou au résultat d’une comparaison entre des transformations de deux objets.
Les pilotes doivent accéder aux données des objets via des Driver Variables, plutôt que par des références directes dans l’expression Python, afin que les dépendances soient correctement suivies.
- Add Input Variable
Ajoute une nouvelle variable de pilote.
- Copy/Paste Variables
Copie la liste de variables actuelle afin de pouvoir la coller dans la liste de variables d’un autre pilote.
- Name
Nom à utiliser pour les expressions de script. Le nom doit commencer par une lettre, et ne contenir que des lettres, des chiffres ou des tirets bas.
- Variable Type
Le type de variable à utiliser.
- Single Property
Retrieves the value of an RNA property, specified by a data-block reference and a path string.
Dans le cas des propriétés de transformation, cela rendra la valeur exacte de la propriété UI, tandis que Transform Channel prendra en compte le parentage et/ou les contraintes selon les besoins.
Voir aussi Propriétés personnalisées.
- ID Type
Le type d’ID-Block. Par exemple : Key, Image, Object, Material.
- ID
L’ID du type de l’ID-Block. Par exemple : « Material.001 ».
- RNA Path
Le nom RNA de la propriété, basé sur un sous-ensemble de la syntaxe d’accès aux attributs Python. Par exemple :
location.x
oulocation[0]
pour la valeur brute de la localisation X, ou["prop_name"]
pour une propriété personnalisée.
Astuce
The easiest way to create a variable of this type is to use the Copy As New Driver context menu option of the input property, and paste the result into the driver via Paste Driver Variables.
- Transform Channel
Récupère la valeur d’un canal Transform d’un objet ou os.
- ID
ID de l’objet. Par exemple : Cube, Armature, Camera.
- Bone
ID de l’os de l’armature. Par exemple : « Bone », « Bone.002 », « Arm.r ». Cette option concerne les armatures.
- Type
Par exemple : Position X, Rotation X, Échelle X.
The Average Scale option retrieves the combined scale value, computed as the cubic root of the total change in volume. Unlike X/Y/Z Scale, this value can be negative if the object is flipped by negative scaling.
- Mode (Rotation)
Pour les canaux de rotation, spécifie le type de données de rotation à utiliser, y compris les différents ordres d” Euler explicites. Par défaut, l’ordre d’Euler de la cible est utilisé. Voir Modes de canal de rotation.
- Space
World Space, Transform Space, Local Space.
- Rotational Difference
Fournit la valeur de la différence rotationnelle entre deux objets ou os, en radians.
- Distance
Fournit la valeur de la distance entre deux objets ou os.
- Value
Affiche la valeur de la variable.
Rotation Channel Modes¶
Rotation Transform Channels support a number of operation modes, including:
- Auto Euler
Utilise l’ordre d” Euler de la cible pour décomposer la rotation en canaux.
- XYZ Euler, …
Spécifie explicitement l’ordre de rotation d” Euler à utiliser.
- Quaternion
Fournit la représentation Quaternion de la rotation.
- Swing and X/Y/Z Twist
Décompose la rotation en deux parties : une rotation Swing qui vise l’axe spécifié dans sa direction finale, suivie d’une rotation Twist autour de cet axe. Ceci est souvent nécessaire pour piloter les Shape Keys et les os correctifs pour la rotation des articulations organiques.
Cette décomposition est souvent produite dans les rigs en utilisant un os auxiliaire avec la contrainte Damped Track pour extraire la partie swing, et son enfant avec Copy Transforms pour extraire la composante twist.
Les valeurs des canaux pour Swing et Y Twist sont :
- Y Rotation
Angle réel de la rotation twist.
- W Rotation
Angle réel de la rotation swing, indépendamment de sa direction.
- X Rotation, Z Rotation
Les angles pondérés qui représentent la quantité de swing autour de l’axe X/Z.
The magnitude of the angle equals W Rotation when the rotation is purely around that axis, and fades out to zero as the direction changes toward the other axis, following the falloff curves from the graph on the right.
Mathematically, the swing angles are computed from quaternion components, using \(2 \arccos(w)\) for W and \(2 \arcsin(x)\) etc. for the others. The component of the swing rotation that corresponds to the twist axis is always 0, and is replaced by the twist angle.
Expressions¶
- Expression
Un champ de texte où vous pouvez entrer une expression Python arbitraire qui fait référence aux Driver Variables par leur nom.
L’expression a accès à un ensemble de constantes standard et de fonctions mathématiques de
math
,bl_math
et d’autres modules, fournis dans le Driver Namespace. Pour un exemple d’ajout d’une fonction personnalisée à l’espace de noms, voir l” driver namespace example.Pour des raisons de performance, il est préférable d’utiliser le sous-ensemble Simples Expressions autant que possible.
- Use Self
Si cette option est activée, la variable
self
peut être utilisée pour que les pilotes référencent leurs propres données. Utile pour les objets, les os, pour éviter d’avoir à créer une variable Driver pointant vers elle-même.Exemple :
self.location.x
appliqué à la propriété de rotation Y du même objet fera basculer l’objet lors de son déplacement.Notez que les dépendances des propriétés accessibles via
self
peuvent ne pas être entièrement suivies.
Simple Expressions¶
Blender peut évaluer directement un sous-ensemble utile d’expressions de pilotes Python, ce qui améliore considérablement les performances, en particulier sur les systèmes multi-cores. Pour en tirer parti, l’expression du pilote doit uniquement utiliser les fonctionnalités suivantes :
- Noms de variable
N’utilisez que des caractères ASCII.
- Literals
Floating-point and decimal integer.
- Globals
frame
- Constants
pi
,True
,False
- Operators
+
,-
,*
,/
,==
,!=
,<
,<=
,>
,>=
,and
,or
,not
, conditional operator/ ternary if- Standard Functions
min
,max
,radians
,degrees
,abs
,fabs
,floor
,ceil
,trunc
,round
,int
,sin
,cos
,tan
,asin
,acos
,atan
,atan2
,exp
,log
,sqrt
,pow
,fmod
- Blender Provided Functions
lerp
,clamp
,smoothstep
Les expressions simples sont évaluées même lorsque l’exécution des scripts Python est désactivée.
Lorsqu’une expression en dehors de ce sous-ensemble est utilisée, Blender affiche un avertissement « Slow Python expression ». Cependant, tant que la majorité des pilotes utilisent des expressions simples, l’utilisation d’une expression complexe dans un petit nombre de pilotes est acceptable.
Voir aussi