Estos ejemplos demuestran algunos conceptos clave para escribir convertidores OpenUSD. Los ejemplos utilizan OpenUSD y OpenUSD Exchange SDK (docs, github) para demostrar cómo crear USD consistentes y correctos:
Asset Validator
createStage
createCameras
createLights
createMaterials
createMesh
createReferences
createSkeleton
createTransforms
setDisplayNames
Este proyecto requiere "make" y "g++".
Abra una terminal.
Para obtener "make", escriba sudo apt install make
(Ubuntu/Debian) o yum install make
(CentOS/RHEL).
Para "g++", escriba sudo apt install g++
(Ubuntu/Debian) o yum install gcc-c++
(CentOS/RHEL).
Utilice el script de compilación proporcionado para descargar todas las demás dependencias (por ejemplo, USD), crear los Makefiles y compilar el código.
./repo.sh compilación
Utilice el script run.sh
(por ejemplo, ./run.sh createStage
) para ejecutar cada programa con un entorno preconfigurado.
Consejo: si prefiere administrar el entorno usted mismo, agregue
<samplesRoot>/_build/linux64-x86_64/release
a suLD_LIBRARY_PATH
.
Para obtener ayuda con los argumentos de la línea de comando, use --help
./run.sh createStage --ayuda
Utilice el script python.sh
(por ejemplo, ./python.sh source/createStage/createStage.py
) para ejecutar cada programa con un entorno preconfigurado.
Para obtener ayuda con los argumentos de la línea de comando, use --help
./python.sh fuente/createStage/createStage.py --ayuda
Este proyecto requiere Microsoft Visual Studio 2019 o posterior. Descargue e instale Visual Studio con C++.
Utilice el script de compilación proporcionado para descargar todas las dependencias (por ejemplo, USD), crear los proyectos y compilar el código.
.repo.bat compilación
Utilice el script run.bat
(por ejemplo .run.bat createStage
) para ejecutar cada programa con un entorno preconfigurado.
Para obtener ayuda con los argumentos de la línea de comando, use --help
.run.bat createStage --ayuda
Utilice el script python.bat
(por ejemplo .python.bat sourcecreateStagecreateStage.py
) para ejecutar cada programa con un entorno preconfigurado.
Para obtener ayuda con los argumentos de la línea de comando, use --help
.python.bat fuentecreateStagecreateStage.py --ayuda
Para compilar dentro de VS IDE, abra la solución que se encuentra en la carpeta _compiler
en Visual Studio. El código C++ de muestra se puede modificar, depurar, reconstruir, etc. desde allí.
Nota: Si el usuario instala los ejemplos de OpenUSD Exchange en la carpeta
%LOCALAPPDATA%
, Visual Studio no "compilará" correctamente cuando se realicen cambios porque hay algún problema al seleccionar los cambios de origen. Haga una de estas cosas para solucionar el problema:
Rebuild
el proyecto con cada cambio de fuente en lugar deBuild
Copie la carpeta OpenUSD Exchange Samples en otra carpeta fuera de
%LOCALAPPDATA%
Haga una unión con una carpeta fuera de %LOCALAPPDATA% y abra la solución desde allí:
mklink /JC:usd-exchange-samples %LOCALAPPDATA%cloned-reposusd-exchange-samples
El repositorio de muestras utiliza Repo Tools Framework ( repo_man
) para configurar dependencias de premake, packman, compilación y tiempo de ejecución, pruebas, formateo y otras herramientas. Packman se utiliza como administrador de dependencias para paquetes como OpenUSD, Omniverse Asset Validator, OpenUSD Exchange SDK y otros elementos. Los ejemplos utilizan las herramientas repo_man, premake y packman del SDK de OpenUSD Exchange como plantillas para incluir y vincular OpenUSD, el SDK de OpenUSD Exchange y otras dependencias. Estos pueden servir como ejemplo para la configuración de compilación y tiempo de ejecución que podría requerir la aplicación de un cliente. Aquí hay una lista de archivos interesantes:
premake5.lua: el archivo de configuración de compilación para los ejemplos
prebuild.toml: consumido por las herramientas de compilación del repositorio para especificar dónde se deben copiar las dependencias del tiempo de ejecución (más allá de lo que ya está instalado repo install_usdex
)
_build/target-deps/usd-exchange/release/dev/tools/premake/usdex_build.lua
: el archivo de plantilla de configuración de compilación previa al SDK de OpenUSD Exchange para incluir USD, el propio SDK de OpenUSD Exchange y otras bibliotecas.
este archivo no está disponible hasta que se obtengan las dependencias
Para obtener detalles sobre cómo elegir e instalar los tipos, características o versiones de compilación del SDK de OpenUSD Exchange, consulte la documentación de la herramienta install_usdex.
Consulte los documentos de introducción al SDK de OpenUSD Exchange para obtener un tutorial sobre cómo utilizar el SDK de OpenUSD Exchange y OpenUSD en su aplicación.
Los ejemplos enumerados se centran en estos conceptos clave:
AbiertoUSD
Cámaras USD
Nombres para mostrar en USD
Luces USD
Materiales en USD
Mallas USD
Nombres primarios en USD
Primvares USD
Etapas del USD
Formas X en USD
Los ejemplos están pensados para ejecutarse secuencialmente y construirán la etapa USD que se creó originalmente en el ejemplo createStage
. También se puede ejecutar de forma independiente y abrirá o creará un escenario dependiendo de si existe. Para ejecutar todos los ejemplos secuencialmente con un comando, escriba esto en la línea de comando después de compilar:
Linux: ./repo.sh test -f testRunAll -e keep Windows: .repo.bat test -f testRunAll -e keep
Esto generará la ubicación de las etapas generadas en C++ y Python después de que todas las muestras se hayan ejecutado secuencialmente.
Si los scripts de los ejemplos fallan debido a problemas con los certificados autofirmados, una posible solución sería hacer lo siguiente:
Instale python-certifi-win32, que permite utilizar el almacén de certificados de Windows para solicitudes TLS/SSL:
herramientaspackmanpython.bat -m pip install python-certifi-win32 --trusted-host pypi.org --trusted-host files.pythonhosted.org
Primero busque los problemas de GitHub existentes y las discusiones sobre el SDK de OpenUSD Exchange para ver si alguien ha informado algo similar.
De lo contrario, cree un nuevo problema de GitHub o un tema en el foro que explique su error o solicitud de función.
En caso de errores, proporcione pasos claros para reproducir el problema, incluidos ejemplos de datos de falla según sea necesario.
Para las funciones, proporcione historias de usuarios y detalles personales (es decir, a quién ayuda esta función y cómo les ayuda).
Ya sea agregando detalles a un problema existente o creando uno nuevo, háganos saber qué empresas se ven afectadas.
La licencia para las muestras se encuentra en LICENSE.md.
Los avisos de licencia de terceros para las dependencias utilizadas en los ejemplos se encuentran en los Avisos de licencia del SDK de OpenUSD Exchange.
OpenUSD Docs: creación de su primera etapa USD
Documentos API de OpenUSD
Documentos de usuario de OpenUSD
Recursos y aprendizaje de NVIDIA OpenUSD
Ejemplos de código OpenUSD
Documentos de NVIDIA OpenUSD
Documentos del SDK de intercambio de NVIDIA OpenUSD