Inserindo Objetos Reais na Unidade com Meshroom

imagem


Este artigo mostrará como usar a fotogrametria para tirar fotos e inserir objetos do mundo real em projetos do Unity usando o Meshroom.



No contexto de modelos 3D, fotogrametria é o processo de criação de modelos 3D a partir de objetos digitalizados.



Precisa de modelos 3D realistas para sua ideia de jogo, mas está com orçamento limitado? Procurando criar um ambiente de jogo ultra-realista? Se sim, continue lendo!



Usando a fotogrametria, pegamos dados de entrada, ou seja, fotografias, e os passamos por um pipeline ou conjunto de métodos que os processam. Os dados desses processos ou informações de saída são usados ​​para criar o modelo 3D acabado.





Neste tutorial, usaremos algumas fotos da estátua do dragão para criar um modelo 3D detalhado, limpar no Blender e importar o resultado para uma cena escura e sombria de uma vila viking.



Você também aprenderá a:



  • Escolha um bom assunto para fotografar.
  • Tire fotos adequadas.
  • Decida quando e onde tirar fotos.
  • Remova fotos ruins.
  • Use o Meshroom para criar digitalizações 3D.
  • Importe modelos para o Blender para limpeza e retoque.
  • Reduza o número de polígonos.
  • Prepare e importe modelos 3D para o Unity.






Começando



Observação : um computador razoavelmente poderoso é necessário para executar uma digitalização de fotos no Meshroom em um período de tempo razoável.


Baixe os materiais do projeto . Em seguida, descompacte o arquivo zip em um local conveniente para você.



O arquivo contém o starter e finais arquivos de projeto , o que vamos chegar à tarde.



Nota : você precisará baixar outro arquivo, mas mais sobre isso abaixo.


Para criar uma boa digitalização de fotos, você precisa fotografar o modelo de vários ângulos. Neste tutorial já teremos todas as fotos necessárias.



Antes de tirar essas fotos, é importante aprender algumas informações úteis sobre como tirar fotos você mesmo.



Encontrar bons assuntos para filmar



Obviamente, você deseja atirar em objetos que correspondam ao ambiente ou à ideia do jogo. Além disso, existem algumas condições que simplificam a digitalização de fotos de objetos:



  • Bases planas.
  • Contraste suficiente em cores ou tons.
  • Não muito escuro, caso contrário, será difícil ver os detalhes.
  • Não muito grande, caso contrário, será difícil contornar os objetos e atirar neles de diferentes ângulos.


Também vale a pena considerar a criação de digitalizações de fotos de objetos difíceis de modelar. Por exemplo, objetos naturais são difíceis de modelar porque é difícil criar materiais orgânicos.



As pedras da The Tales Factory na Unity Asset Store são um bom exemplo disso .





Quando tirar fotos



Quanto às fotografias, existem certas condições e horas do dia que permitem a criação de digitalizações fotográficas de alta qualidade.



Se você tem um estúdio interno e iluminação, pode simular essas condições sozinho. Do contrário, você deve trabalhar ao ar livre.



Ao trabalhar ao ar livre, lembre-se do seguinte:



  • Tire fotos à luz do dia.
  • Os céus nublados são os melhores. As nuvens dispersam a iluminação, o que resulta em uma distribuição mais uniforme da luz por todo o modelo.
  • A secura é boa, a umidade é ruim! Em condições úmidas, você provavelmente obterá mais reflexos no produto acabado. Em alguns casos, o modelo 3D terá até reflexos brilhantes que destroem o realismo.


Escolha um modelo de aparência neutra que se adapte a uma ampla gama de condições potenciais. Isso permitirá que você aplique efeitos dependendo das condições ambientais do jogo.



Está chovendo no jogo? Vamos esboçar um sombreador que adicionará um efeito molhado brilhante. O jogo se passa em um mundo pós-apocalíptico, onde tudo é velho e miserável? Vamos adicionar o efeito do envelhecimento ou corrosão.



Tirando fotos



Baixe a coleção de fotos que você usará neste tutorial. Devido ao seu grande tamanho, não está incluído nos downloads relacionados acima. Para baixar a coleção, clique neste link:



Baixar fotos da escultura do dragão (arquivo zip, 695 MB) A



seguir, extraia o arquivo zip para um local conveniente para você e abra a pasta. Você verá aproximadamente 100 fotografias da escultura do dragão tiradas de diferentes ângulos e alturas.





É por isso que você deve se esforçar ao tirar fotos. A cobertura de 360 ​​graus de fotos de diferentes ângulos e alturas garante que todos os detalhes de que você precisa sejam capturados.



