Este repositório é uma coleção de projetos simples de USD. Cada projeto mostra um único recurso ou grupo de recursos do USD.
Este repositório está dividido em seis categorias
Os recursos destacam uma única classe ou conjunto de funções para trabalhar em USD.
Os conceitos pegam os recursos explicados em Recursos e os estendem para exemplos do mundo real.
Truques são ideias simples e isoladas usando recursos do USD.
Os plug-ins mostram como personalizar o USD para se adequar ao seu pipeline.
Ferramentas são scripts diversos criados para realizar uma tarefa específica, com USD.
As referências são páginas úteis para encontrar mais informações sobre o USD e como interagir com ele em seus projetos.
Cada projeto neste repositório mostrará como trabalhar em Python, C++ e USDA sempre que possível.
Se uma pasta conceitual está tentando exibir um recurso do USD, mas requer muito código, o arquivo README.md de nível superior está lá para resumir as partes importantes. Também pode consultar outros recursos sobre onde ler mais.
Por último, os arquivos de código-fonte podem conter explicações sobre o que é mostrado. Cada uma dessas linhas está marcada com XXX
.
A menos que um projeto C++ tenha instruções específicas, cada projeto é compilado e executado usando os seguintes comandos:
cd {some_concept_cpp_folder}/build
USD_INSTALL_ROOT=/wherever/you/installed/USD/to cmake ..
make
./run_it
USD_INSTALL_ROOT
normalmente tem como padrão /usr/local/USD
no Linux, mas sua localização pode variar. Consulte a documentação de construção do USD para obter detalhes.
Módulos Python sempre podem ser executados usando python name_of_module.py
Aqui estão links de uma ordem de visualização recomendada para cada projeto neste repositório.
Adicionando comentários a arquivos USD
SetKind em UsdPrim
é especializado em arco de composição
Usando Prim AssetInfo
Definindo userProperties personalizáveis
Editar metas
Cache de resolução de valor
Calculando caixas delimitadoras, usando UsdGeomImageable e UsdGeomBBoxCache
Exemplo especializado da Pixar
Usando "finalidades" em objetos UsdPrim
UsdResolveInfo - Descobrir de onde vêm as opiniões
Ative mensagens de depuração e escreva as suas próprias
Perfil dos estágios do USD
Como usar clipes de valor
Configurando atributos que variam no tempo com Sdf
SdfChangeBlock - Autoria eficiente em USD
SdfBatchNamespaceEdit e SdfNamespaceEdit - Autoria eficiente em USD
UsdStageCache - cache de estágios USD
TfNotice – Executa funções quando um estágio muda, usando retornos de chamada
TfNotice - Envie seus próprios retornos de chamada personalizados
Hierarquias de modelos válidas
Compreendendo os VariantSets
Substituindo VariantSets
Como unificar um UsdPrim instanciado
UsdRelacionamento Encaminhamento
Usando VariantSets em um cenário de produção
Um exemplo prático do arco de composição “especializado”
O arco de composição "especializado" como mecanismo de reserva
Faça referência a um Prim no SdfLayer atual
Como encontrar overs "órfãos"
Uma malha com um material
Arcos de composição de ativos – como subcamadas, referências e cargas funcionam juntas
Imprimindo e modificando prims usando C++ STL
Travessias personalizadas com impulso
Atravessando prims instanciados
Seleções automáticas de variantes - Usando VariantSets para modificar outros VariantSets
Copie opiniões de um VariantSet para outro Prim
Encontre a origem de um atributo
Encontre o material vinculado de um Prim (inclui API de coleções)
Exportação em 2 etapas - Exportação em USD é 100x mais rápida
Achatar uma pilha de camadas USD
Use camadas mais fracas para modificar camadas mais fortes
Cargas múltiplas - Sim, você pode ter mais de uma
Obtendo Prims através de VariantSets
usdview_auto_reloader – Atualizar camadas no usdview automaticamente
usdview_root_loader - Carregar/descarregar recursivamente cargas úteis do Prim
usdview_purpose_swap - Alterne entre finalidades de proxy e renderização com um único botão
usdview_copy_camera - Faça um prim em usdview para representar a visualização atual
Seleções substitutas de VariantSet
Políticas de exportação de seleção de VariantSet
Adicionando metadados personalizados
Esquemas USD personalizados
Um plugin ArResolver personalizado
usd_searcher – Uma ferramenta de linha de comando para pesquisar arquivos USD
Exportando UsdSkel do zero
extensõesHint e caixas delimitadoras
Vincule a documentação do Python à documentação do USD
Compreendendo o USDView
A planilha mestre do plugin compatível com USD
Onde encontrar mais recursos
Há também o deck Anki para este repositório, que você pode baixar clicando aqui
Consulte esta página wiki para obter uma lista de tópicos planejados que serão adicionados no futuro.
Este repositório é um WIP constante. Se houver algo sobre o qual você gostaria de ver escrito, sugira-o como um problema para que eu/outros possam pegá-lo e trabalhar nele. Além disso, se você tiver algo com o qual gostaria de contribuir, faça um PR. Inscrições são bem-vindas!
Mas observe: este repositório pode não mostrar a melhor maneira de fazer as coisas em dólares americanos. É apenas uma coleção de (minhas) descobertas pessoais. Além disso, à medida que a Pixar lança novos lançamentos e recursos de aprendizagem em dólares americanos, essas informações podem ficar desatualizadas. Sempre prefira guias e documentação primária a qualquer coisa que você veja aqui.
Testado com: