Universal Scene Description
Exporter vers des fichiers USD
Universal Scene Description (USD) files can contain complex layering, overriding, and references to other files. Blender’s USD Exporter takes a much simpler approach. When exporting, all visible, supported objects in the scene are exported, optionally limited by their selection state. Blender does not (yet) support exporting invisible objects, USD layers, variants, skeletal animation, 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 type Area).
Cheveux (Hair) (exportés sous forme de courbes et limités aux mèches parentales).
Volume (volumes statiques et animés).
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.
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
When checked, parent hair strands are exported as a curve system. Hair strand colors are not exported.
- UV Maps
When checked, includes UV coordinates for exported meshes. The name of the UV map in USD is the same as the name in Blender. In USD the default name is
st
whereas in Blender the default name isUVMap
. To export to the standard UV map namest
, rename the UV map in Blender tost
.- Normals
Lorsque la case est cochée, inclut les normales des maillages exportés. Cela inclut les normales des boucles personnalisées.
- Materials
Exports material information of the object. By default the exporter approximates the Principled BSDF node tree by converting it to USD’s Preview Surface format. If To USD Preview Surface is disabled, the material is set to the viewport materials of meshes.
Additional material properties are set in the Material grouping of options.
Lorsqu’un maillage a plusieurs matériaux affectés, un sous-ensemble de géométrie est créé pour chaque matériau. Le premier matériau (le cas échéant) est également toujours appliqué au maillage lui-même (indépendamment de l’existence de sous-ensembles de géométrie), car la fenêtre Hydra ne prend pas en charge les matériaux sur les 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.
Materials
Additional options when Materials are enabled for export.
- To USD Preview Surface
When exporting materials, approximate a Principled BSDF node tree to by converting it to USD’s Preview Surface format. If disabled, the material is set to the viewport materials of meshes.
Avertissement
Tous les nœuds ne sont pas pris en charge ; actuellement, seuls les nœuds Diffuse, Principle, Image Textures et UVMap sont pris en charge.
- Export Textures
Exporter les textures référencées par les shaders nodes dans un dossier “textures” qui se trouve dans le même répertoire que le fichier USD.
- Overwrite Textures
Autoriser l’écrasement des fichiers de texture existants lors de l’exportation de textures.
Références des fichiers
- Relative Paths
Utiliser des chemins relatifs pour référencer des fichiers externes (c’est-à-dire des textures, des volumes) dans le fichier USD exporté, sinon utilisation des chemins absolus.
Experimental
- Instancing
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
- Single-sided and Double-sided Meshes
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.
- Mesh Normals
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.
- Vertex Velocities
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.
- Coordinate System Orientation
Blender uses the Z axis as up axis. Since USD supports both Y up and Z up, the USD files written by Blender always use Z up.
- Materials
Very simple versions of the materials are exported, using only the Affichage de la fenêtre color, metallic, and roughness.
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
Seules les caméras en perspective sont exportées.
- Lights
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.
- Instancing/Referencing
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
USD files typically represent the scene as a hierarchy of primitives, or prims. Individual prims contain data to describe scene entities, such as geometry, lights, cameras and transform hierarchies. Blender’s USD importer converts USD prims to a hierarchy of Blender objects. Like the USD exporter, the importer does not yet handle more advanced USD concepts, such as layers and references.
Les types de données USD suivants peuvent être importés en tant qu’objets Blender :
Cameras
Curves
Lights
Materials
Meshes
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 :
Animating transforms: 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é.
Animating geometry: Animating mesh and curve geometry is supported by adding a Mesh Sequence Cache modifier to the imported data. Geometry attribute (USD Primvar) animation is currently supported only for Color Attributes and UVs. Note that USD file sequences (i.e. a unique file per frame) are not yet supported.
Materials
If a USD mesh or geometry subset has a bound material, the importer will assign to the Blender object a material with the same name as the USD material. If a Blender material with the same name already exists in the scene, the existing material will be assigned. Otherwise, a new material will be created.
If the USD material has a USD Preview Surface shader source, the Affichage de la fenêtre color, metallic, and roughness are set to the corresponding USD Preview Surface input values.
There is also an experimental Import USD Preview option to convert USD Preview Surface shaders to Blender Principled BSDF shader nodes. This option can be lossy, as it does not yet handle converting all shader settings and types, but it can generate approximate visualizations of the materials.
Coordinate System Orientation
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.
Import Options
Les options suivantes sont disponibles lors de l’importation depuis USD :
- Cameras
Importer des caméras (perspective/orthographique).
- Curves
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
Importation de lumières. Ne comprend pas actuellement les lumières USD de type dôme, cylindre ou géométrie.
- Materials
Import materials. See also the experimental Import USD Preview option.
- Meshes
Importation de maillages.
- Volumes
Importe des champ d’assets OpenVDB USD.
- 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.
- Color Attributes
Convertir les valeurs
displayColor
du maillage USD en attributs de couleur de Blender.- Subdivision
Crée des modificateurs Subdivision Surface en fonction de l’attribut USD
SubdivisionScheme
.- Import Instance Proxies
Create unique Blender objects for USD instances.
- Visible Primitives Only
Do not import invisible USD primitives. Only applies to primitives with a non-animated visibility attribute. Primitives with animated visibility will always be imported.
- Guide
Include primitives with purpose
guide
.- Proxy
Inclure les primitives avec purpose
proxy
.- Render
Inclure des primitives avec purpose
render
.- 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
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.
- Material Name Collision
Comportement lorsque le nom d’un matériau importé entre en conflit avec un matériau existant.
- Make Unique
Importe chaque matériau USD en tant que matériau Blender unique.
- Reference Existing
Si un matériau portant le même nom existe déjà, on le référence au lieu de l’importer.
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
opacity
etopacityThreshold
, permettant la visualisation d’objets transparents.