Ao fotografar, mova o objeto para obter uma visão de diferentes ângulos. Tente avançar o menor passo possível e tire fotos de perto e um pouco mais longe. Apontar para detalhes de close-up e fotografias que mostrem o modelo inteiro.



Não mova ou gire o modelo enquanto fotografa, pois isso pode confundir alguns pacotes de software. Mova-se ao redor do objeto sem movê-lo.



Configurações da câmera



Para obter um conjunto de fotos de aparência uniforme, mude sua câmera para o modo manual ou profissional . A maioria das câmeras de smartphones permitem que você alternar para esse modo, e câmeras DSLR ter sempre manual ou M modo .



  • Defina o ISO como Fixo primeiro . Esta configuração altera a sensibilidade do sensor da câmera digital à luz. Quanto mais altos os valores, mais fácil é tirar fotos no escuro, mas mais barulhentas elas são. Em uma boa iluminação externa, o valor geralmente pode ser definido como 100 ou 200. Sempre selecione um valor fixo para as imagens digitalizadas.
  • Se você é novo na fotografia, use o modo de obturador fixo ou abertura fixa. Às vezes, eles são chamados de modos de prioridade . Isso ajuda a fixar um dos parâmetros, permitindo que a câmera controle outros parâmetros para manter uma exposição uniforme. Isso também é feito para obter fotos bem iluminadas.
  • Ao tirar fotos, elas devem estar sempre em foco. Evite imagens borradas.
  • Sempre tire fotos na mesma orientação, paisagem ou retrato.




Para o meio-dia e iluminação nublada nesta situação, surgiu um ISO fixo de 200 .



Criação de digitalizações de fotos com o Meshroom



O Meshroom é um aplicativo de fotogrametria de código aberto que pode ser usado para criar modelos 3D a partir de fotografias. Vamos usá-lo para criar um photoscan da escultura do dragão.



Baixe a versão mais recente aqui e instale-a. É necessário Windows ou Linux para executar o software.



Depois de iniciar o Meshroom, você verá a interface principal. Neste modo, você pode fazer tudo o que precisa para criar digitalizações de fotos.



Aqui está uma breve descrição de cada parte da interface principal:





  1. As fotos que precisam ser recriadas em 3D são arrastadas aqui.
  2. O Visualizador de imagens é simplesmente uma janela de visualização para fotos individuais.
  3. 3D Viewer . , , , .
  4. Graph Editor , 3D. (, Node). . , .
  5. Node Graph Editor. , .


Importar fotos para o Meshroom



Acesse as fotos baixadas da escultura do dragão. Em seguida, arraste-os para a janela Meshroom Images .



As fotos são exibidas na ordem dos nomes dos arquivos na janela Imagens .





Em seguida, clique em Arquivo ► Salvar como… , selecione um novo local de pasta no disco e salve o projeto como Dragon.mg .





Em seguida, feche todos os aplicativos desnecessários para se preparar para o processo de recriação do Meshroom. A digitalização não será iniciada se o computador estiver com poucos recursos.



Iniciando o processo de recreação do Meshroom



Neste ponto, você está pronto para começar a recriar. Clique no botão Iniciar para iniciar o processo.





Enquanto o processo está em execução, você pode acompanhar seu progresso na janela do editor de gráfico . Observe as pequenas barras coloridas de progresso em cada nó. O processador do computador provavelmente chegará à conclusão em 15-30 minutos, dependendo de sua velocidade.





Depois de concluída, a digitalização resultante será exibida na janela do visualizador 3D .





Agora segure o botão esquerdo do mouse e arraste o cursor para girar o modelo ou o botão do meio do mouse e arraste o cursor para mover a câmera na visualização 3D. Aproveite o modelo 3D que seu processador ajudou a criar!





Em seguida, abra a pasta onde você salvou o arquivo de projeto do Meshroom. Nele você encontrará a pasta MeshroomCache . É aqui que os arquivos do objeto verificado foram enviados.





Importando para o Blender



A seguir, usaremos o popular aplicativo gráfico 3D para importar uma digitalização de um modelo 3D de dragão e limpá-lo para prepará-lo para importação no Unity.



Se você não possui o Blender 2.80 ou superior, baixe e instale-o. Você pode baixá-lo aqui .



Assim que a instalação for concluída, inicie o Blender.



Se você é novo no Blender então não tema nada e relaxe! Embora sua interface e controles possam ser confusos, aqui você encontrará muitos atalhos de teclado e capturas de tela que são úteis para nós.



