Primeiras aulas do curso Unreal VR parte 2: Locomoção por Teleporte

Unreal VR parte 2: Locomoção por Teleporte

Entradas e Controladores - Introdução

Esse é o curso de realidade virtual com Unreal, onde vamos aprender a criar um sistema de locomoção por tele porte. O pré-requisito desse curso é o anterior, que chama Unreal engine parte 1, crie um ambiente em vr para arquitetura, onde aprendemos a navegação e a manipulação básica na Unreal, além da criação de material, aplicação de textura, técnica de iluminação natural e configuração do dispositivo mobile para ver o projeto no óculos de realidade virtual.

Se você ainda não fez esse curso que é pré-requisito, volta lá e faz, ou pode correr o risco de ficar mais perdido que pego em ventania. Voltando para o nosso projeto. Por que começar pela locomoção e tele porte e não locomoção direcional, que é aquela que quase todo mundo usa no mundo real?

O problema da locomoção direcional em vr e o motivo de usar o tele porte é que na realidade virtual tem gente que fica com tontura, enjoo e até vomita. Se o movimento direcional é muito súbito, por muito tempo ou por velocidade não linear, esse efeito de enjoo acontece em algumas pessoas e é chamado de motion sickness caso queira pesquisar mais.

Mas é possível fazer locomoção direcional mais natural? E o movimento de voo, de mergulho? Sim, dá para fazer tudo isso, tem vários jogos de simuladores que só usam movimento direcional, mas como eu disse antes o método mais seguro para não sujar o tapete da sala é o tele porte mesmo, então vamos começar por ele.

Como vai ser esse sistema de tele porte? Primeiro, vamos criar um avatar fantasma, sem corpo, para que possamos possuir esse corpo que nos pertence e ter o ponto de vista do óculos virtual. Se você ainda não tem um óculos de realidade virtual como vive, rift, ou esses Windows mixed reality novos, mas quer trabalhar com realidade virtual mesmo assim, tudo bem, sem problema, porque vamos fazer todos os testes direto na máquina.

Já que esse projeto vai ser agnóstico de plataforma, vamos configurar as entradas inicialmente pelo clique do mouse, mas deixando a opção para trocar depois por touch, para os óculos virtuais sem controle, ou por botões para os óculos desktop ou mobile que venham com controladores.

Os controladores são os controles que usamos em vr, geralmente ficam presos nas mãos para interagirmos com o mundo, agarrar objetos, desenhar no ar, etc. E continuando com o avatar e as imagens setadas, como a gente vai fazer para selecionar um ponto visível como destino para o tele porte?

Para determinar esse ponto, vamos usar um raio que pode sair dos olhos ou das mãos. Então, o que você vai aprender nesse curso é independente da plataforma de saída ou de visualização do projeto. O método é o mesmo.

Mas esse sistema de tele porte vai funcionar sobre qualquer objeto de qualquer cena que eu trabalhar? Só se a gente quiser. Vamos aprender como chegar à superfície do destino, se vai ser plana ou quase plana. Para evitar que o usuário saia escalando paredes, subindo ladeiras, coisa que a gente não quer.

E se a gente quiser que a pessoa seja proibida de pisar na grama ou que não possa se teletransportar para dentro da jaula do leão, ou para fora da área de fumantes? Vamos ver tudo isso também. Para saber como determinar que áreas e superfícies vão ser válidas para o tele porte e quais vão ser excluídas da locomoção, e também para deixar uma margem de distância das paredes e evitar que desapareçamos de lugar e reapareçamos com a cabeça no objeto, literalmente enfiando o nariz onde não somos chamados.

Para finalizar, vamos ver como editar colisão com objetos, para podermos usar os modelos mais complicados, como superfície de tele porte. Por último, é bom lembrar que nesse curso vamos usar programação visual por nodes da Unreal, que chama blueprints. Então não precisa conhecer outra linguagem de programação. Se conhecer tudo bem, mas não vamos usar. Vamos fazer tudo do zero, sem usar templates prontos, e vamos entender o porquê de cada linha de execução, node, função, variável que a gente usar.

Por enquanto é isso, agora é hora de botar a mão na massa. Vamos começar?

Entradas e Controladores - Inputs de câmera

Vamos começar nosso projeto. Coloquei o meu na pasta C cursos, você pode por onde achar melhor. Chamo esse projeto de teleporte_unr para diferenciar das outras pastas que podem ter arquivos de 3D, imagens, etc.

Baixem o teleporte_unr.zip, abram para curso tele porte ou similar. Dentro da pasta vamos executar o new project. Carregou. Estamos no limbo, projeto nada. Vamos abrir o work in progress e temos nossa linda cena onde haverá o tele porte. Deixei só elementos essenciais para não ter nada sobrando. É uma casa com piscina sem água, jardim. Vamos primeiro trabalhar aqui.

Vou deixar essa cena nos settings, vamos no maps e vou deixar como cena padrão. Vou colocar o C wip para abrir sempre aqui. vamos colocar no canto e dar o “Ctrl + 1” que volta para onde deixei. Dá para marcar até o 9.

Para a gente fazer uma cena com tele porte, precisamos de um character, mas ele é muito pesado para realidade virtual. Vamos fazer com um pawn, que é um pião simples que não tem as mesmas qualidades do character mas serve para vr por ser mais rápido.

