Oi Serpa, tudo bem?
Eu já postei nas notícias projetos finalizados de exemplo, com o executável independente do Unreal para a pessoa nagevar igual num jogo.
Mas se você quiser o projeto no Editor do Unreal com todos os Blueprints e tal, eu não baixei aquela sala com Ray Tracing que a Epic ofereceu tempos atrás, mas creio que ela esteja preparada para navegação.
Nos exemplos mais antigos do Unreal tinha uma sala bem simplezinha que estava preparada para navegação, não sei se ainda está disponível para download.
Entretanto, configurar os Blueprints para o personagem andar e trocar materiais é super fácil e posso te explicar aqui pelo fórum mesmo.
Mas antes de tentar criar as interatividades, eu sugiro que estude os Blueprints desde o princípio, os conceitos básicos, os principais Nodes, a forma de trabalhar e pensar, pois dai tudo se tornará simples.
Eu vou te mostrar como fazer, mas o importante é entender porque é feito deste jeito, assim, você mesmo poderá fazer qualquer coisa que imaginar.
Segue o passo a passo:
1- Acessa o menu Edit > Project Settings e entra no item Input, como mostra a imagem 1 em anexo.
Clique no sinal de + na frente do Axis Mapping e coloque o nome FrenteAtras no item, depois clique duas vezes no sinal de + na frente dele para criar duas teclas, escolha na lista as teclas W e S, como mostra a imagem 1.
Coloque o valor de -1.0 na frente da tecla S para inverter o movimento.
Faça o mesmo para o movimento DireitaEsquerda colocando as teclas A e D, como mostra a imagem 1, lembrando de inverter a tecla A colocando -1.0 no Scale.
Para girar a cabeça vai usar o Mouse, então, crie mais dois itens no Axis Mapping, mas agora com apenas 1 comando em cada e em vez de atribuir tecla, encontre na lista a opção de Mouse X e Mouse Y, igual mostra a imagem 1.
Inverta o Mouse Y colocando -1.0 no Scale.
2- Clique com o botão direito em qualquer parte vazia do Content Browser para abrir o menu e escolha Blueprint Class.
Vai abrir uma janelinha, escolha a opção Character e coloque um nome no arquivo gerado.
Faça a mesma coisa, mas agora escolha a opção Player Controller na janelinha, depois coloque um nome no arquivo gerado.
Faça a mesma coisa de novo, mas agora escolha a opção Game Mode na janelinha e coloque um nome no arquivo gerado.
Abra o Blueprint do Character, clique com o botão direito no gráfico e digite Player, assim, vai aparecer a opção Get Player Controller na lista, selecione ela para criar o Node no gráfico, como mostra a imagem 2.
Clique no pino azul do lado direito do Node do Player Controller e arraste para abrir a lista de Nodes, digite Rotation e vai aparecer o Get Control Rotation.
Arraste o pino roxo do lado direito do Node do Get Control Rotation e digite Forward para pegar o Get Forward Vector, faça a mesma coisa, mas agora digite Right para pegar o Get Right Vector, igual mostra a imagem 2.
Clique com o botão direito em qualquer parte vazia do gráfico e digite FrenteAtras ou nome do comando que criou no Input do Project Settings para este movimento, vai aparecer duas opções na lista, escolha a que está dentro do Axis Event, ela vai criar um Node vermelho no gráfico igual mostra a imagem 2.
Faça a mesma coisa, mas agora digite DireitaEsquerda para pegar o Node deste movimento, igual mostra a imagem 2.
Arraste o pino verde do lado direito do Node FrenteAtras e digite Movement para pegar o Add Movement Input e conecte igual mostra a imagem 2.
Faça a mesma coisa para o Node DireitaEsquerda.
3- Clique com o botão direito em qualquer área vazia do gráfico e digite GiroLateral para criar o Node deste movimento, faça a mesma coisa para o GiroVertical, como mostra a imagem 2.
Arraste o pino verde do GiroLateral e digite Yaw para pegar o Add Controller Yaw Input e conecte igual a imagem 3.
Depois, arraste o pino do GiroVertical e digite Pitch para pegar o Add Controller Pitch Input e conecte igual a imagem 3.
No final, clique no botão Compile e depois no Save.
4- Abra o Blueprint do Player Controller e marque as opções Show Mouse Cursor e Enable Click Events, igual mostra a imagem 4.
Clique no botão Compile e depois no Save.
5- Abra o Blueprint do Game Mode, acesse a lista do Player Controller Class e encontre o seu Player Controller, depois coloque o seu Character na lista Default Pawn Class.
No final clique no botão Compile e depois no Save.
6- Acesse o menu Window do Unreal e escolha a opção World Settings para abrir o painel World Settings, encontre o grupo Game Mode e adicione o seu Game Mode na lista, igual mostra a imagem 6.
Agora, se clicar no botão do Play para rodar a aplicação interativa, poderá andar pela cena com os controles que criou.
7- Explicando basicamente como trocar o material de alguma coisa:
Primeiro crie um Blueprint do tipo Actor, coloque um nome nele, abra o Blueprint e adicione um Static Mesh no painel dos Components, como mostra a imagem 7.
Clique no Static Mesh e adicione o objeto que quiser no painel Details dele, igual mostra a imagem 7.
Também verifique em qual Element está o material que deseja trocar, no caso vou trocar a madeira que está no Element 0.
8 e 9- Acesse o gráfico do Blueprint com o Static Mesh selecionado e encontre os Events no final do painel Details, são vários botões verdes, clique no botão que está na frente do On Clicked, igual mostra a imagem 8.
Assim, vai aparecer um Node vermelho no gráfico com o nome de On Clicked, como mostra a imagem 8.
Arraste o Static Mesh do painel Components para o gráfico, vai criar um Node azul com o nome dele.
Arraste o pino deste Node e digite Material para aparecer o Create Dynamic Material Instance.
Arraste o mesmo pino de novo e digite Material de novo, mas agora encontre o Get Material, igual mostra a imagem 8.
Conecte o Get Material no Create Dynamic Material Instance e coloque o número do Element que deseja modificar, no caso o meu é o zero que já vem por padrão.
Arraste o pino azul do lado direito do Create Dynamic Material Instance e digite Texture para pegar o Set Texture Parameter Value.
Agora você precisa saber o nome do parâmetro do material onde está a textura, é só abrir o material e ver, como mostra a imagem 9.
Coloque o mesmo nome no Parameter Name do Node Set Texture Parameter Value.
Depois, escolha a nova textura no Value do Node, logo abaixo do Parameter Name.
Pronto, se você colocar o Blueprint deste objeto na cena e dar Play, quando clicar no objeto vai trocar a textura.
Abração e tudo de bom.
André Vieira