Universal Scene Description#
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
Curves
Lights
Materials
Meshes
Primitive Shapes (Formes primitives)
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.
Note
Lors de l’importation d’une archive USDZ, il est important de considérer soigneusement l’option Import Textures pour déterminer si et comment copier des fichiers de texture à partir de l’archive zip.
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.
PointInstancer Primitives#
USD fournit un UsdGeomPointInstancer
de type primitif, contenant des instances dispersées sur les points d’une primitive.
Ceux-ci sont importés dans Blender sous forme de Point Clouds à l’aide d’un Modificateur Geometry Nodes et du Nœud Instance on Points.
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: 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 attributs de couleur 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 existantt peut être utilisé, en fonction de l’option Material Name Collision. 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.
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 :
Général#
- Path Mask
Importe uniquement le sous-ensemble de la scène USD enraciné dans la primitive donnée.
- Include
- Visible Primitives Only
N’importe pas les primitives USD invisibles. Ne s’applique qu’aux primitives avec un attribut de visibility non animé. Les primitives avec visibilité animée seront toujours importées.
- Defined Primitives Only
Si désactivé, cela permet d’importer des primitives USD qui ne sont pas définies, telles que celles avec un spécificateur de remplacement.
- 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.
- Create Collection
Ajouter tous les objets importés à une nouvelle collection.
- Relative Path
Sélectionner le fichier relatif au fichier blend.
- Scale
Valeur par laquelle redimensionner les objets importés par rapport à l’origine du monde.
- Light Intensity Scale
Échelle pour l’intensité des lumières importées.
- Custom Properties
Comportement lors de l’importation d’attributs USD en tant que propriétés personnalisées.
- None:
N’importe pas les attributs personnalisés USD.
- User:
Importe les attributs USD dans l’espace de noms
userProperties
en tant que propriétés personnalisées. L’espace de noms sera supprimé des noms de propriété.- All Custom:
Importe tous les attributs USD personnalisés en tant que propriétés personnalisées. Les espaces de noms seront conservés dans les noms de propriétés.
Types d’objets#
- 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
Importer des matériaux.
- Meshes
Importation de maillages.
- Volumes
Importe des champ d’assets OpenVDB USD.
- Point Clouds
Importe des
UsdGeomPoints
USD en tant qu’objet Point Cloud.- USD Shapes
Importe les formes primitives USD (cubes, sphères, cônes, ect) sous forme de maillages Blender.
- USD Purpose
- Render
Inclure des primitives avec purpose
render
.- Proxy
Inclure les primitives avec purpose
proxy
.- Guide
Inclure des primitives avec un purpose
guide
.
Géométrie#
- UV Coordinates
Lire les coordonnées UV du maillage.
- Color Attributes
Convertir les valeurs
displayColor
du maillage USD en attributs de couleur de Blender.- Mesh Attributes
Lire les
Primvars
USD en tant qu’attributs de maillage.- Subdivision
Crée des modificateurs Subdivision Surface en fonction de l’attribut USD
SubdivisionScheme
.- Validate Meshes
Vérifier le maillage importé pour les données corrompues et les corriger si nécessaire. Si désactivé, des données erronées peuvent provoquer des plantages lors de l’affichage ou de l’édition des maillages. Cette option ralentira l’importation mais est recommandée car les erreurs de données ne sont pas toujours évidentes.
Rigging#
- Shape Keys
Importe des formes blend USD en tant que Shape Keys.
- Armatures
Importe des squelettes USD en tant qu'Armatures de Blender.
Materials#
- Import All Materials
Importer également des matériaux qui ne sont utilisés par aucune géométrie. Notez que lorsque cette option est fausse, les matériaux référencés par la géométrie seront toujours importés.
- Import USD Preview
Convertir les shaders USD Preview Surface en réseaux de shaders Principled BSDF.
- Create World Material
Convertit le premier dôme USD découvert en un shader d’arrière-plan mondial.
- 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.
- 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.
Textures#
Lors de l’importation d’un package USDZ, les options suivantes spécifient si et comment les dépendances des assets de texture de l’USD doivent être copiées à partir de l’archive zip afin qu’elles puissent être chargées dans Blender.
- Import Textures
Comportement lors de l’importation de textures à partir d’une archive USDZ.
- None:
Ne pas importer de textures. Notez qu’avec cette option, les textures matérielles peuvent ne pas être résolues dans Blender.
- Packed:
Importer des textures sous forme de données compressées dans le fichier Blender.
- Copy:
Copier les fichiers dans le répertoire spécifié dans l’option Textures Directory.
- Textures Directory
Chemin vers le répertoire où les textures importées seront copiées, lorsque le mode Import Textures est Copy.
Notez que le répertoire de textures par défaut est le chemin relatif
//textures
, ce qui nécessite que le fichier Blender ait été enregistré avant l’importation, afin que le chemin relatif puisse être résolu.- File Name Collision
Comportement lorsque le nom d’un fichier de texture entre en conflit avec un fichier existant.
- Use Existing:
Si un fichier portant le même nom existe déjà, on l’utilise au lieu de le copier.
- Overwrite:
Écraser les fichiers existants.
Particules et instanciation#
- Scene Instancing
Importer les instances graphique de scène USD en tant qu’instances de collection, sinon elles sont importées en tant que copies.
Exporter vers 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 type Area).
Cheveux (Hair) (exportés sous forme de courbes et limités aux mèches parentales).
Volume (volumes statiques et animés).
Armatures
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.
Note
Pour exporter la scène Blender comme une archive USDZ, définissez l’extension du fichier de sortie sur .usdz
. Le package USDZ exporté sera une archive zip contenant l’USD et ses dépendances de fichiers de texture.
Options d’exportation#
Les options suivantes sont disponibles lors de l’exportation vers USD :
Général#
- Root Prim
Si défini, ajoute une primitive de transformation avec le chemin donné vers la scène en tant que parent de toutes les données exportées.
- Include
- 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.
- Blender Data
- Custom Properties
Exporte les propriétés personnalisées en tant qu’attributs USD. La propriété Namespace est utilisée pour déterminer l’espace de noms dans lequel les attributs sont écrits.
- Namespace
Si défini, ajoute l’espace de noms donné comme préfixe aux noms de propriétés personnalisées exportées. Cela s’applique uniquement aux noms de propriétés qui n’ont pas déjà de préfixe (par exemple, cela s’appliquerait au nom
bar
mais pas àfoo:bar
) et ne s’applique pas aux noms d’objets et de données Blender qui sont toujours exportés dans l’espace de nomuserProperties:blender
.Par défaut, l’espace de noms
userProperties
est utilisé.- Blender Names
Créateur d’attributs personnalisés USD contenant l’objet Blender d’origine et les noms de données d’objet.
- Allow Unicode
Préserve les caractères codés en UTF-8 lors de l’écriture des noms de propriétés et de valeurs USD (nécessite un logiciel utilisant USD 24,03 ou plus lors de l’ouverture des fichiers résultants).
- 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.
- Convert Orientation
Convertit l’axe d’orientation en une convention différente pour correspondre à d’autres applications. Blender utilise Y Forward, Z Up (puisque la vue de face regarde dans la direction +Y). Par exemple, il est courant que les applications utilisent Y comme axe vers le haut, dans ce cas -Z Forward, Y Up sont nécessairee.
- Forward / Up Axis
En les mappant sur différents axes, vous pouvez convertir les rotations entre les axes ascendants et avant par défaut des applications.
- Xform Ops
Le type d’opérateurs de transformation à utiliser pour transformer les prims.
- Translate, Rotate, Scale:
Exporte avec les opérateurs
Xform
de translation, de rotation et de mise à l’échelle.- Translate, Orient, Scale:
Exporte avec les opérateurs
Xform
de translation, d’orientation de quaternion et de mise à l’échelle.- Matrix:
Opérateur de matrice d’exportation.
- 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.
Types d’objets#
- Meshes
Exporte des objets de maillage.
- Lights
Exportation d'Objets Light. L’USD ne prend pas directement en charge les projecteurs, ceux-ci ne sont donc pas exportés.
- Cameras
Exporte les objets caméra. Seules les caméras en perspective sont exportées.
- Volumes
Exporte des Volume Objects
- Curves
Exporte des Curve Objects.
- Hair
Les mèches de cheveux parents sont exportées sous forme de système de courbes. Les couleurs des mèches de cheveux ne sont pas exportées.
Géométrie#
- UV Maps
Lorsque cette case est cochée, inclut les coordonnées UV des maillages exportés. Le nom de la carte UV en USD est le même que celui dans Blender.
- Rename UV Maps
Exporte les cartes UV en utilisant le nom USD par défaut (
st
) par opposition au nom par défaut de Blender (UVMap
).- Normals
Lorsque la case est cochée, inclut les normales des maillages exportés. Cela inclut les normales des boucles personnalisées.
- Triangulate
Triangule le maillage avant d’écrire. Pour plus de détails sur l’option spécifique, voir le Modificateur Triangulate.
Rigging#
- Shape Keys
Exporter les clés de forme comme blend formes USD.
Les clés de forme absolues ne sont pas prises en charge.
- Armatures
Exporter des Armatures et des maillages avec des Modificateurs d’armature sous forme de squelettes USD et de maillages skinnés (dépouillés).
Limitations :
Les modificateurs en plus des modificateurs d’armature ne seront pas appliqués.
Les os flexibles (bendy) ne sont pas pris en charge.
- Only Deform Bones
Exporter uniquement les os déformés et leurs parents.
Materials#
Exporte les informations matérielles de l’objet. Par défaut, l’exportateur se rapproche de l’arbre de nœuds Principled BSDF en le convertissant au format Preview Surface d’USD.
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.
Note
Si USD Preview Surface Network et MaterialX Network sont désactivés, le matériau est défini sur les matériaux de fenêtre des maillages.
- USD Preview Surface Network
Se rapproche d’une arborescence de nœuds Principled BSDF en la convertissant au format Preview Surface de l’USD.
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.
- MaterialX Network
Génère des graphiques d’ombrage de matériaux à l’aide de la norme MaterialX. Cette norme est conçue pour prendre en charge un degré élevé d’interopérabilité entre les DCCs <Digital Content Creation>. Dans Blender, MaterialX prend en charge la plupart des nœuds shader et leurs fonctionnalités, mais comporte quelques mises en garde (voir ci-dessous).
Mises en garde concernant la mise en œuvre
Lorsque vous utilisez Principled BSDF, le graphique résultant est très utilisable. Cependant, lors de l’utilisation de certains autres BSDF, certains des graphiques d’ombrage générés sont difficiles à comprendre pour les autres DCC.
- Convert World Material
Convertit le matériau du monde en un dôme USD. Fonctionne actuellement pour des matériaux simples, constitués d’une texture d’environnement connectée à un shader d’arrière-plan, avec une multiplication vectorielle facultative de la couleur de la texture.
- 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.
- USDZ Texture Downsampling
Choisir une taille maximale pour toutes les textures exportées.
- Keep:
Conserve toutes les tailles de texture actuelles.
- 256:
Redimensionner jusqu’à un maximum de 256 pixels.
- 512:
Redimensionnr jusqu’à un maximum de 512 pixels.
- 1024:
Redimensionner jusqu’à un maximum de 1024 pixels.
- 2048:
Redimensionner jusqu’à un maximum de 2048 pixels.
- 4096:
Redimensionner jusqu’à un maximum de 4096 pixels.
- Custom:
Spécifie une taille personnalisée.
- USDZ Custom Downscale Size
La taille en pixels du sous-échantillonnage Custom (personnalisé).
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.
- Materials
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.
- USDZ
En raison d’une limitation actuelle de la bibliothèque USD, les textures UDIM ne peuvent pas être incluses dans l’archive USDZ. Cette limitation sera probablement résolue dans une future version d’USD. (Voir la demande d’extraction en USD #2133.)