Routes de transfert¶
OTS déplace des données entre trois applications, ce qui fait six directions. Les six fonctionnent, dans les deux formats de fichier.
| De ↓ / Vers → | Harmony | Blender | Maya |
|---|---|---|---|
| Harmony | — | ✅ .pvt .anm |
✅ .pvt .anm |
| Blender | ✅ .pvt .anm |
— | ✅ .pvt .anm |
| Maya | ✅ .pvt .anm |
✅ .pvt .anm |
— |
Pourquoi les six, et pas seulement celles qu'on a testées¶
Il n'y a aucun code par route dans OTS. Il n'y a pas de « reader Harmony » et de « reader Blender » — il y a un seul reader par format de fichier.
Chaque writer estampille un en-tête coordinate_system dans le fichier, décrivant l'espace dans lequel il a écrit : quel axe est vers le haut, quelle est la chiralité, ce que vaut une unité. Chaque reader regarde cet en-tête et convertit les valeurs à travers un unique espace canonique à l'entrée.
Donc une route n'est pas une fonctionnalité qu'il faut construire. Blender → Maya fonctionne pour la même raison que Harmony → Maya fonctionne : le reader de Maya ne sait pas et ne se soucie pas de qui a écrit le fichier, seulement de l'espace que celui-ci déclare. Voir Systèmes de coordonnées.
Blender ↔ Maya est une route de première classe
Ça vaut la peine de le dire clairement, parce que c'est celle que les gens supposent manquante : vous pouvez envoyer un rig ou un plan directement de Blender vers Maya, ou de Maya vers Blender, sans escale par Harmony. C'est couvert par un test automatisé inter-applications qui exporte depuis Blender et vérifie la pose obtenue dans Maya.
Ce à quoi chaque route est bonne¶
Harmony → Blender / Maya¶
La plus courante. Les pegs d'un rig cut-out 2D deviennent des bones ou des joints, ce qui vous permet d'utiliser une scène 3D comme layout de référence, de faire un mouvement de caméra correctement en 3D, ou de rendre une passe 3D assortie.
Toute la hiérarchie de pegs arrive, y compris les pegs qui n'existent que pour porter une caméra.
Blender / Maya → Harmony¶
L'autre route courante. Animez un mouvement de caméra — ou un rig mécanique, ou n'importe quoi de plus simple à bloquer en 3D — et pilotez vos pegs Harmony avec.
Appliquer une animation réécrit le mode d'écriture d'un peg Harmony
Quand OTS applique un .anm à un peg Harmony existant, il délie toute colonne 3D-path ou quaternion-path sur ce peg et écrit à la place de nouvelles courbes bezier à channels séparés.
Les valeurs sont justes, et les courbes sont éditables. Mais si le peg était créé sur un 3D path, ce path a disparu après coup. C'est un compromis délibéré — les colonnes de rotation de Harmony ne peuvent pas représenter autrement n'importe quelle courbe entrante — mais ce n'est pas ce que vous voulez sur un peg que vous avez fabriqué à la main. Appliquer sur un résultat de Create Rig tout frais évite complètement la question.
Blender ↔ Maya¶
Deux applications 3D, aucune Harmony impliquée. Utile quand le reste de votre pipeline est en Octo Tools et que vous voulez simplement un transfert léger, lisible et diffable qui transporte les tangentes bezier et les données d'objectif de caméra sans aller-retour FBX.
Ce que cette route sollicite avant tout, c'est la conversion Z-up ↔ Y-up, dans les deux sens. Voir Systèmes de coordonnées.
Choisir un format pour la route¶
| Ce que vous voulez | À envoyer |
|---|---|
| L'animation, et le rig n'existe pas encore de l'autre côté | .anm → Create Rig |
| L'animation, sur un rig qui correspond déjà | .anm → Apply |
| Juste le squelette — pas de plan | .pvt → Build Skeleton |
| Reconstruire un rig que vous avez perdu | .pvt → Build Skeleton |
| Des caméras | l'un ou l'autre — les deux formats transportent les caméras, mais le .anm transporte aussi leur mouvement |
Voir Fichiers de pivot (.pvt) et Fichiers d'animation (.anm).
Ce qui voyage, sur toutes les routes¶
| Voyage | Notes |
|---|---|
| Hiérarchie | Le parent de chaque élément, résolu jusqu'à l'ancêtre exporté le plus proche — donc un export partiel ressort quand même comme une chain cohérente |
| Rest pose | Pivot et rest rotation |
| Keys de position / rotation / scale | Par frame, dans la plage exportée |
| Interpolation | BEZIER, LINEAR, CONSTANT |
| Handles bezier | Absolus, par axe |
| Caméras | FOV, clip near/far, offset, roll, flag de caméra par défaut |
| Regroupement en rigs | La colonne Rig, pour qu'une scène multi-personnages reste séparée |
| Ne voyage pas | Pourquoi |
|---|---|
| Dessins, meshes, matériaux, textures | OTS est un pont de transforms, pas un pipeline d'assets |
| Deformers, constraints, expressions, IK | Seulement les transforms résultantes |
| Noms de layers, couleurs, tags, métadonnées de nœuds | Au-delà des noms et chemins nécessaires à la correspondance |
| Le mode d'écriture du peg | Enregistré comme indication, mais jamais utilisé pour changer des valeurs — voir Format de fichier |
Parce que seules les transforms résultantes se déplacent, un rig piloté par un setup compliqué d'un côté arrive de l'autre côté sous forme de simples keys bakées. C'est en général ce que vous attendez d'un transfert, mais ça veut bien dire que le transfert est à sens unique par plan : vous ne pouvez pas le renvoyer et espérer voir le setup d'origine réapparaître.