Pesquisar em Unity

Criando aplicativos de AR em Unity: as últimas dicas e recursos

Última atualização: novembro de 2018

Com Fundamentos de AR e a arquitetura de software utilizada, os desenvolvedores em Unity agora têm uma API comum com suporte às funcionalidades essenciais para ARCore, ARKit e plataformas futuras. ARCore e ARKit oferecem uma mistura de recursos exclusivas de cada plataforma, bem como alguns comuns. Com Fundamentos de AR e os SDKs específicos da plataforma, você tem tudo de que precisa em Unity para criar conteúdo de AR, além de uma coleção em expansão de recursos de aprendizagem completos.

ARCore

ARCore é o plug-in desenvolvido e mantido pela Google. Você pode baixar o Unity SDK para ele aqui. ARCore é integrado diretamente à engine — há uma pequena caixa de seleção para isso nas configurações de XR — e é compatível com as versões 2017.1 ou posterior.

Wizard of Oz

ARCore Wizard of Oz app, de Google

O ARCore SDK oferece HelloAR de amostra de cena que apresenta recursos, como Augmented Images, Cloud Anchors e Computer Vision. Outros recursos exclusivos inclusos em ARCore são Feature Points e Instant Preview.

HelloAR está pré-configurado para encontrar os planos horizontal e vertical. Inclui um prefab de Andy, o Android gerado toda vez que o usuário toca na cena, mas você pode facilmente substituir por seus próprios modelos 3D. Um ponto importante ao desenvolver com base na cena do HelloAR é que o ARCore lida com as sessões como scriptable assets. Portanto, se você tentar usar alguns recursos no ARCore, verifique se está usando os dados de sessão corretos e se configurou a sessão nele.

O banco de dados Augmented Image é um exemplo de um scriptable asset que você atribui especificamente na sessão. Augmented Images permite a seleção múltipla de imagens no projeto, clique com o botão direito do mouse nelas e crie um submenu dentro do menu Create. Depois, todas as imagens selecionados são agrupadas em um único scriptable asset e cada imagem recebe uma pontuação com base na facilidade com que a visão do computador consegue reconhecer e rastrear esses objetos (uma pontuação de 85 ou mais é recomendada).

ARKit

Ao contrário do ARCore, este SDK foi desenvolvido e é mantido pela Unity. Funciona com as versões 2017.1 e posteriores, e em dispositivos da Apple com iOS 11.3 e posterior. Você pode obtê-lo aqui. As amostras de cenas que acompanham o SDK incluem todos os principais recursos do ARKit, incluindo Focus Square, Shadows and Occlusion, Image Anchor, Plane Mesh, Relocalize e Face Tracking. Outros recursos exclusivos do ARKit são Environment Probes, World Maps e Trackable Images. Saiba mais sobre eles nos documentos do ARKit.

Fundamentos de AR

Fundamentos de AR é a nossa solução que traz as funcionalidades mais importantes do ARKit e do ARCore para uma API comum extraída dentro do Unity. Observe que, atualmente, somente algumas das funcionalidades mais importantes são abordadas. Se você quiser usar recursos específicos da plataforma, como Environment Probes no ARKit ou Instant Preview no ARCore, estes estão disponíveis somente por meio dos SDKs específicos. No entanto, novos recursos serão adicionados continuamente aos Fundamentos de AR. Por enquanto, oferece suporte a recursos, como detecção dos planos vertical e horizontal, estimativa de luz, pontos de recurso, dimensionamento de AR e âncoras de AR.

Fundamentos de AR está disponível nas versões 2018.1 e posteriores, e pode ser instalado por meio do Package Manager.

Dan Miller, um evangelista em XR na Unity, mostra como instalar Fundamentos de AR passo a passo na marca de 17:30 desta sessão da Unite.

GNOG

GNOG, por KO_OP, criado com ARKit

O problema da escala em RA e como resolvê-lo

Reduzir os recursos reais em seu conteúdo RA é arriscado. Por exemplo, se você tiver física em um objeto de jogo, o comportamento da física mudará e possivelmente se tornará instável se você reduz o tamanho. Isso não funcionará bem em níveis complexos. E alguns sistemas Unity não podem realmente ser alterados uma vez reduzidos, como Nav Mesh, Terrain, Lightmaps ou Particle Systems.

prévia mesa cidade

Em vez disso, você pode aplicar alguns truques de câmera úteis para dar a impressão que seus recursos foram reduzidos. Você pode escalar a posição de uma câmera ou usar várias câmeras para criar o efeito da escala. Para informações detalhadas consulte este post de blog pelo engenheiro da Unity, Rick Johnson. Você também pode ver uma demonstração dessas dicas de dimensionamento na marca de 42:05 na palestra de Jimmy e Tim.

Algumas dicas adicionais: os pontos de recurso desaparecerão se o dispositivo estiver imóvel por algum tempo . Se o dispositivo está vendo apenas uma imagem de câmera com uma orientação, então é muito difícil perceber o mundo. O aplicativo requer movimento, e olhar à volta para o dispositivo reconhecer verdadeiramente os recursos.

