default category image

Oscar

Un “autorig”, qu’est-ce que c’est ?

Oscar_autorig L’ autorig est l’outil indispensable des riggers. Concevoir un rig abouti consiste souvent à créer des milliers d’objets, tous connectés de façon plus ou moins complexe. De plus, on exige du rig qu’il réponde à une grande rigueur de fabrication, car c’est l’outil principal de l’animation, qui est l’étape la plus cruciale (et souvent la plus coûteuse) des productions 3D. Il devient donc nécessaire d’automatiser fortement le travail de rig, et c’est le rôle de l’autorig.
Il en existe plusieurs disponibles en ligne, gratuits (Advanced Skeleton, Gear, SlapOn…) ou payants (RapidRig, Setup Machine, Mixamo…).La démarche d’Oscar n’est donc pas nouvelle, mais sa conception le rend unique.

Et Oscar alors ?

Et_Oscar

Les autorigs que nous avons utilisé au fil de notre carrière présentaient un certain nombre de limites qui ont parfois rendu leur utilisation en production pénible. Les exigences varient assez fortement d’une production à l’autre ou d’une équipe à l’autre. Il est donc fréquent de re-développer sans cesse de subtiles variations de la même chose.

Oscar est le fruit de l’analyse de ce manque de solidité et de polyvalence. Toonkit propose une prestation service de Rig pour des clients et des médias divers et variés. Il nous a été indispensable d’imaginer une base logicielle polymorphe et pérenne sur laquelle imaginer une nouvelle façon de concevoir et fabriquer des rigs.

Le premier défi que nous devions relever est l’indépendance au logiciel 3D (Maya, 3DStudio, Softimage, Blender…). L’approche d’Oscar permet de travailler pour n’importe quel logiciel 3D.

multisoftware01

 

Données externalisées et format ouvert

BoutXml Oscar s’affranchit des formats propriétaires des logiciels 3D en utilisant son propre descripteur de rig, le “Oscar RigNode Framework”.L’intégralité des données nécessaires à construire un rig est donc indépendante du logiciel 3D utilisé.

Ce format s’appuie sur un standard aujourd’hui incontournable, l’xml, qui a l’avantage d’être facilement lisible (et au besoin éditable).

Intégration aux DCCs économe

Oscar n’est pas un “Plugin”, c’est une application “Standalone” qui communique avec le logiciel 3D par l’intermédiaire d’un système client/serveur.

Ainsi la “couche” spécifique à un logiciel 3D particulier est minimale.Finalement Oscar sait donner une centaine d’ordres simples au logiciel 3D, ce qui rend l’écriture de l’intégration pour un nouveau logiciel relativement triviale et rapide.

BoutCodeMayaCallback

Un “concepteur” d’ autorig plus qu’un autorig

RigList La généricité et la polyvalence sont certainement les atouts majeurs d’Oscar.

La plupart des autorigs disponibles sont limités à des “templates” figés (Bipèdes, Quadrupèdes…), ou au mieux proposent des “briques” (un bras, une colonne vertébrale…) qu’il est possible d’assembler de façon relativement simple (parentés, contraintes…). Oscar pousse la granularité à l’extrême et utilise des briques “atomiques” qui peuvent aller jusqu’à un unique contrôleur ou un déformeur.

Ainsi travailler avec Oscar peut s’apparenter à concevoir un Autorig sans écrire une seule ligne de code, car il n’est pas limité a priori par un nombre fini de ”templates”, il est donc possible de rigger n’importe quoi avec Oscar, des bipèdes et des quadrupèdes bien sûr, (qui représentent 80% du besoin), mais aussi des systèmes plus “exotiques” (oiseaux, insectes, serpents, véhicules, robots…).

Logique de connexion nodale

Pour assembler toutes ses briques Oscar avait besoin d’une représentation efficace et de la possibilité de connecter les objets entre eux de façon très variée.

Comme beaucoup de logiciels modernes il utilise donc la représentation nodale des données, parfaitement adaptée à la lisibilité de ces systèmes complexes.

NodalEditor

 

NodalEditorExpression Les possibilités en terme de connexions sont potentiellement illimitées notamment grâce à l’utilisation d’un formalisme de langage d’expression qu’il est possible de traduire pour n’importe quel logiciel 3D.

Système de projets et d’ assets

HierarchieProjet1HierarchieProjet2 Conformément aux logiciels 3D, Oscar a son propre système de projets qui permet de définir les spécificités de hiérarchie et de nomenclatures des différentes productions, ce qui permet de travailler de façon organisée et efficace.

Les assets (les personnages, accessoires…) sont également “trackés” par Oscar lui-même, qui fonctionne un peu comme un “AssetManager” et gère une synchronisation local/serveur, et le suivi des modifications des fichiers communs.

 

AssetManagement2

Workflow structuré

OscarRigBuildingWorkflow

 

Oscar implémente un processus de reconstruction de personnage segmenté qui permet d’intervenir via script à toutes les étapes pour personnaliser encore plus son fonctionnement.

Gestion efficace des symétries

DupSymmetry Tous les êtres vivants ont au moins un axe de symétrie (symétrie bilatérale), c’est une opportunité formidable de ne faire que la moitié du travail sur un rig, et Oscar exploite au maximum cette particularité.

Les notions de gauche/droite, haut/bas, devant/derrière ne sont pas que des mots mais des propriétés particulières qui permettent de symétriser n’importe quel système, propriété ou ensemble de connexions.

Assemblages (Compounds)

Dans son éditeur nodal Oscar utilise un concept de “groupes” de nodes (les “Compounds”) emprunté à Softimage© qui permet d’organiser son travail et de mutualiser des systèmes qui sont récurrents dans une production.

 

Compounds2

 

Un sous-système dans Oscar devient donc un Compound, qu’il est possible de récupérer d’un personnage à un autre par simple drag and drop, ce qui assure une homogénéité dans les assets, et qui permet une grande optimisation du travail.

ExploreCompound1ExploreCompound2

Configurable à l’extrême

Oscar utilise un ensemble de préférences et de configurations qui peuvent agir à différents niveaux :

  • Général
  • Projet
  • Asset
  • Version/Variation d’un asset

Cette souplesse nous permet de nous adapter en permanence aux nouveaux standards ou aux nouvelles contraintes des logiciels 3D.

Publish

Ces préférences permettent de quasiment tout redéfinir, de la forme d’un objet, à sa nomenclature en passant par sa couleur ou les paramètres qui sont accessibles à travers lui.

PrefProjects

Création aisée de nouveaux nodes

NodeCreator Quand les nodes déjà présents dans Oscar ne suffisent pas, il est possible d’ajouter de nouveaux systèmes, et ce, la plupart du temps sans écrire une ligne de code.Les nouveaux nodes sont créés en utilisant le logiciel 3D, et peuvent utiliser toutes les finesses du logiciel en question. En effet Oscar va ignorer les détails du fonctionnement interne des nodes, il faudra juste lui indiquer sur quels objets et attributs il doit pouvoir agir, et lui détailler les propriétés de ces objets, via un système de “tags”.

Oscar l’ajoute alors à la liste de nodes disponibles et devient capable de les manipuler tout comme les nodes “de base”.