Use o SideFX Houdini para transformar nuvens de pontos em objetos 3D otimizados para Dynamics 365 Guides e para componentes de realidade mista em aplicações criadas com Power Apps

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.

  1. Abra o Houdini.

  2. Para instalar o SideFX Labs, selecione o sinal de mais Signo de Mais. no topo da janela Houdini, selecione Shelves, e depois selecione a caixa de seleção SideFX Labs.

    Caixa de seleção SideFX Labs.

  3. Na barra de ferramentas que aparece perto do topo da janela, selecione Atualizar Conjunto de Ferramentas para abrir o instalador.

    Botão de atualizar o conjunto de ferramentas.

  4. Selecione Atualizar para instalar as ferramentas.

    Botão de atualização.

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

  1. 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
    ************************
    
  2. 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).

    Valor no topo do ficheiro .pts.

    Este valor é o número total de pontos na sua nuvem de pontos.

  3. 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
    Valor no topo do ficheiro .pts Valor no cabeçalho do ficheiro .ply
  4. Guarde o ficheiro para que tenha a extensão do nome .ply.

Importar o ficheiro .ply

  1. 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.

    Painel de nós.

  2. Clique com o botão direito no painel inferior direito para abrir o Menu TAB. (Alternativamente, pressiona a tecla Tab .)

  3. No menu TAB, selecione Importar > Ficheiro e depois selecione no painel de Geometria para colocar o nó.

    Comando de arquivo.

  4. 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.

    Botão de Escolha de Ficheiros.

  5. 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.

    Botão de 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.

    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.

  1. 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.

    Comando de transformação.

  2. 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.

    Nó de transformação.

    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.

  3. 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.

    Valor de rotação.

  4. 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.

    Comando Labs Axis Align.

  5. 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).

    Nós conectados.

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.

  1. 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.

    Método dos pontos e ferramenta de Seleção de Laço selecionados.

  2. Seleciona os pontos a apagar.

    Pontos selecionados a eliminar.

  3. 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.

    Nó de explosão.

  4. 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.

    Múltiplos nós de explosão.

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.

  1. 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 .

    Comando de Superfície de Fluido de Partículas.

  2. 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.

    Captura de ecrã dos nós ligados.

    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.

    Separador de superfícies.

  3. 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.

    Atributo CD.

  4. 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.

    Controles Deslizantes de Separação de Partículas e Escala Voxel.

  5. 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.

    Converter para campo.

  6. 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.

    Comando de Remesh.

  7. 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.

    Nós conectados.

  8. 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.

    Opções de dimensionamento dos elementos.

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
Modelo de altos polígonos Modelo de baixo polígono
500.000 triângulos 8.000 triângulos

Dizimar um modelo

  1. 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 .

    Comando PolyReduce.

  2. 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.

  3. 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.

    Opções de Redução de Quantidade.

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

  1. 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.

    Comando AutoUV do Labs.

  2. Em Método, altere o valor do campo Método para UV Unwrap.

    Método UV Unwrap selecionado.

  3. Arraste para ligar o ponto de saída na parte inferior do nó polyreduce1 ao ponto de entrada no topo do nó autouv1 .

    Arrastar para criar nós ligados.

  4. 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.

    Opção Duas Vistas Lado a Lado.

  5. Na parte principal da janela, no menu suspenso, selecione Definir Visualização > no viewport UV.

    Comando da janela de visualização UV.

    Os UVs desdobrados aparecem à esquerda, e o objeto 3D aparece à direita.

    UVs desembrulhados e objeto 3D.

  6. No painel de Geometria, selecione Labs>Output>Labs Maps Baker para adicionar um nó maps_baker1.

    Labs Maps Comando Baker.

  7. 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.)

    Ligar o nó autouv1 ao nó maps_baker1.

  8. 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.)

    Ligando o nó particlefluidsurface1 ao nó maps_baker 1.

  9. 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.

    Opções de forno.

    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.

  10. Seleciona o nó maps_baker1 e depois, no painel de opções, seleciona Bake.

    Captura de ecrã do botão Assar.

  11. 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.

    Comando da Rede Material.

  12. Clique duas vezes no nó matnet1 para abrir o painel VEX Builder.

    Nó Matnet.

  13. Clique com o botão direito no painel VEX Builder e depois selecione Shaders > Principled Shader para adicionar um material Principled Shader .

    Comando Principled Shader.

  14. 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.)

    Rugosidade e campos metálicos.

  15. 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.

    Usa a caixa de seleção de Textura e a textura selecionada.

  16. No painel do VEX Builder , selecione o botão Voltar (seta esquerda) para voltar ao painel de Geometria .

    Botão de trás.

  17. Selecione Material > Material para colocar um nó de material no painel Geometria.

    Comando de material.

  18. Arraste para ligar o ponto de saída na parte inferior do nó autouv1 ao ponto de entrada no topo do nó material1.

    Ligar o nó autouv1 ao nó material1.

  19. 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.

    Escolha o botão Operador e selecione o ficheiro de material.

  20. 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.

Textura renderizada no modelo de baixo polígono.

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.

  1. Clique com o botão direito no painel de Geometria para abrir o Menu TAB e depois selecione Exportar>ROP GLTF Output.

    Comando ROP GLTF Output.

  2. Arraste para ligar o ponto de saída na parte inferior do nó material1 ao ponto de entrada no topo do nó rop_gltf1.

    Ligar o nó material1 ao nó rop_gltf1.

  3. No painel superior, altere o valor do campo Export Type para glb.

    glb selecionado no campo Tipo de Exportação.

  4. 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.

    Botão de Seleção de Ficheiros e campo de Ficheiro.

  5. Selecione Renderizar para Disco para finalizar a exportação e criar o ficheiro .glb.

    Botão de renderizar para disco.

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

  1. 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.

    1. No painel de Geometria, selecione o centro do nó de arquivo para alternar para o menu Ficheiro na parte superior do painel.

    2. Muda o valor do campo Ficheiro de Geometria para default.bgeo e depois seleciona Recarregar Geometria.

    3. Repara que a geometria foi redesenhada para que agora seja um cubo genérico.

    4. Muda o nome do ficheiro para algo genérico, como Template.

    Geometria redesenhada.

  2. Selecione Guardar Ficheiro >e introduza um nome que se lembre, como Prep_Template.

    Comando Guardar.

  3. Fecha Houdini.

Use o modelo

  1. Abre o Houdini, seleciona Abrir Ficheiro> e depois seleciona o modelo que acabaste de criar.

    Comando aberto.

  2. 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.

    Nó selecionado e botão Seletor de Ficheiros.

  3. Selecione Recarregar Geometria para carregar a nuvem de pontos na cena.

    Botão de Recarregar Geometria.

  4. Vai ao nó maps_baker1 e depois seleciona Bake para criar uma nova textura para o seu objeto 3D.

    Botão de assar.

  5. Selecione na direita do nó material1 para ver o seu modelo processado.

    Lado direito do nó Material.

  6. 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.

      Comando Render para Disco.

    • 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.