Para usar, a gente precisa de um game mode. Vamos criar com o botão direito. Vamos no game mode base. A gente dá um save para ele aparecer. No meu game mode wip posso escolher um default pawn class, que nós vamos criar.

Ao invés do character vamos usar só o pawn por ser mais leve. Vamos dar o nome de meu pawn wip. Save all e vamos escolher o recém criado pawn wip. Agora se eu der o play ele começa a simulação, mas estou travado, porque preciso de controles. Vamos adicionar.

Só que esse pawn também precisa enxergar, ele precisa de uma câmera. Vamos clicar duas vezes aqui, abrir o pawn. Ele não tem nada, é só um objeto, um root. Para vr precisamos de uma câmera que o hmd vai usar. Vamos criar como aprendemos no curso anterior. Só que quero essa câmera com uma raiz. Vou dar o nome de câmera olhos para lembrar que vão ser os olhos.

Vou colocar um scene component, que é um eixo simples, um objeto que não aparece no render, só para usar como hierarquia. Crio o default, coloco o scene em cima da câmera, ele inverte a ordem, vamos colocar a câmera em cima e dar o nome de câmera olhos root. A gente precisa desse eixo e vamos colocar outras coisas embaixo dele.

Vamos dar compile, save e ver. Vamos colocar na cena, no meio do eixo de referência, e vou rotacionar 90º. Vou colocar um pouco mais para cima, uma média de altura de 160. Se eu der o play estou no meu pawn e continuo atrasado, não consigo clicar em lugar nenhum porque não temos controladores. Precisamos de input.

Vamos no settings e vamos colocar inputs nessa cena. Não tem nenhuma de eixo. Vamos clicar no mais e nomear para olhar horizontal yaw, que é esquerda e direita para olhar. Essa tecla vai ser mouse x. E vamos clicar mais um. Não precisa colocar tudo isso, mas é bom colocar que o yaw é horizontal e o pitch vertical. Se quiser colocar só um dos dois tudo bem.

Vamos colocar mouse y, mas como aprendemos temos que colocar escala -1, senão colocamos para cima. Quero o contrário, que nem jogo de avião. Não fez nenhuma diferença, continua travado. Porque precisamos adicionar ao meu novo pawn wip. Clico duas vezes nele e vamos colocar os novos inputs.

Clico com o direito, olhar horizontal yaw, e daqui a gente vai puxar add controller yaw input. Temos o input feito. Agora o olhar vertical pitch. Clico com o direito, ícone de evento, esse evento vai ser pitch input. Liga para cá para mostrar que o eixo vai para cá e daqui a mesma coisa. Compilo e salvo.

Não está funcionando, porque no meu pawn a gente precisa habilitar o auto process player, que é o player 0. Compile save, play, e caímos no lugar certo, onde posicionamos o pawn. Só que quando clico ainda está travado, não mexe nada, porque precisamos habilitar o user controller rotation pitch e o yaw. Vamos usar só esses dois.

Vamos dar um play. Consigo olhar para a esquerda, direita, cima e baixo, porque habilitei os inputs. Por enquanto está funcionando.

Entradas e Controladores - Detalhes do post process

Nosso pawn está funcionando, então agora só vou explicar mais algumas coisas aqui que ficaram nessa cena, que apesar de ser só objetos importados tem esse fundo azulado, e a gente pode ver um post process volume. Por que criei isso? Porque se eu tivesse o post process para vr o Unreal automaticamente faz ajustes que não conseguimos tirar, de exposição. Crio um post process no volumes.

Desabilitei o bloom, você tem que colocar intensidade zero, para ele realmente ficar sempre zero. O efeito de vignette se eu tirar fica com a borda escura, não quero isso, para vr a gente não quer esses efeitos porque vai consumir processamento à toa e às vezes distorce o que não queremos.

O exposure deixei em 1 e 1, porque o padrão é menos 0.3 e 2, só que a gente fica variando quando chego em um lugar claro ou escuro, e quero isso fixo. Por isso uso o post process, para controlar a cena e não termos essas alterações estranhas.

O exponential height fog é uma neblina que se eu não tivesse fica um fundo preto. Como não quero, deixo no modes em um, mexi em alguns parâmetros. Mudei a densidade para 0.1, o padrão era 0.2, mudei a cor, que vai deixar como você quiser. O falloff deixei no máximo, que é 2, para baixar a neblina. Opacidade coloquei 0.3, mas vocês podem mudar. É só para não ficar o fundo infinito preto. Para dar essa sensação de dimensão, já que não temos céu nem nada.

É isso por enquanto, está funcionando. Na próxima a gente vai aprender como colocar os primeiros controladores de tele porte nessa cena. Não esqueça de salvar tudo. Ele mostra que foi alterado.

Sobre o curso Unreal VR parte 2: Locomoção por Teleporte

O curso Unreal VR parte 2: Locomoção por Teleporte possui 89 minutos de vídeos, em um total de 37 atividades. Gostou? Conheça nossos outros cursos de 3D em UX & Design, ou leia nossos artigos de UX & Design.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda 3D acessando integralmente esse e outros cursos, comece hoje!

  • 1265 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1265 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1265 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1265 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas