Índice:

Aplicativo de realidade aumentada para iniciantes: 8 etapas
Aplicativo de realidade aumentada para iniciantes: 8 etapas

Vídeo: Aplicativo de realidade aumentada para iniciantes: 8 etapas

Vídeo: Aplicativo de realidade aumentada para iniciantes: 8 etapas
Vídeo: Criando a primeira aplicação em Realidade Aumentada - Curso de Realidade Aumentada - Aula 01 2024, Novembro
Anonim
App de realidade aumentada para iniciantes
App de realidade aumentada para iniciantes
App de realidade aumentada para iniciantes
App de realidade aumentada para iniciantes

Este tutorial irá mostrar como fazer um aplicativo de realidade aumentada para iniciantes. Usaremos a detecção de plano de solo do Unity3D e da Vuforia para fazer um aplicativo AR sem marcadores para Android ou IOS. Vamos adicionar um modelo 3D ao Unity e movê-lo com um joystick móvel. Este método também funcionará com qualquer outro modelo 3D gratuito que você possa encontrar.

Etapa 1: isso funcionará no seu telefone?

Isso funcionará no seu telefone?
Isso funcionará no seu telefone?

Em primeiro lugar, precisamos ter certeza de que seu telefone suporta a detecção de plano de solo da Vuforia, então certifique-se de que seu telefone esteja na lista de dispositivos compatíveis.

library.vuforia.com/articles/Solution/Vufo…

A única coisa que você precisa, tanto quanto o software, é a versão gratuita do Unity. Se você ainda não o possui, acesse Unity3d.com e clique em obter Unity. Agora estou usando a versão 2018.2.0, se esta versão não estiver mais disponível, vá para as versões anteriores do Unity e baixe 2018.2.0.

Durante o processo de instalação, certifique-se de instalar os pacotes para IOS ou Android dependendo do tipo de telefone que você possui e certifique-se de instalar o suporte Vuforia.

Etapa 2: iniciar um novo projeto do Unity

Comece um novo projeto do Unity
Comece um novo projeto do Unity

Inicie um novo projeto do Unity e exclua a câmera principal. Na barra de menu superior, vá para o objeto do jogo, vuforia e adicione um "ARCamera".

Antes que qualquer coisa possa funcionar, precisamos habilitar o Vuforia, então vá para as configurações de compilação de arquivos, plataforma de troca, configurações XR e habilite o suporte de realidade aumentada do Vuforia.

Clique no objeto de jogo "ARCamera" e no inspetor clique em Vuforia configuration. Na parte inferior, habilite o rastreamento do dispositivo e mude o modo de rastreamento para posicional.

Adicione um estágio de plano de solo e um localizador de plano do mesmo menu Vuforia em que você obteve a câmera.

No localizador de plano, altere o menu suspenso para interativo, desmarque estágio duplicado e arraste o objeto do estágio do plano de solo para o slot de estágio de âncora vazio no localizador de plano.

Agora precisamos adicionar nosso joystick para que no menu superior vá para ativos, pacote de importação, entrada de plataforma cruzada.

Na pasta de recursos padrão recém-adicionada, vá para pré-fabricados e arraste o pré-fabricado de controle de stick único móvel para a cena.

Exclua o botão de salto. Clique com o botão direito na hierarquia e adicione uma IU, sistema de eventos.

Por último, no objeto de jogo raiz do joystick, clique para adicionar um componente e adicione um dimensionador de tela. Altere sua lista suspensa para dimensionar com o tamanho da tela. No script do Joystick, altere a faixa de movimento para 25.

Etapa 3: Crie uma Alternância

Crie uma Alternância
Crie uma Alternância

Agora, o comportamento padrão do comportamento de posicionamento de conteúdo é sempre que clicamos na tela, o estágio do plano de solo é reposicionado. Isso inclui quando clicamos em objetos de IU, como botões ou joysticks, de forma que não é isso que queremos. Como o Vuforia atualmente não permite a edição do comportamento de posicionamento do conteúdo para corrigir esse problema, poderíamos escrever nosso próprio do zero ou, por causa deste tutorial, vamos apenas criar um botão que liga ou desliga essa funcionalidade.

Clique com o botão direito no joystick e crie uma IU, alterne. Expanda tudo e mude as cores ou o texto se quiser.

Na seção de alteração do valor ativado da alternância, adicione o localizador de avião e torne-o ativo o objeto do jogo com base no valor da alternância. Agora, uma vez que o objeto é colocado no mundo, provavelmente devemos desligar a chave, então vá para o comportamento de posicionamento de conteúdo e arraste a chave para o conteúdo colocado plano e defina a chave para desligar.

Etapa 4: MONSTRO

MONSTRO!
MONSTRO!

Vá para janela, geral e adicione uma janela de armazenamento de ativos.

Pesquise por “monstro de personagem” e classifique por livre, pegue o primeiro resultado e importe-o.

Arraste o monstro pré-fabricado para baixo do palco do plano terrestre, tornando-o uma criança. Defina sua posição e rotação para zero. Defina sua escala x y e z para 0,1.

