Dans Blender¶
Blender est le seul host où OTS n'utilise pas sa propre fenêtre. Tout se passe dans un panneau de la sidebar qui suit les conventions de Blender — lignes de propriétés, UI lists, boutons d'opérateur — parce qu'une boîte de dialogue Qt flottante dans Blender aurait l'air d'une visiteuse.
Les fonctionnalités sont les mêmes. La disposition est celle de Blender.
Trouver le panneau¶
Ouvrez la sidebar de la 3D view avec N et sélectionnez le tab OTS.
Les mêmes quatre tâches que dans la fenêtre Harmony et Maya, exprimées en sections repliables à l'intérieur d'un seul panneau :
Un .pvt chargé, prêt à être reconstruit. Create Bake Bones from .pvt construit une armature par tag de rig.
Scene selection en haut, la liste de bones cochables, puis Export Settings avec Scale Factor et Pivot Space.
2/2 matched | Frames 1–60 | 1 cam | 2 rigs, puis la liste de correspondance avec les icônes de coche et de caméra, et les trois boutons d'action.
La liste de scan avec Select All / Deselect All, puis la boîte Range avec Scene Range.
Les trois panneaux¶
Scene selection¶
Toujours en haut, montrant toujours ce qu'OTS voit actuellement comme sélectionné : chaque armature sélectionnée, et chaque caméra sélectionnée avec une icône indiquant s'il s'agit de celle qui est active dans la scène.
Si rien d'utilisable n'est sélectionné, il le dit — « Select an armature in the viewport ». Si plus d'une armature est sélectionnée, il vous rappelle que chacune s'exporte comme son propre rig.
Ce panneau est la réponse à « pourquoi ma liste d'export est-elle vide ? » — il vous dit ce que Blender pense que vous avez choisi avant que vous n'appuyiez sur quoi que ce soit.
Pivot Files (.pvt) · Animation Files (.anm)¶
Un panneau repliable par format, contenant chacun une boîte Import et une boîte Export. La même grille deux formats par deux directions que la fenêtre Harmony et Maya, exprimée en boîtes imbriquées.
Exporter¶
Scan selection remplit la liste à partir de ce qui est sélectionné, et le compteur à côté indique combien de lignes sont cochées sur le total. Select All et Deselect All font ce qu'ils disent.
Contrairement aux listes d'export de Harmony et Maya, la liste de Blender a des cases à cocher — c'est l'idiome propre de Blender pour une UI list, et ça veut dire que vous pouvez scanner une armature entière puis décocher les bones dont vous ne voulez pas.
| Format | Réglages supplémentaires |
|---|---|
.pvt |
Scale Factor, et Pivot Space — Local (relative to parent) ou Armature Space |
.anm |
Start / End, et un bouton Scene Range |
Puis Export Pivots (.pvt) ou Export Animation (.anm).
Pivot Space¶
| Option | Signification |
|---|---|
| Local (relative to parent) | La position de chaque bone relative à son bone parent. Le défaut |
| Armature Space | Position absolue dans l'espace de l'armature |
Harmony et Maya écrivent toujours local. À moins d'avoir une raison, laissez Blender sur Local pour qu'un .pvt veuille dire la même chose quel que soit son auteur.
Importer¶
Choisissez un fichier avec le bouton dossier, ou collez un chemin et appuyez sur refresh. La ligne d'info rapporte ce qui a été trouvé — combien d'éléments, combien ont correspondu, combien de caméras, la plage de frames, combien de rigs.
La liste de correspondance utilise des icônes plutôt que des couleurs, parce que c'est ainsi que Blender signale un statut :
| Icône | Signifie |
|---|---|
| ✔ coche | Correspond à un bone de la scène |
| ⚠ triangle d'avertissement | Sans correspondance — l'équivalent d'une ligne ambre dans la fenêtre Harmony/Maya |
| caméra | Cet élément est une caméra ; pleine s'il s'agit de celle qui est active dans la scène |
| Q | Le bone cible est en mode de rotation quaternion |
Puis :
- Apply Animation to Bones — écrit sur les bones correspondants dans les armatures sélectionnées. Le libellé au-dessus vous dit sur combien d'armatures il va s'appliquer.
- Create Bake Bones — construit le squelette à partir du fichier et applique l'animation.
- Create Cameras — construit les caméras.
Pour le .pvt, les équivalents sont Create Bake Bones from .pvt et Create Cameras.
Ce que construit Create Bake Bones¶
Une armature par tag de rig dans le fichier. Un fichier à un seul rig garde le nom de base du fichier.
Chaque bone est créé avec un rest identité à l'origine, pointant vers +Y, avec une longueur courte fixe. C'est délibéré : avec un rest identité, la transform locale d'un pose bone est exactement la transform relative au parent que décrit le fichier, donc l'animation s'applique sans couche de correction assise entre le fichier et la pose.
Ça veut aussi dire que le squelette au repos ne ressemble pas à votre personnage. Les bones sont des moignons uniformes ; la forme que vous reconnaissez apparaît quand l'animation est appliquée. C'est normal — ce sont des bake bones, pas un rig que vous confieriez à un animateur pour poser à la main.
Les bones sont mis en mode de rotation XYZ Euler et keyés en location, rotation et scale dans une nouvelle action.
Pas de colonne Rig¶
L'export de Blender n'a pas de colonne Rig, et c'est volontaire : dans Blender, l'armature est le rig. Chaque armature sélectionnée s'exporte comme son propre rig, nommé d'après elle-même.
Il ne reste rien à décider pour une colonne, parce que Blender vous a déjà fait décider au moment où vous avez parenté le bone — une armature est un objet réel avec son propre datablock, et un bone ne peut pas exister en dehors d'exactement une d'entre elles. Proposer de retaguer un bone dans un autre rig promettrait quelque chose que l'export ne pourrait pas honorer : un bone dont le parent vit dans une autre armature n'a pas de parent.
Maya et Harmony, eux, ont la colonne, parce que là-bas un « rig » est une convention (un group) plutôt qu'un conteneur. Même modèle, exprimé dans les termes propres de chaque application — voir Rigs et multi-rig.
À l'import, Blender honore pleinement les tags de rig — un fichier portant trois rigs produit trois armatures.
Coordonnées¶
Blender est le cas Z-up, et c'est la raison pour laquelle OTS convertit les rotations de la manière soigneuse.
Les positions se swizzlent du Z-up de Blender vers le Y-up canonique. Les rotations non — on ne peut pas simplement permuter des angles Euler pour un changement de base ; ça fait tourner autour des mauvais axes et produit une rotation qui tourne, mais qui tourne de travers. OTS convertit plutôt par une conjugaison de quaternion. Voir Systèmes de coordonnées.
Les caméras reçoivent une inclinaison de +90° en X à l'import, parce qu'une caméra Blender regarde vers −Z dans un monde Z-up. L'inclinaison est retirée à l'export, si bien qu'une caméra regardant vers l'avant fait un aller-retour propre.
Notes et limites¶
Le reader .anm de Blender suppose un fichier canonique. Tous les writers émettent actuellement du .anm canonique, donc c'est toujours vrai en pratique — mais contrairement au reader .pvt, il ne consulte pas l'en-tête du fichier. Bon à savoir si vous éditez un jour un fichier à la main.
L'add-on nécessite Blender 4.2 ou ultérieur, et s'installe comme extension.
Une armature, un rig, une section de fichier. Si vous voulez deux personnages dans un fichier, sélectionnez les deux armatures avant de scanner.
Voir aussi¶
- Rigs et multi-rig — pourquoi le modèle de Blender est le même modèle
- Systèmes de coordonnées — la conversion Z-up en entier
- Caméras — sensor fit, visée et clip planes