Uma vez que a tela de lançamento do Blender abre, clique em Geral em Novo Arquivo . Por padrão, o novo arquivo contém um objeto de cubo. Clique em um cubo para selecioná-lo e pressione Deletepara se livrar dele. Agora temos um espaço livre para trabalhar:





Em seguida, clique em Arquivo ► Importar ► Wavefront (.obj) . Navegue até a pasta MeshroomCache onde o Meshroom salvou os arquivos de modelo de objeto digitalizado. Nesta pasta, encontre o modelo na subpasta MeshroomCache / Texturing / GUID . GUID é o nome de uma pasta com um identificador aleatório atribuído após a conclusão da digitalização.



Em seguida, clique duas vezes em texturedMesh.obj para importar a digitalização para o Blender.





A importação pode demorar muito porque o modelo da foto digitalizada é muito grande.





Vamos começar tendo uma ideia de como é a aparência padrão de um dragão digitalizado por foto. Clique no botão Viewport Shading na janela principal do Blender para habilitar o full shading e texturização para aquela janela.





Em seguida, pressione e segure Shift + botão do meio do mouse para arrastar a janela de modo que o modelo do dragão principal fique no meio da tela. Segure o botão do meio do mouse e arraste o cursor para girar a janela. Você pode aumentar e diminuir o zoom com a roda do mouse.



Veja como a verificação padrão parece boa. Bom trabalho!





Correções do Blender



O modelo é complexo e possui muitos vértices e detalhes. Vamos agora reduzir a contagem de polígonos com o modificador Decimate rápido e eficiente do Blender .



Se você estiver criando um jogo distribuído comercialmente que requer mais otimização, pode levar mais tempo para reduzir qualitativamente o número de polígonos. Mas até agora estamos muito felizes com Decimate.



No painel Coleção de cenas do editor do Blender, clique em malha texturizada ► Modificadores ► Adicionar modificador .





Selecione Decimar na lista .





Um pequeno campo de personalização aparece com opções Decimar.



Selecione Recolher com uma proporção de 0,1 e um fator de 2,0 . Em seguida, clique em Aplicar .



Isso reduzirá os detalhes de todo o modelo e reduzirá o número de vértices em cerca de 10 vezes! Você não notará muita perda de detalhes, mas o perfilador do Unity e a velocidade do jogo irão agradecer!



Livrar-se da grama



Agora precisamos resolver o mais óbvio.



Se você está planejando criar uma cena em que o dragão está no meio de um parquinho ou gramado imaculado com grama, então acabou. Mas vamos colocar este dragão nos arredores da vila Viking, então essa grama não nos serve.



Agora vamos nos concentrar em remover a grama da malha.



No Blender, mude do Modo de Objeto para o Modo de Edição . Para fazer isso, você pode usar a IU ou pressionar Tab no teclado.





Preste atenção às mudanças na janela: agora os vértices do dragão são exibidos lá, e todos estão destacados.





Selecionando os vértices



Em seguida, selecionaremos apenas os vértices relacionados à grama ao redor da base do dragão e, em seguida, os excluiremos.



Observe que a próxima etapa exigirá muita paciência.



Primeiro, selecione a ferramenta Selecionar o Lasso , pressionando as teclas Shift + Espaço, de L . ( Shift e Espaço ao mesmo tempo, seguido por L ).



Ou use o painel da IU para selecionar a ferramenta Selecionar Lasso .





Em seguida, use uma combinação de pressionar o botão do meio do mouse e arrastar para rotação e o botão do meio do mouse + Shift e arrastar para um movimento panorâmico para inspecionar o modelo de todos os lados.



De cada ângulo, o laço escolhe cuidadosamente as pontas da grama ao redor da base do dragão. Pressione Shift entre cada seleção para adicionar novas regiões selecionáveis ​​aos vértices já selecionados.



Aqui está um GIF ilustrando esse processo:





De vez em quando, você precisará girar a janela de exibição para selecionar os vértices que estão atrás das arestas da malha de grama.



Se você selecionou alguns vértices que não deseja excluir, clique neles individualmente com Shift + botão esquerdo do mouse para removê-los dos vértices selecionados.



Com toda a grama e os vértices circundantes selecionados, pressione Excluir ► Vértices para excluí-los.







Observe atentamente a malha restante conforme você aumenta, diminui o zoom e gira a janela de exibição. Repita o processo de seleção e exclusão para todos os vértices que você perdeu.



Após a conclusão, você verá uma imagem assustadora semelhante:





