Universal Scene Description

Export dans des fichiers USD

Les fichiers de description de scène universelle (Universal Scene Description ou USD) peuvent contenir des couches complexes, des superpositions et des références à d’autres fichiers. L’exportateur USD de Blender adopte une approche beaucoup plus simple. Lors de l’exportation, tous les objets visibles et pris en charge dans la scène sont exportés, éventuellement limités par leur état de sélection. Blender ne prend pas (encore) en charge l’exportation d’objets invisibles, de couches USD, de variantes, d’animations de squelettes, etc.

Les objets suivants peuvent être exportés vers USD :

  • Maillages (de différentes sortes, voir ci-dessous).

  • Caméras (caméras en perspective uniquement pour le moment, pas de caméras orthogonales).

  • Lumières (Lights) (tous les types sauf les lumières de zone).

  • Cheveux (Hair) (exportés sous forme de courbes, et limités aux mèches parentales).

Lors de l’exportation d’une animation, le maillage final évalué est enregistré dans USD. Cela signifie que les maillages suivants peuvent être exportés :

  • Les maillages statiques.

  • Les maillages avec déformation ; ici, la topologie du maillage ne change pas, mais l’emplacement des sommets change avec le temps. Les exemples sont des personnages animés ou des objets rebondissants (mais pas fissurés).

  • Les maillages arbitrairement animés ; ici, la topologie change. Un exemple est le résultat d’une simulation de fluide, où des éclaboussures de fluide peuvent se détacher du corps principal.

  • Les metaballs sont exportées sous forme de maillages animés.

../../_images/files_import-export_usd_example.png

Tiré de Spring exporté vers USD et ouvert dans USDView.

Options d’exportation

Les options suivantes sont disponibles lors de l’exportation vers USD :

Selection Only

Lorsque la case est cochée, seuls les objets sélectionnés sont exportés. Les objets instanciés, par exemple les collections qui sont instanciées dans la scène, sont considérés comme « sélectionnées » lorsque leur instanceur est sélectionné.

Visible Only

Exporte uniquement les objets qui ne sont pas cachés. Les parents invisibles des objets exportés sont exportés sous forme de transformations vides.

Animation

Lorsque la case est cochée, toute la plage de trames de la scène est exportée. Si elle n’est pas cochée, seule l’image de la scène actuelle est exportée.

Hair

Lorsque la case est cochée, les mèches de cheveux des parents sont exportées sous forme de système de courbes. Les couleurs des mèches de cheveux ne sont pas exportées.

UV Maps

Lorsque la case st cochée, inclut les coordonnées UV pour les mailles exportées. Le nom de la carte UV dans USD est le même que le nom dans Blender. Dans USD, le nom par défaut est st, alors que dans Blender, le nom par défaut est UVMap. Pour exporter vers le nom standard st de carte UV, renommez la carte UV dans Blender en st.

Normals (Normales)

Lorsque la case est cochée, inclut les normales des maillages exportés. Cela inclut les normales des boucles personnalisées.

Materials

Lorsque la case est cochée, exporte les matériaux des maillages. Lorsqu’un maillage a plusieurs matériaux attribués, un sous-ensemble de géométrie est créé pour chaque matériau.

Le premier matériau (le cas échéant) est toujours appliqué sur le maillage lui-même (indépendamment de l’existence de sous-ensembles géométriques), car la vue Hydra ne supporte pas de matériaux sur des sous-ensembles. Voir USD issue #542 pour plus d’informations.

Use Settings for

Détermine s’il faut utiliser la visibilité Viewport ou Render de la collection, les modificateurs ou toute autre propriété qui peut être définie à la fois pour Viewport et Render.

Experimental

Instanciation

Comme il s’agit d’une option expérimentale. Lorsque cette option n’est pas cochée, les objets dupliqués sont exportés comme des objets réels, de sorte qu’un système de particules avec 100 particules qui est affiché avec 100 maillages aura 100 maillages individuels dans le fichier exporté. Lorsque cette option est cochée, les objets dupliqués sont exportés en tant que référence à l’objet d’origine. Si l’objet d’origine ne fait pas partie de l’exportation, le premier objet dupliqué est exporté comme objet réel et utilisé comme référence.

