Universal Scene Description (USD)

Universal Scene Description (USD) é uma ferramenta de software disponível publicamente que aborda a necessidade de intercâmbio e aprimoramento robusto e escalonável de cenas 3D compostas por vários elementos. Nos processos de produção de filmes e jogos que envolvem gráficos computacionais, são gerados, armazenados e transmitidos grandes volumes de dados 3D, denominados "descrição de cena". Cada aplicativo envolvido no processo (modelagem, sombreamento, animação, iluminação, efeitos visuais, renderização) normalmente possui sua própria forma específica de descrição de cena, adaptada às necessidades e fluxos de trabalho do aplicativo, tornando-a ilegível e não editável por outros aplicativos. O USD resolve esse problema fornecendo um meio para intercambiar e aprimorar cenas 3D arbitrariamente compostas a partir de diversos ativos elementares.


O USD permite o intercâmbio de ativos elementares, como modelos ou animações. No entanto, diferentemente de outros pacotes de intercâmbio, o USD também permite a montagem e organização de qualquer número de ativos em conjuntos virtuais, cenas, planos e mundos, transmitindo-os de um aplicativo para outro e editando-os de forma não destrutiva (como sobreposições), tudo isso por meio de uma API única e consistente, em uma única estrutura de cena. O USD oferece um conjunto abrangente de ferramentas para leitura, escrita, edição e pré-visualização rápida de geometria 3D, sombreamento, iluminação, física e diversos outros domínios relacionados à computação gráfica. Além disso, como a estrutura de cena principal do USD e seu mecanismo de composição são independentes de qualquer domínio específico, é possível estendê-lo de maneira sustentável para codificar e compor dados em outros domínios.

Concretamente, o USD é um projeto de código aberto lançado sob uma licença Apache modificada.

Por que usar o USD? O USD é o núcleo do pipeline de gráficos 3D da Pixar e é usado em todos os aplicativos de autoria e renderização 3D, incluindo o sistema de animação proprietário da Pixar, o Presto. A Pixar está fortemente comprometida em evoluir e aprimorar o USD para abordar as seguintes preocupações de produção contínuas:

Fornecer uma linguagem comum e rica para definir, empacotar, montar e editar dados 3D, facilitando o uso de vários aplicativos de criação de conteúdo digital.

Permitir a colaboração de vários artistas no mesmo projeto e na mesma cena.

Maximizar a iteração artística minimizando a latência.

Se suas necessidades são semelhantes ou se enquadram em uma das situações mencionadas acima, o USD pode ser uma escolha atrativa.

O que o USD pode fazer? O USD pode representar:

USD organiza dados em namespaces hierárquicos de Prims (abreviação de "primitivos"). Além dos prims filhos, cada prim pode conter Atributos e Relacionamentos, coletivamente conhecidos como Propriedades. Os Atributos possuem valores digitados que podem variar ao longo do tempo; os Relacionamentos são "ponteiros" de múltiplos alvos para outros objetos em uma hierarquia, e o USD cuida automaticamente da remapeação dos alvos quando as referências causam mudanças nos namespaces. Tanto os prims quanto as propriedades também podem ter metadados (não variáveis no tempo). Os Prims e seus conteúdos são organizados em uma abstração de arquivo conhecida como Layer.

Construído sobre essa descrição de cena genérica de baixo nível, o USD fornece um conjunto de esquemas que estabelecem uma codificação e API padrão para conceitos comuns de gráficos computacionais 3D, como Geometria, Sombreamento, Modelo e Ativo.

O USD permite a composição e sobreposição de elementos cênicos, fornecendo operadores de composição que permitem empilhar camadas de USD usando o arc "subLayers". Além disso, o USD permite que prims em uma camada contenham um ou mais arcos de composição de referência que direcionam um prim em outra (ou na mesma) camada, compondo a árvore a partir do prim de destino no prim de referência. Essa é a principal maneira de montar ativos elementares em agregados e cenas completas. O USD também oferece recursos como VariantSets, Inherits e Specializes, que permitem variações, heranças e especializações em cenas e ativos.

O USD possui uma arquitetura de imagens chamada Hydra, que conecta "delegados de cena" (que consomem dados de cena) e "delegados de renderização" (que enviam dados de cena para renderizadores específicos). Hydra permite a mistura e correspondência de delegados de renderização e de cena, de acordo com as necessidades das aplicações e dos consumidores. A Hydra inclui um renderizador rasterizador chamado Storm, que oferece suporte a várias passagens, é altamente escalonável e usa OpenSubdiv para renderização de malhas. Além disso, o USD oferece a possibilidade de extensão e personalização, permitindo a criação de plugins para resolução de ativos, formatos de arquivo e esquemas personalizados.

Em resumo, o USD é uma ferramenta poderosa que permite o intercâmbio eficiente e aprimoramento de cenas 3D em uma ampla variedade de aplicativos. Ele oferece uma estrutura flexível para a representação e manipulação de dados 3D, facilitando a colaboração entre artistas e a iteração rápida em projetos de criação de conteúdo digital. O USD é usado pela Pixar em seu pipeline de gráficos 3D e está em constante evolução para atender às demandas da indústria de animação e jogos.

Comentários

Postagens mais visitadas deste blog

Trabalhando com Arquivos .obj

Mapas PBR (Physically Based Rendering)

Como Vender suas Modelagens 3D