Vá para o animador e exclua tudo, exceto a entrada. Arraste as animações de caminhada e ocioso da pasta de animações do monstro.

Na seção de parâmetros, clique no botão de adição e adicione dois gatilhos “andar” e “ocioso”.

Clique em cada animação e adicione uma transição à outra.

Clique em cada transição e adicione uma condição, coloque em marcha para a primeira e ocioso para a segunda. Desmarque o tempo de saída e arraste todos os controles deslizantes para 0 em cada um.

Agora queremos que cada animação seja repetida, então clique em cada animação e navegue até seu clipe. Clique em editar em cada um e verifique o tempo do loop.

Etapa 5: controlando nosso caráter

Controlando nosso caráter
Controlando nosso caráter

Clique com o botão direito na pasta de ativos e crie um script C # chamado "CharacterController" e adicione este:

using System. Collections;

using System. Collections. Generic; using UnityEngine; usando UnityStandardAssets. CrossPlatformInput; controlador de caracteres da classe pública: MonoBehaviour {private const float speed =.1f; Animador privado anim; // Use para inicialização void Start () {anim = GetComponent (); } // A atualização é chamada uma vez por quadro void Update () {// move o caractere do joystick input float x = CrossPlatformInputManager. GetAxis ("Horizontal"); float y = CrossPlatformInputManager. GetAxis ("Vertical"); if (! x. Equals (0) &&! y. Equals (0)) {transform.eulerAngles = new Vector3 (transform.eulerAngles.x, Mathf. Atan2 (x, y) * Mathf. Rad2Deg, transform.eulerAngles.z); } if (! x. Equals (0) ||! y. Equals (0)) {transform.position + = transform.forward * Time.deltaTime * speed; anim. SetTrigger ("caminhar"); } else {anim. SetTrigger ("idle"); }} public void PlaceCharacter () {transform.localPosition = Vector3.zero; }}

Etapa 6: Deixe-me explicar

Deixe-me explicar
Deixe-me explicar

Em primeiro lugar, temos um float constante definido no topo, então se você quiser que seu monstro se mova mais rápido ou mais devagar, basta alterar esse valor.

Este script será adicionado ao nosso monstro para que possamos fazer algo como "GetComponent ()" a fim de obter uma referência para este animador de monstros (dessa forma podemos reproduzir as animações do código).

Em seguida, obtemos o movimento xey do joystick do gerenciador de entrada de plataforma cruzada e salvamos cada um em uma variável.

Então usamos essas duas variáveis para girar e mover o monstro de acordo com a entrada do joystick.

Se o monstro estiver se movendo, reproduziremos a animação de caminhada e se ele não estiver se movendo, reproduziremos a animação ociosa.

A última função que temos é definir a posição local do monstro de volta a zero toda vez que o plano de solo for reposicionado. Assim, com a forma como nosso aplicativo está configurado agora, Vuforia irá reposicionar o estágio do plano de solo cada vez que clicarmos na tela. Nosso monstro pode se mover pelo palco, então devemos definir sua posição de volta para zero, em relação ao palco toda vez que ele for reposicionado.

Etapa 7: Toques finais

Toques finais!
Toques finais!

Finalmente, só precisamos adicionar nosso CharacterController.cs ao nosso monstro. Então vá para a transformação raiz do pré-fabricado monstro na hierarquia e clique nela. Isso o puxará para cima no inspetor à direita. Clique em adicionar componente e procure o script do controlador de caracteres. Adicione isso.

Também precisamos ter certeza de que nossa função PlaceCharacter realmente seja chamada, então vá para o objeto de jogo do localizador de planos e clique nele.

No inspetor deve haver uma seção avançada que você pode clicar para expandir. Há um evento do Unity chamado "OnContentPlaced". Adicione uma função a isso clicando no botão de adição. Arraste o monstro para o slot vazio, escolha o script do controlador de personagem e, finalmente, escolha a função "PlaceCharacter".

Etapa 8: vamos colocar no seu telefone

Vamos colocar no seu telefone
Vamos colocar no seu telefone

Se você estiver no Android ou IOS, clique em arquivo, crie configurações e vá para as configurações do player para sua respectiva plataforma. Em ambos os casos, certifique-se de inserir algo para o identificador do pacote (no formato "com. YourName. YourAppName"). Além disso, certifique-se de ter alguma mensagem no campo de descrição de uso da câmera.

Se você estiver no Android, desmarque a compatibilidade do Android TV e altere o alvo mínimo de compilação para Nougat.

Clique em construir e executar ou em construir e instalar o.apk com ADB ou Android Studio.

Se você estiver no IOS, clique em build e, em seguida, abra a pasta resultante no XCode. Inscreva-se para obter uma conta de desenvolvedor Apple gratuita (se a nossa ainda não tiver uma) escolha sua equipe e aperte o botão play para obtê-la no seu telefone!

Me avisem nos comentários se vocês tiverem alguma dúvida!

Recomendado: