Ces exemples démontrent quelques concepts clés pour l'écriture de convertisseurs OpenUSD. Les exemples utilisent OpenUSD et le SDK OpenUSD Exchange (docs, github) pour montrer comment créer des USD cohérents et corrects :
Asset Validator
createStage
createCameras
createLights
createMaterials
createMesh
createReferences
createSkeleton
createTransforms
setDisplayNames
Ce projet nécessite "make" et "g++".
Ouvrez un terminal.
Pour obtenir "make", tapez sudo apt install make
(Ubuntu/Debian) ou yum install make
(CentOS/RHEL).
Pour "g++", tapez sudo apt install g++
(Ubuntu/Debian) ou yum install gcc-c++
(CentOS/RHEL).
Utilisez le script de construction fourni pour télécharger toutes les autres dépendances (par exemple USD), créer les Makefiles et compiler le code.
./repo.sh construire
Utilisez le script run.sh
(par exemple ./run.sh createStage
) pour exécuter chaque programme avec un environnement préconfiguré.
Astuce : Si vous préférez gérer l'environnement vous-même, ajoutez
<samplesRoot>/_build/linux64-x86_64/release
à votreLD_LIBRARY_PATH
.
Pour obtenir de l'aide sur les arguments de ligne de commande, utilisez --help
./run.sh createStage --help
Utilisez le script python.sh
(par exemple ./python.sh source/createStage/createStage.py
) pour exécuter chaque programme avec un environnement préconfiguré.
Pour obtenir de l'aide sur les arguments de ligne de commande, utilisez --help
./python.sh source/createStage/createStage.py --help
Ce projet nécessite Microsoft Visual Studio 2019 ou une version ultérieure. Téléchargez et installez Visual Studio avec C++.
Utilisez le script de construction fourni pour télécharger toutes les dépendances (par exemple USD), créer les projets et compiler le code.
.repo.bat build
Utilisez le script run.bat
(par exemple .run.bat createStage
) pour exécuter chaque programme avec un environnement préconfiguré.
Pour obtenir de l'aide sur les arguments de ligne de commande, utilisez --help
.run.bat createStage --help
Utilisez le script python.bat
(par exemple .python.bat sourcecreateStagecreateStage.py
) pour exécuter chaque programme avec un environnement préconfiguré.
Pour obtenir de l'aide sur les arguments de ligne de commande, utilisez --help
.python.bat sourcecreateStagecreateStage.py --help
Pour créer dans VS IDE, ouvrez la solution trouvée dans le dossier _compiler
dans Visual Studio. L'exemple de code C++ peut ensuite être modifié, débogué, reconstruit, etc. à partir de là.
Remarque : Si l'utilisateur installe les exemples OpenUSD Exchange dans le dossier
%LOCALAPPDATA%
, Visual Studio ne "construira" pas correctement lorsque des modifications sont apportées, car il y a un problème avec la récupération des modifications source. Effectuez l'une des opérations suivantes pour résoudre le problème :
Rebuild
le projet à chaque changement de source plutôt queBuild
Copiez le dossier OpenUSD Exchange Samples dans un autre dossier en dehors de
%LOCALAPPDATA%
Faites une jonction vers un dossier en dehors de %LOCALAPPDATA% et ouvrez la solution à partir de là :
mklink /JC:usd-exchange-samples %LOCALAPPDATA%cloned-reposusd-exchange-samples
Le référentiel Samples utilise le Repo Tools Framework ( repo_man
) pour configurer les dépendances de premake, packman, build et runtime, les tests, le formatage et d'autres outils. Packman est utilisé comme gestionnaire de dépendances pour des packages tels que OpenUSD, Omniverse Asset Validator, le SDK OpenUSD Exchange et d'autres éléments. Les exemples utilisent les outils repo_man, premake et packman du SDK OpenUSD Exchange comme modèles pour inclure et lier OpenUSD, le SDK OpenUSD Exchange et d'autres dépendances. Ceux-ci peuvent servir d'exemple pour la configuration de build et d'exécution dont l'application d'un client peut avoir besoin. Voici une liste de fichiers intéressants :
premake5.lua - le fichier de configuration de build pour les exemples
prebuild.toml - consommé par les outils de construction du dépôt pour spécifier où les dépendances d'exécution doivent être copiées (au-delà du repo install_usdex
déjà installé)
_build/target-deps/usd-exchange/release/dev/tools/premake/usdex_build.lua
- le fichier de modèle de configuration de construction préalable du SDK OpenUSD Exchange pour inclure l'USD, le SDK OpenUSD Exchange lui-même et d'autres bibliothèques.
ce fichier n'est pas disponible tant que les dépendances n'ont pas été récupérées
Pour plus de détails sur le choix et l'installation des versions, fonctionnalités ou versions du SDK OpenUSD Exchange, consultez la documentation de l'outil install_usdex.
Consultez la documentation de mise en route du SDK OpenUSD Exchange pour une présentation pas à pas de la façon d'utiliser le SDK OpenUSD Exchange et OpenUSD dans votre application.
Les exemples répertoriés se concentrent sur ces concepts clés :
OuvrirUSD
Caméras USD
Noms d’affichage USD
Lumières USD
Matériaux en USD
Maillages USD
Noms principaux en USD
Primvars USD
Étapes en USD
USD Xforms
Les exemples sont destinés à être exécutés séquentiellement et constitueront l'étape USD initialement créée dans l'exemple createStage
. Le peut également être exécuté indépendamment et ouvrira ou créera une étape selon qu'elle existe ou non. Pour exécuter tous les exemples séquentiellement avec une seule commande, tapez ceci dans la ligne de commande après la construction :
Linux: ./repo.sh test -f testRunAll -e keep Windows: .repo.bat test -f testRunAll -e keep
Cela affichera l'emplacement des étapes générées par C++ et Python une fois que tous les exemples auront été exécutés séquentiellement.
Si les scripts des exemples échouent en raison de problèmes de certificat auto-signé, une solution possible serait de procéder comme suit :
Installez python-certifi-win32 qui permet d'utiliser le magasin de certificats Windows pour les requêtes TLS/SSL :
toolspackmanpython.bat -m pip install python-certifi-win32 --trusted-host pypi.org --trusted-host files.pythonhosted.org
Recherchez d'abord les problèmes GitHub existants et les discussions sur le SDK OpenUSD Exchange pour voir si quelqu'un a signalé quelque chose de similaire.
Sinon, créez un nouveau problème GitHub ou un sujet de forum expliquant votre bug ou demande de fonctionnalité.
Pour les bogues, veuillez fournir des étapes claires pour reproduire le problème, y compris des exemples de données d'échec si nécessaire.
Pour les fonctionnalités, veuillez fournir des témoignages d'utilisateurs et des détails sur votre personnalité (c'est-à-dire qui cette fonctionnalité aide-t-elle et comment elle les aide-t-elle).
Qu'il s'agisse d'ajouter des détails à un problème existant ou d'en créer un nouveau, veuillez nous indiquer les entreprises concernées.
La licence pour les exemples se trouve dans LICENSE.md.
Les avis de licence tiers pour les dépendances utilisées par les exemples se trouvent dans les avis de licence du SDK OpenUSD Exchange.
OpenUSD Docs - Création de votre première étape USD
Documentation sur l'API OpenUSD
Documents utilisateur OpenUSD
Ressources et apprentissage NVIDIA OpenUSD
Exemples de code OpenUSD
Documents NVIDIA OpenUSD
Documentation du SDK NVIDIA OpenUSD Exchange