Construa sua primeira extensão no Omniverse com OpenUSD
Tabela de Conteúdos
- Introdução
- O que é o Omniverse?
- Pré-requisitos
- Construindo sua primeira extensão
- Criando uma janela de extensão personalizada
- Adicionando funcionalidades aos botões
- Comandos do painel de controle
- Acessando o USD através do código Python
- Utilizando APIs para interagir com a cena
- Recursos adicionais
Introdução
Olá! Seja bem-vindo ao nosso guia completo sobre como construir uma extensão para o Omniverse. Neste artigo, vamos fornecer um passo a passo detalhado para que você possa criar suas próprias extensões personalizadas e aproveitar ao máximo essa plataforma incrível. Vamos começar!
O que é o Omniverse?
O Omniverse é uma plataforma projetada para ajudar na criação de ferramentas para fluxos de trabalho em 3D. Com o Omniverse Kit, você tem acesso a uma infraestrutura 3D poderosa, incluindo USD (Universal Scene Description), ray tracing, física, núcleo, interface de usuário em Python e muito mais.
As extensões são a base do Omniverse e fornecem ferramentas personalizadas para atender às suas necessidades. Tudo o que você vê no Omniverse, desde a visualização até o palco, é uma extensão. E o melhor é que suas extensões se integram perfeitamente, proporcionando uma experiência de usuário integrada e completa.
Pré-requisitos
Antes de começarmos, é importante garantir que você tenha os seguintes pré-requisitos:
- Omniverse Code App
- Editor de código, como o Visual Studio Code
- Conhecimento básico de Python
Caso você já tenha tudo preparado, podemos prosseguir para a criação da sua primeira extensão.
Construindo sua primeira extensão
Para começar, abra a janela de extensões no Omniverse Code e clique no botão "+" para criar uma nova extensão usando um modelo de template. Em seguida, selecione o local onde deseja salvar o projeto e escolha um nome para sua extensão.
Com a extensão criada, você terá acesso ao Visual Studio Code, onde poderá realizar as modificações necessárias no código. A janela da sua extensão possui uma interface com uma pilha vertical contendo um rótulo e dois botões, assim como uma pilha horizontal com os botões "ADD" e "RESET". Você pode personalizar essa interface para atender às suas necessidades.
Para adicionar funcionalidades aos botões, você pode criar funções em Python e conectá-las aos eventos de clique dos botões. Por exemplo, ao clicar no botão "ADD", você pode incrementar um contador e atualizar o rótulo correspondente. Da mesma forma, ao clicar no botão "RESET", você pode redefinir o contador e atualizar o rótulo.
Agora que você já sabe como criar uma interface básica e adicionar funcionalidades aos botões, vamos avançar para a próxima etapa: comandos do painel de controle.
Comandos do painel de controle
O Omniverse oferece um painel de controle de comandos que permite interagir com a cena de maneira programática. Você pode utilizar comandos como "create Shape Cube" para criar uma forma em sua cena.
Esses comandos são poderosos e você pode até copiá-los para a sua função de spawn do botão "SPAWN" em sua extensão. Isso permitirá que você crie um cubo na cena sempre que o botão for clicado. O código Python da função ficará Algo como:
def on_spawn():
commands.run("create shape Cube")
Dessa forma, cada vez que você clicar no botão "SPAWN", um novo cubo será adicionado à cena.
Agora que você aprendeu como utilizar os comandos do painel de controle, está na hora de explorar o acesso ao USD através do código Python.
Acessando o USD através do código Python
O USD (Universal Scene Description) é uma linguagem de descrição de cenas com APIs poderosas que permitem manipular, compor e interagir com cenas complexas. No Omniverse, você pode utilizar o Python para acessar o USD e realizar operações avançadas.
Você pode utilizar APIs do USD para criar, modificar e gerenciar elementos da cena, como primitivas, geometrias, materiais e muito mais. Se você deseja criar ferramentas personalizadas, como alinhamento, medição, comentários ou pintura, o acesso ao USD será fundamental.
Além disso, você pode combinar várias extensões e APIs para criar aplicativos completos e entregá-los aos seus clientes. As possibilidades são infinitas!
Recursos adicionais
Caso você queira se aprofundar mais no assunto, recomendamos alguns recursos adicionais:
- Developers Nvidia: Omniverse: Neste site, você encontrará mais informações sobre o Omniverse, tutoriais, documentação e exemplos de extensões.
- Discord, YouTube e Twitch do Omniverse: Participe da comunidade ativa do Omniverse e acompanhe as últimas novidades, tutoriais ao vivo e interaja com outros desenvolvedores.
Obrigado por ter acompanhado este guia completo sobre como construir uma extensão para o Omniverse. Esperamos ter te inspirado a explorar todo o potencial desta plataforma incrível. Estamos ansiosos para ver o que você irá construir!