Feche a base da malha



Agora vá para o Modo de Edição se você ainda não estiver nele. A troca de modos é feita pressionando a tecla Tab . Em seguida, selecione toda a borda inferior dos vértices da malha do dragão usando a ferramenta Selecionar e segurando Shift . Isso exigirá paciência.





Ou você pode usar a ferramenta Selecionar Lasoo para isso .





Com os vértices selecionados, clique em Vertex Smooth Vertices .





Isso suavizará um pouco nosso anel de vértice selecionado.



Agora selecione a ferramenta Cursor 3D pressionando Shift + Espaço, Espaço e posicione-a no nível do vértice mais baixo na borda inferior selecionada pressionando o botão esquerdo do mouse . Para determinar o vértice mais baixo, você pode aplicar panorâmica e girar a janela de exibição para ver o dragão de lado.



Em seguida, pressione a tecla . ("Ponto") para selecionar o Ponto Pivô e , em seguida, selecione o Cursor 3D para usar a posição do cursor 3D como ponto de referência.



Em seguida, pressione S, Z, 0, Enter(isso é zero, não O). Esta série de comandos escalará todos os vértices selecionados para a mesma altura do ponto de ancoragem que criamos com o cursor 3D.



Agora temos uma malha como esta:





Finalmente, clique em Vertex ► New Edge / Face from Vertices .



Isso criará uma nova base para o dragão, fechando todos os vértices selecionados e criando uma nova face.







Movendo o dragão



Em seguida, volte ao Modo de Objeto pressionando Tab e selecione o objeto TextureMesh . Passar para a cena dragão coordenadas do ponto de início com uma ferramenta Mover , pressionar o Shift + Espaço, G . Aplique a ferramenta Girar pressionando Shift + Barra de Espaço, R , e gire-a para a posição desejada.



Agora selecione a ferramenta 3D Cursor e clique no meio das costas do dragão. Pressione F3 , insira Definir Origem e pressione Enter . Em seguida, selecione Origem para o Cursor 3D na lista de comandos que aparece .



Um ponto amarelo aparece no meio do cursor 3D, indicando a nova origem do modelo.





Estamos prontos para exportar o modelo!



Em seguida, clique em Arquivo ► Exportar ► Wavefront (.obj) .



Selecione Path Mode ► Copy e certifique-se de que Selection Only esteja selecionado em Export Settings . Salve o arquivo como Dragon.obj em um local conveniente para você.





O valor Copy para o Export Path Mode garante que as texturas sejam copiadas e referenciadas da mesma pasta que o modelo .obj. Isso evita problemas com texturas perdidas quando importadas para o Unity.



Movendo tudo para o Unity



Agora vamos abrir o projeto Starter no Unity e então abrir a cena Assets / RW / Scenes / PhotoscanDragon . Encontre um pedestal vazio entre as pedras da aldeia. É aqui que instalaremos o modelo de dragão com foto digitalizada.





Agora, vamos arrastar o modelo exportado e seus arquivos exportados associados para a pasta de projeto Assets / RW / Models / Dragon .





Em seguida, usaremos a janela Unity Hierarchy para encontrar o GameObject FocalPoint . Arraste o modelo Assets / RW / Models / Dragon / Dragon.obj para a cena e torne-o filho do GameObject FocalPoint .





Agora, vamos alterar a posição e a rotação do componente Transform do objeto Dragon da seguinte maneira:



  • Posição: (X: -33,32, Y: 0,53, Z: 5,08)

  • Rotação: (X: -2,229, Y: 90, Z: -0,6)




Nota : Sua posição e rotação podem ser ligeiramente diferentes, dependendo de onde você clicou ao definir o ponto de ancoragem no Blender.


Agora clique em Jogar e admire nosso próprio dragão com fotos tiradas do mundo real e recriado em 3D.





Para onde ir a seguir?



O projeto concluído pode ser baixado do link no início do artigo.



Demos muitos passos para chegar lá, aprendendo sobre fotogrametria, editando malhas 3D no Blender, manipulação de vértices e trazendo o modelo inteiro para o Unity!



Eu gostaria de agradecer ao The Tales Factory da Unity Asset Store por me permitir usar o ativo Photoscanned MountainsRocks PBR na cena Dragon Viking Village.



Eu recomendo verificar seus excelentes recursos digitalizados de fotos .



Os próximos passos dependem de você. O que você gostaria de recriar e integrar em seus projetos do Unity? Abaixo estão os recursos e leituras adicionais que podem ajudá-lo a continuar seu trabalho:






All Articles