Estes exemplos demonstram alguns conceitos-chave para escrever conversores OpenUSD. Os exemplos usam o OpenUSD e o OpenUSD Exchange SDK (docs, github) para demonstrar como criar USD consistente e correto:
Asset Validator
createStage
createCameras
createLights
createMaterials
createMesh
createReferences
createSkeleton
createTransforms
setDisplayNames
Este projeto requer "make" e "g++".
Abra um terminal.
Para obter "make" digite sudo apt install make
(Ubuntu/Debian) ou yum install make
(CentOS/RHEL).
Para "g++" digite sudo apt install g++
(Ubuntu/Debian) ou yum install gcc-c++
(CentOS/RHEL).
Use o script de construção fornecido para baixar todas as outras dependências (por exemplo, USD), criar os Makefiles e compilar o código.
./repo.sh compilação
Use o script run.sh
(por exemplo, ./run.sh createStage
) para executar cada programa com um ambiente pré-configurado.
Dica: Se você preferir gerenciar o ambiente sozinho, adicione
<samplesRoot>/_build/linux64-x86_64/release
ao seuLD_LIBRARY_PATH
.
Para ajuda com argumentos de linha de comando, use --help
./run.sh createStage --help
Use o script python.sh
(por exemplo, ./python.sh source/createStage/createStage.py
) para executar cada programa com um ambiente pré-configurado.
Para ajuda com argumentos de linha de comando, use --help
./python.sh source/createStage/createStage.py --help
Este projeto requer o Microsoft Visual Studio 2019 ou mais recente. Baixe e instale o Visual Studio com C++.
Use o script de construção fornecido para baixar todas as dependências (por exemplo, USD), criar os projetos e compilar o código.
.repo.bat compilação
Use o script run.bat
(por exemplo .run.bat createStage
) para executar cada programa com um ambiente pré-configurado.
Para ajuda com argumentos de linha de comando, use --help
.run.bat createStage --help
Use o script python.bat
(por exemplo .python.bat sourcecreateStagecreateStage.py
) para executar cada programa com um ambiente pré-configurado.
Para ajuda com argumentos de linha de comando, use --help
.python.bat fontecreateStagecreateStage.py --help
Para compilar no VS IDE, abra a solução encontrada na pasta _compiler
no Visual Studio. O código C++ de amostra pode então ser ajustado, depurado, reconstruído, etc.
Observação: se o usuário instalar os exemplos do OpenUSD Exchange na pasta
%LOCALAPPDATA%
, o Visual Studio não será "construído" corretamente quando as alterações forem feitas porque há algo errado ao coletar as alterações de origem. Faça uma destas coisas para resolver o problema:
Rebuild
o projeto com cada alteração na origem, em vez deBuild
Copie a pasta OpenUSD Exchange Samples para outra pasta fora de
%LOCALAPPDATA%
Faça uma junção para uma pasta fora de %LOCALAPPDATA% e abra a solução a partir daí:
mklink /JC:usd-exchange-samples %LOCALAPPDATA%cloned-reposusd-exchange-samples
O repositório Samples usa o Repo Tools Framework ( repo_man
) para configurar dependências de premake, packman, construção e tempo de execução, testes, formatação e outras ferramentas. Packman é usado como gerenciador de dependências para pacotes como OpenUSD, Omniverse Asset Validator, OpenUSD Exchange SDK e outros itens. As amostras usam as ferramentas repo_man, premake e packman do OpenUSD Exchange SDK como modelos para incluir e vincular ao OpenUSD, ao OpenUSD Exchange SDK e outras dependências. Eles podem servir como exemplo para a configuração de compilação e tempo de execução que o aplicativo de um cliente pode exigir. Aqui está uma lista de arquivos interessantes:
premake5.lua – o arquivo de configuração de compilação para as amostras
prebuild.toml - consumido pelas ferramentas de compilação do repositório para especificar onde as dependências de tempo de execução devem ser copiadas (além do que repo install_usdex
já instala)
_build/target-deps/usd-exchange/release/dev/tools/premake/usdex_build.lua
- o arquivo de modelo de configuração de construção pré-fabricada do OpenUSD Exchange SDK para incluir USD, o próprio OpenUSD Exchange SDK e outras bibliotecas.
este arquivo não está disponível até que as dependências sejam buscadas
Para obter detalhes sobre como escolher e instalar os tipos, recursos ou versões de compilação do OpenUSD Exchange SDK, consulte a documentação da ferramenta install_usdex.
Consulte a documentação de primeiros passos do OpenUSD Exchange SDK para obter instruções sobre como usar o OpenUSD Exchange SDK e o OpenUSD em seu aplicativo.
Os exemplos listados concentram-se nestes conceitos-chave:
AbrirUSD
Câmeras em dólares americanos
Nomes de exibição em USD
Luzes em USD
Materiais em USD
Malhas em USD
Nomes primários em USD
Primários em USD
Estágios em USD
Formulários X em USD
As amostras devem ser executadas sequencialmente e criarão o estágio USD originalmente criado na amostra createStage
. O também pode ser executado de forma independente e abrirá ou criará um estágio dependendo de ele existir. Para executar todas as amostras sequencialmente com um comando, digite isto na linha de comando após a construção:
Linux: ./repo.sh test -f testRunAll -e keep Windows: .repo.bat test -f testRunAll -e keep
Isso exibirá a localização dos estágios gerados em C++ e Python após todas as amostras terem sido executadas sequencialmente.
Se os scripts dos exemplos falharem devido a problemas de certificados autoassinados, uma possível solução alternativa seria fazer o seguinte:
Instale python-certifi-win32 que permite que o armazenamento de certificados do Windows seja usado para solicitações TLS/SSL:
ferramentaspackmanpython.bat -m pip install python-certifi-win32 --trusted-host pypi.org --trusted-host files.pythonhosted.org
Primeiro pesquise os problemas existentes do GitHub e as discussões do OpenUSD Exchange SDK para ver se alguém relatou algo semelhante.
Caso contrário, crie um novo problema no GitHub ou tópico de fórum explicando seu bug ou solicitação de recurso.
Para bugs, forneça etapas claras para reproduzir o problema, incluindo exemplos de dados de falha, conforme necessário.
Para recursos, forneça histórias de usuários e detalhes pessoais (ou seja, quem ajuda esse recurso e como ele os ajuda).
Seja adicionando detalhes a um problema existente ou criando um novo, informe-nos quais empresas foram afetadas.
A licença para as amostras está localizada em LICENSE.md.
Os avisos de licença de terceiros para dependências usadas pelas amostras estão localizados nos Avisos de Licença do OpenUSD Exchange SDK.
OpenUSD Docs - Criando seu primeiro estágio em USD
Documentos da API OpenUSD
Documentos do usuário OpenUSD
Recursos e aprendizagem NVIDIA OpenUSD
Amostras de código OpenUSD
Documentos NVIDIA OpenUSD
Documentos do SDK do NVIDIA OpenUSD Exchange