Limitations de l’exportateur

Maillages à simple et double face

L’USD ne semble pas prendre en charge le double-face défini par matériau ou par groupe de faces, c’est pourquoi Blender utilise le drapeau du premier matériau pour marquer l’ensemble du maillage comme simple/double-face. S’il n’y a pas de matériau, il indique par défaut que le tissu est à double face.

Normales de maillage

Le schéma de subdivision du maillage dans USD est « Catmull-Clark » par défaut, mais Blender utilise « None » à la place, indiquant qu’un maillage polygonal est exporté. Ceci est nécessaire pour que USD puisse comprendre les normales personnalisées, sinon le maillage est toujours rendu lisse.

Vitesses de sommet

Actuellement, seules les simulations de fluides (et non les maillages en général) ont des vitesses de sommet explicites. C’est cependant le cas le plus important pour l’exportation des vitesses, car le maillage précalculé change constamment de topologie, et il est donc difficile de calculer les vitesses au moment de l’importation dans une étape de post-traitement.

Orientation du système de coordonnées

Blender utilise l’axe Z comme axe vertical. Comme USD supporte à la fois Y et Z comme axe vertical, les fichiers USD enregistrés par Blender utilisent toujours Z comme axe vertical.

Materials

Des versions très simples des matériaux sont exportées, en utilisant uniquement la couleur, le métal et la rugosité Affichage de la fenêtre.

Lorsqu’il y a plusieurs matériaux, les faces du maillage sont stockées comme sous-ensemble géométrique et chaque matériau est affecté au sous-ensemble approprié. S’il n’y a qu’un seul matériau, celui-ci est ignoré. Notez que les sous-ensembles géométriques ne sont pas échantillonnés dans le temps, de sorte qu’il peut y avoir rupture lorsqu’un maillage animé change de topologie.

Hair

Seuls les brins parents sont exportés, et seulement avec une couleur constante. Pas de coordonnées UV, et pas d’informations sur les normales.

Camera

Seuls les caméras en perspective sont exportées.

Lights (lumières)

L’USD ne prend pas directement en charge les lumières spots, donc celles-ci ne sont pas exportées.

Particules

Les particules ne sont enregistrées que lorsqu’elles sont vivantes, ce qui signifie qu’elles sont toujours visibles. Il n’existe actuellement aucun code permettant de les marquer comme invisibles en dehors de leur durée de vie.

Les objets instanciés par système de particules sont exportés en suffixant le nom de l’objet avec l’ID persistant de la particule, ce qui donne à chaque transformation de particule un nom unique.

Instanciation et référencement

Il s’agit encore d’une fonctionnalité expérimentale qui peut être activée lors de l’exportation vers USD. Lorsqu’elle est activée, les maillages d’objets instanciés sont écrits dans USD comme références au maillage d’origine. La première copie du maillage est écrite pour de vrai, et les copies suivantes font référence à la première. Le choix du maillage considéré comme « le premier » est plus ou moins arbitraire.

Importation de fichiers USD

Les fichiers USD représentent généralement la scène sous la forme d’une hiérarchie de primitives, ou prims. Les prims individuelles contiennent des données pour décrire les entités de la scène, telles que la géométrie, les lumières, les caméras et les hiérarchies de transformation. L’importateur USD de Blender convertit les prims USD en une hiérarchie d’objets Blender. Comme l’exportateur USD, l’importateur ne gère pas encore les concepts USD plus avancés, tels que les couches et les références.

Les types de données USD suivants peuvent être importés en tant qu’objets Blender :

  • Cameras

  • Courbes

  • Lights (lumières)

  • Materials

  • Maillages

  • Volume

Pour plus d’informations sur la façon dont les différents types de données sont traités, consultez les descriptions suivantes des Import Options.

Primitives Xform et Scope

USD fournit un type de prim Xform, contenant des données de transformation, qui peuvent être utilisées pour représenter les hiérarchies de transformation et pour organiser la scène. Ces prims Xform sont importés en tant qu’objets vides de Blender.