desenvolvimento em dots do unity

Você deve fornecer sugestões visuais e/ou de áudio para que o usuário mova o dispositivo suficientemente para capturar pontos de recurso. Escolha cuidadosamente sobre onde colocar sinais visuais, como um ponto focal onde as instruções ou as diretrizes aparecem.

Forneça sugestões que informem os usuários que a ação e/ou a jogabilidade estão a uma curta distância de sua localização . E que a luz ambiente não deve ficar muito escura ou muito brilhante, pois ambas ocultam a informação na câmera. A luz e a sombra devem ser equilibradas para que a câmera possa reconhecer os limites das superfícies.

Mantenha a IU do seu aplicativo RA simples, ordenada e flexível . Não sobrecarregue os usuários com muito texto, elementos de interface do usuário, personagens, explosões, etc. Tente colocar as ações e os elementos da IU em um local principal.

Finalmente, dê-lhes algumas opções para lidar com fatores incontroláveis , como pessoas que atravessam inesperadamente o espaço onde o aplicativo está jogando. Por exemplo, ofereça aos jogadores maneiras de mover conteúdo para que eles possam escolher qual área e/ou superfície para jogar.

Sete dos melhores conjuntos de ferramentas que você vai querer usar para desenvolver conteúdo RA

Kit de ferramentas RA Vuforia: o kit de ferramentas de AR do Vuforia, disponível nas versões 2017.2 e superiores, pode ser usado com ARCore, ARKit e Microsoft Hololens, fornecendo funções adicionais para o conteúdo de AR.

Vuforia

Função de segmentação de imagem de Vuforia

Controle remoto de AR facial: Controle remoto de AR facial é uma maneira de baixo custo de capturar desempenho usando um dispositivo conectado diretamente ao Unity Editor. É útil não apenas para criação de animações, mas também para modelagem e rigging de personagens e formas combinadas, criando um jeito otimizado de criar suas próprias interações do tipo animoji ou memoji em Unity. Isso permite que os desenvolvedores iterem o modelo no editor sem precisar compilar no dispositivo, removendo etapas onerosas no processo. Para obter mais detalhes, consulte os documentos.

Controle remoto de ARKit do Unity: é um recurso que pode ser usado com o plug-in ARKit do Unity. O Unity ARKit Remote permite executar um aplicativo especial no dispositivo iOS que alimenta os dados ARKit de volta ao Unity Editor, para que você possa responder a esses dados em tempo real.

Unity UI : Você precisa ser criativo com a IU do seu jogo ou aplicativo RA. A IU Unity será um dos seus conjuntos de ferramentas fundamentais. Para o uso eficiente da Unity UI, existem inúmeras dicas, incluindo:

Documentos de IU Unity

Algumas das melhores dicas de otimização para IU Unity

Melhores práticas: otimizando a IU Unity

Profiler IU

Text Mesh Pro: Text Mesh Pro é uma ótima ferramenta usada com o Unity UI para oferecer mais flexibilidade na concepção de IUs ricas e dinâmicas. Está disponível gratuitamente na Asset Store.

TextMesh Pro usa técnicas avançadas de renderização de texto, com um conjunto de shaders personalizados. Aumenta significativamente a qualidade visual e oferece flexibilidade incrível aos usuários para criar estilo de texto e texturização.

Text Mesh Pro

Timeline: Timeline é um sequenciador multi-track completo integrado nativamente ao Unity. Permite controlar cada elemento para criar cenas e sequencias sem a necessidade de programação complexa. Você pode sequenciar clipes de animação, keyframes, áudio e muito mais. Veja aqui uma resumo prático dos últimos recursos de aprendizado para Timeline.

Sequenciador multi-track do Timeline

Particle Systems: o Unity oferece uma extensa lista de módulos para criar uma panóplia de sistemas de partículas. Comece com esta visão geral dos últimos recursos para Particle Systems. Encontre aqui documentos sobre Particle Systems.

Analytics: o Unity Analytics não é apenas para quando o seu jogo está concluído — use-o na fase de testes, por exemplo, para ver como os jogadores experimentam e compreendem a IU do seu aplicativo. Saiba mais sobre como usar o Analytics antes, durante e após o lançamento.

Não o sobreaqueça: dicas de otimização para RA

Os aplicativos RA exigem muito do seu hardware: várias câmeras funcionando simultaneamente, capacidades de detecção de profundidade, algoritmos computacionalmente intensivos. É em grande parte um meio móvel/ portátil. Assim, são necessárias algumas otimizações significativas de desempenho, incluindo gerenciamento de memória, processamento e controle do domínio físico da experiência.

Aqui estão três dicas de otimização úteis para ajudar você a manter o nível de temperatura nos aplicativos de AR.

Mais recursos

Queremos saber! Você gostou deste conteúdo?

Sim, continue. Bem. Poderia ser melhor