Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Dynamics 365 Guides e Remote Assist deixarão de estar disponíveis após 31 de dezembro de 2026. Saiba mais em Dynamics 365 Guides e Assistência Remota chegam ao fim do suporte.
Este tutorial fornece instruções passo a passo para as seguintes tarefas:
Converter uma nuvem de pontos num objeto 3D.
Otimize um objeto 3D reduzindo o número de polígonos para que corresponda aos objetivos de desempenho para aplicações de realidade mista Dynamics 365.
Exporte um objeto 3D otimizado como ficheiro .glb que possa ser usado nos Dynamics 365 Guides e em componentes de realidade mista em aplicações criadas com Power Apps
Crie um modelo de pipeline de processamento, para que possa otimizar rapidamente as nuvens de pontos no futuro.
Este tutorial destina-se apenas a fins informativos, para mostrar como o SideFX Houdini funciona com os Microsoft Dynamics 365 Guides e Power Apps. O seu uso de aplicações de terceiros está sujeito a termos entre si e o terceiro. A Microsoft Corporation não está afiliada, não é parceira e não apoia nem patrocina a SideFX ou qualquer um dos seus produtos. Existem várias outras aplicações de criação de conteúdos que pode usar para preparar os seus objetos 3D.
O que é o Houdini?
Houdini é uma ferramenta para criar conteúdo procedural 3D. Utiliza um sistema de ferramentas não destrutivo baseado em nós para desenhar pipelines de processos e conteúdos 3D.
Configura o teu ambiente
Para configurar o seu ambiente, deve completar estas tarefas:
Instala a extensão SideFX Labs.
Configura o AliceVision para fotogrametria.
Instalar a extensão SideFX Labs
O SideFX Labs é um campo de testes para ferramentas que o podem ajudar a começar a trabalhar com o Houdini mais rapidamente. Esta coleção de ferramentas gratuitas inclui ferramentas úteis para converter nuvens de pontos em objetos 3D otimizados. Para usar o SideFX Labs, deve estar a usar o Houdini 18 ou versões posteriores.
O SideFX disponibiliza um vídeo tutorial que ajuda a instalar estas ferramentas.
Observação
Tens de instalar o Houdini antes de poderes instalar o SideFX Labs. Saiba mais sobre como instalar o Houdini.
Abra o Houdini.
Para instalar o SideFX Labs, selecione o sinal de mais
no topo da janela Houdini, selecione Shelves, e depois selecione a caixa de seleção SideFX Labs.
Na barra de ferramentas que aparece perto do topo da janela, selecione Atualizar Conjunto de Ferramentas para abrir o instalador.
Selecione Atualizar para instalar as ferramentas.
Se a instalação for bem-sucedida, mais ferramentas aparecem na barra de ferramentas. Podes então continuar com este tutorial.
Configurar o AliceVision para fotogrametria
AliceVision é um framework fotogramétrico de visão computacional desenvolvido pela Mikros Image. Fornece algoritmos de reconstrução 3D e rastreamento de câmaras. Saiba mais sobre a AliceVision e o plug-in AliceVision.
Para informações sobre como instalar e configurar o plug-in AliceVision para o Houdini, consulte o tutorial do SideFX.
Importar uma nuvem de pontos para Houdini
Houdini pode importar ficheiros de nuvem de pontos no formato PLY. Se o teu ficheiro estiver num formato PTS, podes convertê-lo manualmente para o formato PLY.
Converter um ficheiro .pts num ficheiro .ply
Abra o seu ficheiro .pts num editor de ficheiros à sua escolha e adicione o seguinte cabeçalho.
************************ ply format ascii 1.0 element vertex 534993 property float x property float y property float z property uchar intensity property uchar red property uchar green property uchar blue end_header ************************No cabeçalho, ao lado do elemento vértice, substitua o valor 534993 pelo valor que originalmente apareceu no topo do ficheiro .pts (mas que agora segue imediatamente o cabeçalho).
Este valor é o número total de pontos na sua nuvem de pontos.
Remova o valor original após o cabeçalho. A tabela seguinte mostra uma comparação lado a lado dos ficheiros antes e depois de fazer as alterações anteriores. O valor do vértice do elemento é destacado a vermelho.
Topo do ficheiro .pts Topo do ficheiro .ply
Guarde o ficheiro para que tenha a extensão do nome .ply.
Importar o ficheiro .ply
Abra o Houdini. Uma nova cena é criada automaticamente. Neste procedimento, irá construir uma cadeia de nós para processar a nuvem de pontos num objeto 3D. Estes nós são criados no painel inferior direito da janela do Houdini.
Clique com o botão direito no painel inferior direito para abrir o Menu TAB. (Alternativamente, pressiona a tecla Tab .)
No menu TAB, selecione Importar > Ficheiro e depois selecione no painel de Geometria para colocar o nó.
Clique duas vezes no meio do nó do ficheiro1 (ou pressione I) para aprofundar a parte de seleção de ficheiros do nó, selecione o botão Seletor de Ficheiros e depois selecione o ficheiro a importar.
No navegador de ficheiros que aparece, navega até à localização do ficheiro .ply de nuvem de pontos que queres importar, seleciona o ficheiro e depois seleciona Aceitar.
A nuvem de pontos aparece na parte principal da janela. Se não conseguires ver, tenta usar a roda do rato para afastar até conseguires ver toda a nuvem de pontos.
Preparar a nuvem de pontos
Reorientar a nuvem de pontos
Por vezes, quando importas uma nuvem de pontos pela primeira vez, ela tem a orientação errada. Podes corrigir a orientação adicionando um nó de transformação à árvore de nós.
Clique com o botão direito no painel de Geometria para abrir o Menu TAB e depois selecione Manipular > Transformação para adicionar um nó de transformação.
Arraste do ponto na parte inferior do nó de ficheiro1 até ao ponto no topo do nó de transform1. Desta forma, ligas a saída do nó file1 à entrada do nó transform1. No lado direito do nó transform1, depois seleciona. O lado direito do nó transform1 torna-se azul, e o nó torna-se ativo na parte principal da janela, para que possas ver o teu modelo depois de este ter sido reorientado.
Tip
Para visualizar o modelo durante uma fase específica do processo em Houdini, clique no lado direito do nó apropriado. Esta funcionalidade é útil se alguma vez tiver de olhar para o seu objeto 3D num estado anterior e editar as alterações que ocorreram nesse estado.
Para corrigir a rotação do seu modelo, no painel de opções acima do painel de nós, adicione valores na linha Rodar . Muitas vezes podes definir o valor x para 270 para rodar o modelo para a posição correta. No entanto, se esse valor não funcionar, experimenta valores diferentes.
Para centralizar a sua nuvem de pontos sobre o ponto de origem, adicione um nó de alinhamento de eixo após o nó de transformação. Para colocar o nó, coloque o cursor do rato sobre o painel de Geometria pressione a tecla Tab para abrir o Menu TAB e depois selecione Labs>Geo>Labs Axis Align.
Arraste para ligar o ponto de saída na parte inferior do nó transform1 ao ponto de entrada no topo do nó axis_align1 . Deixa os valores padrão como estão para posicionar a tua nuvem de pontos em cima do ponto de origem (um local ideal para isso).
Remova a nuvem de pontos para eliminar pontos dispersos
Se a sua nuvem de pontos tiver pontos dispersos que quer remover, pode selecionar e eliminar pontos individuais ou grupos de pontos.
Muda o método de seleção de Geometria para Pontos e a ferramenta de seleção para Seleção de Laço.
Observação
Podes usar um método diferente, se preferires.
Seleciona os pontos a apagar.
Prima a tecla Delete. Surge um novo nó blast1 . O ponto de entrada no topo deste nó está ligado ao ponto de saída na parte inferior do último nó com que estavas a trabalhar.
Continue a retirar pontos até ficar satisfeito com os resultados. Cada eliminação adiciona um novo nó blast que pode ver ou remover em qualquer momento.
Converter a nuvem de pontos numa malha
Tanto as aplicações glTF como as de renderização em tempo real exigem que os objetos sejam representados como uma superfície de polígono triangulada. Podes usar o comando Superfície de Fluido de Partículas para ligar os pontos numa superfície lógica como geometria poligonal.
Selecione no painel de Geometria para abrir o Menu TAB e depois selecione Fluido>Superfície de Fluido de Partículas. Depois seleciona o nó e adiciona-o ao painel de Geometria .
Arraste para ligar o ponto de saída na parte inferior do nó transform1 ao ponto de entrada no canto superior esquerdo do nó particlefluidsurface1 . Depois selecione à direita do nó pariclefluidsurface1 para ativar o nó na parte principal da janela.
Na parte principal da janela, a nuvem de pontos é renderizada como uma malha. A aba de Superfícies está selecionada no painel superior direito acima do painel de Geometria.
Se os dados de cor estiverem associados aos pontos na nuvem de pontos, pode usar os atributos de cor adicionando as letras Cd ao final do valor no campo Transferir Atributos . A cor será mostrada então na sua malha.
Se existirem buracos na malha, como mostrado na ilustração seguinte, ajuste os sliders de Separação de Partículas e Escala Voxel no painel superior direito para tentar resolver o problema.
Para preparar a malha para a redução (o passo seguinte no processo geral), em Output, altere o valor do campo Convert To de Surface Polygon Soup para Surface Polygons. Desta forma, pode fazer remesh da malha e dizimá-la.
Clique com o botão direito no painel de Geometria para abrir o Menu TAB e depois selecione Polygon>Remesh. É adicionado um nó de remesh para converter a malha em triângulos. Desta forma, podes dizimar o objeto 3D até um número de polígonos que satisfaça os teus requisitos de desempenho.
Arraste para ligar o ponto de saída na parte inferior do nó particlefluidsurface1 ao ponto de entrada no canto superior esquerdo do nó remesh. Selecione no centro do nó remesh para o ativar no painel acima do Painel de Geometria. Depois seleciona do lado direito do nó remesh para ativar o modelo na parte principal da janela. Agora podes editar as propriedades do remesh, e o modelo na parte principal da janela irá refletir essas edições.
Experimente as opções em Dimensionamento dos Elementos para obter os resultados que deseja. Para o campo Comprimentos de Aresta , podes manter o valor padrão (Uniforme), ou podes selecionar Adaptativo e ajustar o deslizador de Densidade Relativa (e outras opções) para produzir a malha que queres.
Dizimar o objeto 3D para ajudar a melhorar o desempenho
Para alcançar objetivos específicos da aplicação, pode ser necessário destruir o seu objeto 3D. A dizimação é o processo de recalcular os polígonos de superfície de um modelo para criar uma forma semelhante usando menos polígonos. Embora este processo reduza a fidelidade visual, ajuda a melhorar o desempenho. A tabela seguinte mostra uma comparação lado a lado entre um modelo de alta qualidade usado para baixa complexidade de cena no HoloLens e um modelo de baixa qualidade usado para alta complexidade de cena.
| Objeto 3D de altos polígonos | Objeto 3D de baixo polígono |
|---|---|
|
|
| 500.000 triângulos | 8.000 triângulos |
Dizimar um modelo
No painel de Geometria , pressiona a tecla Tab para abrir o menu TAB e depois seleciona Polygon>PolyReduce para colocar um nó PolyReduce no painel de Geometria .
Arraste para conectar o ponto de saída na parte inferior do nó remesh ao ponto de entrada no canto superior esquerdo do nó polyreduce1. Seleciona no meio do nó polyreduce1 e depois seleciona no lado direito do nó para o ativar na parte principal da janela.
Na Quantidade de Redução, no campo Alvo, selecione Contagem de Polígonos de Saída e depois use o controlo deslizante Número a Manter para ajustar a contagem de polígonos de forma a cumprir os seus requisitos de desempenho, mantendo ao mesmo tempo uma fidelidade visual aceitável.
A nuvem de pontos foi agora convertida numa malha 3D otimizada. No passo seguinte, irá gerar uma textura de alta resolução no objeto 3D para recuperar parte da fidelidade visual que existia antes da dizimação.
Gerar uma textura de alta resolução numa malha de baixo número de polígonos
Uma desvantagem de reduzir o número de polígonos numa malha é que grande parte do detalhe pode perder-se. Para restaurar algum desse detalhe, podes capturá-lo e aplicá-lo como uma textura sobreposta ao modelo de baixo polígono. Durante este processo, conhecido como texture baking, tira uma fotografia de todas as superfícies do seu modelo de alto polígono e junta-as numa "colcha" que se coloca por cima do modelo de baixo polígono. Desta forma, você obtém o desempenho de um modelo de baixa quantidade de polígonos, mas mantém alguns dos detalhes mais finos de um modelo de alta quantidade de polígonos.
As coordenadas de textura (também conhecidas como UVs) são pares de números (U e V) que são armazenados na geometria de um modelo. Estes números representam a forma como uma imagem 2D pode ser mapeada para uma superfície 3D e permitem definir propriedades de superfície como uma imagem. As imagens podem ser decalques simples ou componentes complexos do material, como rugosidade e metal. Pode gerar manualmente posições UV para uma malha, ou o processo pode ser feito de forma semi-automática ou automática. O operador de superfície AutoUV é uma ferramenta em Houdini que pode gerar UVs. Utiliza alguns métodos automáticos durante a criação de UVs.
Assa a textura
Clique com o botão direito no painel de Geometria para abrir o menu TAB e depois selecione Labs>UV>Labs Auto UV para adicionar um nó AutoUV à cena.
Em Método, altere o valor do campo Método para UV Unwrap.
Arraste para ligar o ponto de saída na parte inferior do nó polyreduce1 ao ponto de entrada no topo do nó autouv1 .
Para ver os objetos "antes" e "depois" lado a lado, clique no botão Layout da Janela de Exibição e escolha Duas Visões Lado a Lado.
Na parte principal da janela, no menu suspenso, selecione Definir Visualização > no viewport UV.
Os UVs desdobrados aparecem à esquerda, e o objeto 3D aparece à direita.
No painel de Geometria, selecione Labs>Output>Labs Maps Baker para adicionar um nó maps_baker1.
Arraste para conectar o ponto de saída na parte inferior do nó autouv1 ao ponto de entrada no canto superior esquerdo do nó maps_baker1. (O ponto superior esquerdo é o nó de entrada de baixa resolução.)
Arraste para ligar o ponto de saída na parte inferior do nó particlefluidsurface1 ao ponto de entrada no canto superior direito do maps_baker 1 nó. (O ponto no canto superior direito é o nó de entrada de ALTA Resolução.)
Selecione o nó maps_baker1 e depois, em Bake, altere o valor do campo Canal de Pré-visualização para diffuse. Em Opções de Cozedura, defina o campo Mapa Difuso para Difusar.
Tip
Para guardar o seu projeto numa pasta específica, selecione o botão Seletor de Ficheiros ao lado do campo Diretório de Saída mostrado na ilustração anterior. Quando renderizas uma textura, o ficheiro de textura .png é guardado numa pasta de renderização criada na pasta raiz do projeto guardado. Ao guardar o seu projeto numa pasta própria, facilita a localização da textura aplicada.
Seleciona o nó maps_baker1 e depois, no painel de opções, seleciona Bake.
Clique com o botão direito no painel de Geometria para abrir o menu TAB e, em seguida, selecione Gestores>Rede de Materiais para adicionar um nó matnet1 à cena.
Clique duas vezes no nó matnet1 para abrir o painel VEX Builder.
Clique com o botão direito no painel VEX Builder e depois selecione Shaders > Principled Shader para adicionar um material Principled Shader .
No painel de opções, no separador Superfície , use os sliders para alterar o valor do campo Rugosidade para 0,6 e o valor do campo Metálico para 0,1. (Pode definir estes campos para o que quiser, mas descobrimos que estes valores são um bom ponto de partida quando usados com os valores padrão.)
No separador Texturas , em Cor Base, seleciona a caixa de seleção Usar Textura . Depois seleciona o botão Seletor de Ficheiros e seleciona o ficheiro de textura *_color.png que guardaste na pasta de renderização anteriormente. O shader principled está agora pronto para usar.
Observação
Sintam-se à vontade para modificar ainda mais o material. Para efeitos deste tutorial, esta configuração é suficiente.
No painel do VEX Builder , selecione o botão Voltar (seta esquerda) para voltar ao painel de Geometria .
Selecione Material > Material para colocar um nó de material no painel Geometria.
Arraste para ligar o ponto de saída na parte inferior do nó autouv1 ao ponto de entrada no topo do nó material1.
Seleciona o nó material1 e seleciona o botão Seletor de Operador. Depois, na caixa de diálogo Escolher Operador , selecione file1>matnet1>principledshader1 para selecionar o principled shader que criou anteriormente.
Selecione à direita do nó para ativá-lo na parte principal da janela.
A textura é composta sobre o seu objeto 3D com baixo número de polígonos. Se parecer aceitável, avance para o próximo passo.
Exportar o modelo para um ficheiro .glb
Neste passo, irá exportar o modelo para um ficheiro .glb para que possa ser usado com os Dynamics 365 Guides e Power Apps.
Clique com o botão direito no painel de Geometria para abrir o Menu TAB e depois selecione Exportar>ROP GLTF Output.
Arraste para ligar o ponto de saída na parte inferior do nó material1 ao ponto de entrada no topo do nó rop_gltf1.
No painel superior, altere o valor do campo Export Type para glb.
Selecione o botão Seletor de Ficheiros ao lado do campo Ficheiro de Saída e depois introduza um nome e destino para o ficheiro .glb. Certifique-se de adicionar .glb no final do nome do ficheiro. Quando terminares, seleciona Aceitar.
Selecione Renderizar para Disco para finalizar a exportação e criar o ficheiro .glb.
Cria um modelo para reutilizar as tuas definições para outras nuvens de pontos
Para poupar tempo e esforço, pode criar um modelo. Desta forma, as definições que crias para uma nuvem de pontos podem ser usadas para outras nuvens de pontos. Embora ainda tenha de selecionar Bake manualmente e provavelmente tenha de ajustar alguns valores, pode automatizar a maior parte do processamento.
Criar um modelo
Substitua a geometria que está atualmente a ser usada por uma geometria padrão. Este passo torna o ficheiro modelo leve, para que seja carregado rapidamente.
No painel de Geometria, selecione o centro do nó de arquivo para alternar para o menu Ficheiro na parte superior do painel.
Muda o valor do campo Ficheiro de Geometria para default.bgeo e depois seleciona Recarregar Geometria.
Repara que a geometria foi redesenhada para que agora seja um cubo genérico.
Muda o nome do ficheiro para algo genérico, como Template.
Selecione Guardar Ficheiro >e introduza um nome que se lembre, como Prep_Template.
Fecha Houdini.
Use o modelo
Abre o Houdini, seleciona Abrir Ficheiro> e depois seleciona o modelo que acabaste de criar.
No painel de Geometria, selecione o centro do nó de arquivo para alternar para o menu Ficheiro na parte superior do painel. Depois seleciona o botão Seletor de Ficheiros ao lado do campo Ficheiro de Geometria para selecionar o ficheiro de nuvem de pontos .ply.
Selecione Recarregar Geometria para carregar a nuvem de pontos na cena.
Vai ao nó maps_baker1 e depois seleciona Bake para criar uma nova textura para o seu objeto 3D.
Selecione na direita do nó material1 para ver o seu modelo processado.
Siga um destes passos:
Se estiveres satisfeito com o objeto 3D, vai ao nó rop_gltfB e depois seleciona Renderizar para Disco para exportar o teu objeto 3D.
Se não estiver satisfeito com o aspeto do objeto 3D, ajuste as definições para os nós particlefluidsurface1, remesh e polyreduce1 . Quando o teu modelo parecer aceitável, volte a assar a textura e exporte o objeto 3D.
Veja um objeto 3D nos Dynamics 365 Guides ou Power Apps
Depois de preparar um objeto 3D, use os seguintes links para saber mais sobre como usar o modelo nos Dynamics 365 Guides ou Power Apps:
Mais informações
Capturas de ecrã deste tutorial foram retiradas do programa Houdini para fornecer instruções claras sobre como usar o software Houdini. Saiba mais sobre a SideFX Houdini.
A Microsoft Corporation não é responsável e expressamente renuncia a toda a responsabilidade por danos de qualquer tipo decorrentes da utilização do Houdini ou da confiança nestas instruções. Este documento foi criado apenas para fornecer informações gerais aos nossos clientes e não tem em conta quaisquer planos ou especificações de negócio individualizadas.
O uso neste documento de nomes e imagens registadas é estritamente para fins informativos e descritivos, e não há qualquer reivindicação comercial sobre o seu uso, nem sugestão de patrocínio ou endosso, feita pela Microsoft Corporation.