USD prend également en charge les primitives Scope, qui sont des entités qui ne contiennent pas de données de transformation, mais qui servent à regrouper d’autres éléments de la scène. Blender n’a pas de contrepartie exacte au concept de portée, donc ces primitives sont importées en tant que Blender empties situés à l’origine. Il s’agit d’une représentation imparfaite, car les objets empty ont une transformation et les Scopes n’en ont pas, mais cette approche permet néanmoins de préserver la structure de la hiérarchie de la scène.

Animations

L’importateur prend en charge deux types d’animation:

  • Animation des transformations: si une primitive USD a des données de transformation variables dans le temps, une contrainte Transform Cache sera ajoutée à l’objet Blender importé.

  • Animation de la géométrie: l’animation de la géométrie du maillage et de la courbe est prise en charge en ajoutant un modificateur Mesh Sequence Cache aux données importées. L’attribut d’animatin de géométrie (USD Primvar) n’est actuellement pris en charge que pour les couleurs de sommet de maillage et les UV. Notez que les séquences de fichiers USD (c’est-à-dire un fichier unique par image) ne sont pas encore prises en charge.

Materials

Si un sous-ensemble de maillage ou de géométrie USD a un matériau lié, l’importateur affectera à l’objet Blender un matériau portant le même nom que le matériau USD. Si un matériau Blender portant le même nom existe déjà dans la scène, le matériau existant sera affecté. Sinon, un nouveau matériau sera créé.

Si le matériau USD a une source de shader USD Preview Surface, la couleur, le métal et la rugosité de Affichage de la fenêtre sont définis sur les valeurs d’entrée USD Preview Surface correspondantes.

Il existe également une option expérimentale Import USD Preview pour convertir les shaders USD Preview Surface en nœuds de shader Principled BSDF. Cette option peut entraîner des pertes, car elle ne gère pas encore la conversion de tous les paramètres et types de shader, mais elle peut générer des visualisations approximatives des matériaux.

Orientation du système de coordonnées

Si l’USD importé est Y vers le haut, une rotation sera automatiquement appliquée aux objets racine pour convertir à l’orientation Z vers le haut de Blender.

Options d’importation

Les options suivantes sont disponibles lors de l’importation depuis USD :

Cameras

Importer des caméras (perspective/orthographique).

Courbes

Importation de primitives de courbes, y compris les courbes de base de Bézier et les courbes NURBS. (Notez que le support de la base de Bézier n’est pas encore complètement implémenté).

Lights (lumières)

Importation de lumières. Ne comprend pas actuellement les lumières USD de type dôme, cylindre ou géométrie.

Materials

Importation de matériaux. Voir aussi l’option expérimentale Import USD Preview.

Maillages

Importation de maillages.

Volumes

Import USD OpenVDB field assets.

Path Mask

Importe uniquement le sous-ensemble de la scène USD enraciné dans la primitive donnée.

Scale

Valeur par laquelle redimensionner les objets importés par rapport à l’origine du monde.

UV Coordinates

Lire les coordonnées UV du maillage.

Vertex Colors

Convertir les valeurs displayColor du maillage USD en couleurs de sommet du maillage Blender.

Subdivision

Crée des modificateurs de subdivision de surface en fonction de l’attribut USD SubdivisionScheme.

Import Instance Proxies

Crée des objets Blender uniques pour les instances USD.

Visible Primitives Only

Ne pas importer de primitives USD invisibles. S’applique uniquement aux primitives avec un attribut de visibility non animé. Les primitives avec visibilité animée seront toujours importées.

Guide

Inclure des primitives avec un guide purpose.

Proxy

Inclure les primitives avec un objectif de proxy.

Render (Rendu)

Inclure des primitives avec un objectif render final.

Set Frame Range

Mettre à jour les trames de début et de fin de la scène pour qu’elles correspondent à celles de la scène USD.

Relative Path (chemin relatif)

Sélectionner le fichier relatif au fichier blend.

Create Collection

Ajouter tous les objets importés à une nouvelle collection.

Light Intensity Scale

Échelle pour l’intensité des lumières importées.

Experimental

Import USD Preview

Convertir les shaders USD Preview Surface en réseaux de shaders Principled BSDF.

Set Material Blend

Si l’option Import USD Preview est activée, la méthode blend de matériaux sera automatiquement définie en fonction des entrées de shader d”opacity et d”opacityThreshold, permettant la visualisation d’objets transparents.