Aller au contenu

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é .anmCreate Rig
L'animation, sur un rig qui correspond déjà .anmApply
Juste le squelette — pas de plan .pvtBuild Skeleton
Reconstruire un rig que vous avez perdu .pvtBuild 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.