Jogos

Tutorial Unity3D

Tutorial Unity3D

Introdução ao Unity 3D

Unity 3D é um poderoso motor de desenvolvimento de jogos. É uma plataforma cruzada que permite criar jogos para celular, web, desktop e console, cerca de 30 plataformas ao todo. O Unity 3D tem muitos recursos interessantes, alguns deles são fornecidos abaixo:

Interfaces Unity

Vamos explorar as interfaces do editor Unity, que são configuráveis.  É feito de janelas viradas que você pode reorganizar de acordo com sua necessidade.  Vamos explorar as configurações padrão da janela. Aqui está a imagem de como fica

Janela de Hierarquia

A janela Hierarquia representa cada objeto na cena. Mostra como os objetos estão ligados uns aos outros na cena, de modo que essas duas janelas estão relacionadas. Na janela de hierarquia, há uma lista suspensa chamada Crio. Você pode criar um objeto vazio, objetos 3D, objetos 2D, luz, áudio, vídeo, sistema de partículas e objetos de câmera com muita facilidade. A janela de hierarquia é mostrada abaixo. 'Sem título' é o nome da cena. Você pode renomeá-lo como quiser. Você pode ver um ícone suspenso no lado direito de sem título (nome da cena). Ao clicar neste menu, você pode ver diferentes opções para Salvar cena e Adicionar nova cena.

Janela de cena

A janela Scene é onde você cria sua cena. É onde você pode interagir com seus objetos e modelos de jogo. Você pode redimensionar, remodelar e reposicionar seus objetos de cena. Esta é a janela onde você começa a trabalhar com o Unity. A vista da cena pode ser 2D ou 3D, dependendo da configuração do seu projeto. Aqui está uma captura de tela de como a janela da cena se parece:

Na janela de cena você pode ver outra guia rotulada Sombreado, aqui é onde você pode selecionar o tipo de visão que deseja sombreada ou em estrutura de arame. Tem muitas outras opções como Diversos, Iluminação global, GI em tempo real, GI Baked e muitos outros. Você pode visualizar em 2D ou 3D usando o botão próximo ao Sombreado suspenso. A seguir está o botão de alternância para a iluminação da cena. Da mesma forma, um botão de alternância para o áudio da cena. A seguir está uma lista suspensa para habilitar a caixa do céu, névoa, material animado e efeitos de imagem.

Janela de jogo

A janela do jogo representa seu jogo final publicado no modo de jogo. É renderizado a partir das câmeras que você usou no jogo. Na janela do jogo você pode ver outra barra de ferramentas conforme mostrado abaixo na captura de tela:

A tela 1 mostra a câmera presente na cena do jogo. Por padrão, é definido como Display 1 para câmera principal. Se você tem várias câmeras e deseja alternar, você pode selecionar na lista suspensa. Ao lado disso, você pode ver uma lista suspensa para proporções. Você pode selecionar de acordo com a tela do monitor do dispositivo de destino. Em seguida, você pode ver um Controle deslizante de escala para aumentar o zoom. Role para a direita e examine mais detalhes de sua cena no modo de reprodução. O próximo é o botão para Maximize On Play, quando clicado, o tamanho da janela do jogo será máximo no modo de jogo. Áudio mudo alternar é usado para ativar / desativar áudio. Estatísticas mostra estatísticas de renderização sobre o áudio e os gráficos do seu jogo.

Janela de Ativos do Projeto

Como o nome mostra a janela de ativos tem todos os ativos do seu projeto que você pode usar. Se você importar algo novo, ele aparecerá na janela de ativos do projeto. A janela de ativos do projeto tem duas partes, o painel esquerdo e o painel direito, conforme mostrado na captura de tela abaixo:

O painel esquerdo mostra a estrutura hierárquica dos ativos do projeto.  Quando você clica em qualquer pasta irá mostrar os detalhes no painel direito. Por exemplo, na figura fornecida Pré-fabricados pasta é clicada no painel esquerdo para que seus detalhes sejam exibidos no painel direito, pois contém dois objetos do jogo. No painel esquerdo você pode ver um Favoritos seção, onde você pode arrastar itens que deseja usar com muita frequência para evitar perda de tempo em procurá-los. Acima você pode ver um Crio menu suspenso que permite criar um script C #, uma pasta, um shader, um skin GUI, uma cena, um prefab, um material e muito mais.

Janela de console

A janela do console é o lugar onde você pode ver seus erros, avisos e mensagens. Você pode ajustá-los clicando em seus botões de alternância. Ele também permite que você apague todos os erros, avisos e mensagens. Você pode pausar os erros por um certo tempo. Aqui você pode ver na figura a seguir

O ícone suspenso no canto superior direito tem opções para Editor Log e Stack Trace Logging.

Janela Inspetor

A janela do inspetor é uma das janelas mais interessantes e úteis do editor. É o lugar onde você pode editar todas as propriedades do objeto de jogo selecionado. Cada objeto do jogo tem seu próprio tipo, então suas propriedades serão diferentes e a janela do inspetor pode variar. Ativos, scripts e objetos de jogo variam em propriedades. Vamos ver as propriedades de um cubo na janela do inspetor. Aqui está a imagem:

Você pode renomear seu objeto de jogo clicando no nome anterior e digitando um novo. Em seguida, você verá a seção de transformação, onde pode ajustar a posição, rotação e escala do seu objeto de jogo selecionado. No último, você vê um nome de botão como Adicionar Componente, clique nele para adicionar novos componentes ao seu objeto de jogo, por exemplo, se você deseja anexar um script, basta clicar em adicionar componente e digitar o nome do seu script.

Barra de Ferramentas

A última é a guia da barra de ferramentas, com muitos recursos úteis. Ele contém algumas ferramentas básicas para manipular a vista da cena e objetos. No centro, há botões para reproduzir, pausar e controlar as etapas. Os próximos dois botões mostram sua nuvem Unity e conta Unity. Aqui está a figura como parece:

Introdução ao Unity

Vamos começar a criar um novo projeto no Unity porque é hora de brincar com o que aprendemos. Clique duas vezes no ícone do Unity a seguinte janela aparecerá:

Entrar Nome do Projeto, selecione um local de trabalho Localização e, em seguida, selecione o tipo de seu projeto 2D ou 3D. Clique em Criar Projeto.

Por padrão, você verá uma cena sem título contendo uma câmera principal e luz direcional na cena. Vamos começar a criar um ambiente.

Ambiente de construção

Em primeiro lugar, crie um plano clicando em Criar -> Objeto 3D e então selecione Plano. Ou, alternativamente, você pode criá-lo clicando em GameObject -> Objeto do jogo e então selecione Plano. Vá para a janela de hierarquia e clique no objeto do jogo de avião. Agora vá para a janela do inspetor e renomeie-a como Chão. Agora ajuste os valores de transformação para que este plano pareça uma estrada reta. Basta dimensionar X a 6 e Z a 50. Aqui está a imagem de como fica

Agora baixe uma textura de estrada e aplique no objeto no solo. Crie uma pasta com o nome Texture. Arraste a textura da estrada baixada para a pasta da Textura. Agora selecione Chão e arraste a textura da estrada na vista da cena. Aqui está a imagem de como fica

Esta é a textura que baixei

Depois de aplicar a textura no solo, clique em Solo e defina os ladrilhos na janela do inspetor. Aqui está como eu configuro.

Agora que você criou um modelo de estrada, vamos criar um modelo de bola na unidade.

Vamos para Criar -> objeto 3D e então selecione Esfera, você verá um objeto de esfera na janela de cena. Selecione-o e vá para a janela do inspetor para renomeá-lo como Bola. Agora ajuste os valores de transformação de acordo. Basta dimensionar para 5 ao longo de todos os três eixos e reposicioná-lo no centro da estrada. Aqui está como fica

Agora crie uma cerca ou muro ao redor da estrada.

Vamos para Criar -> Objeto 3D e então selecione Cubo. Selecione-o e renomeie-o para Wall1. Vá para a janela do inspetor e defina os valores de transformação para que pareça uma parede ao redor da estrada. Esta é a aparência:

Veja esses valores de transformação para Wall1. Escala Y a 6 e Z a 500. Em seguida, ajuste sua posição para que fique nos cantos da estrada.

Agora procure por uma textura de parede, baixe-a e copie para o Textura pasta em ativos. Arraste a textura da parede para a parede na janela da cena. Ajuste o cultivo para que pareça bom e suave. Eu ajustei o ladrilho como X para 50 e Y para 1.5. Depois de ajustar o ladrilho é assim que fica

Esta é a textura que usei para a parede

Criamos uma parede para um lado da estrada. Agora faça a mesma coisa para o outro lado da estrada também. Em vez de passar por todo o processo, podemos apenas copiar Wall1 e renomeá-lo para Wall2.

Selecione Wall1 na janela de hierarquia e, em seguida, clique com o botão direito e selecione Duplicado opção. Irá criar outro objeto de jogo com o mesmo tamanho e valores de transformação. Clique em Wall1 (1) e renomeá-lo para Wall2. Agora ajuste a posição para que chegue ao outro canto da estrada.

Veja a imagem a seguir como parece legal

Meus valores de posição para Wall2 são de X a -29.6 Y a 2.6 e Z a 2.6.

Agora crie um material para Bola. Vá para a janela do Projeto e crie uma pasta clicando com o botão direito do mouse e selecione Pasta. Nomeie como Materiais. Novamente clique com o botão direito do mouse e crie um material. Nomeie como bola vermelha. Na janela do inspetor, selecione a cor do material. Vamos para Mapas Principais e selecione a cor do Albedo para vermelho. Aumente a textura metálica rolando a barra para a direita. Arraste este material para o Bola na vista da cena. Aqui está como fica

Esta é a aparência do material:

Portanto, concluímos o desenvolvimento do nosso ambiente. Agora é hora de fazer alguma codificação. Para isso temos que criar um script.

Scripting no Unity

Para implementar seus próprios recursos de jogo e controlar o comportamento do jogo, o Unity fornece como um mecanismo de script. Você pode escrever seu próprio script para a saída desejada do jogo. Com esses scripts, você pode acionar eventos de jogo, alterar as propriedades dos componentes e responder às entradas do usuário. Basicamente, o Unity oferece suporte a duas linguagens de programação diferentes para fins de script, uma é C # e a outra é JavaScript. Além dessas duas línguas, muitas outras .Linguagens NET também podem ser usadas com Unity. Scripts são conhecidos como componentes de comportamento no Unity.

Criando um Script

Vamos começar a criar um script Unity. Para isso, vá para a janela de ativos e crie uma nova pasta chamada Scripts (você pode pular a criação de novas pastas para cada novo tipo de ativo, mas é uma boa prática manter as coisas organizadas). Esta é a aparência da minha janela de ativos agora:

Agora abra o Scripts pasta, clique com o botão direito e vá para Crio e selecione C # roteiro. Renomear script para Movimento. Estamos criando este script para mover e rolar a bola na estrada. Por enquanto a bola está parada, sem fazer nada, vamos criar algum movimento nela.

Clique duas vezes no script do Movimento para abrir no Mono Develop. Se o seu script é um comportamento mono, então você verá algum código pré-escrito como este

usando o sistema.Coleções; usando o sistema.Coleções.Genérico; using UnityEngine; public class MovementScript: MonoBehaviour // Use para inicialização void Start ()  // A atualização é chamada uma vez por quadro void Update ()  

Você pode ver duas funções Iniciar () e Atualizar ().

Começar(): A função de início é usada para inicializar variáveis ​​e objetos. É chamado apenas uma vez quando o script está habilitado, antes de qualquer outra chamada de função de atualização.

Atualizar(): É uma função de comportamento mono, é chamada uma vez em cada frame.

Além dessas duas, existem muitas outras funções de comportamento mono, por exemplo, awake (), fixedUpdate (), lateUpdate () etc.

Para mover a bola na estrada, em primeiro lugar, você deve torná-la um corpo rígido (é um corpo sólido ideal no qual a deformação é desprezada). Selecione Bola na janela de hierarquia e clique em Adicionar Componente botão na janela do inspetor. Digite corpo rígido e pressione Entrar. Um corpo rígido irá anexar ao Bola. Agora vá para o script e crie uma variável privada do tipo Corpo rígido. Agora atribua o corpo rígido da bola a esta variável que você acabou de criar no script.

private Rigidbody rb; rb = GetComponent (); 

Agora escreva algum código para o movimento deste corpo rígido. Qual é a ideia? A bola deve se mover quando eu pressiono as setas do teclado. Deve avançar quando a tecla para cima é pressionada, para trás quando a tecla para baixo é pressionada e assim por diante.

Então, a entrada vinda do teclado, como devo obter essa entrada? A classe Input do Unity tem um nome de função GetAxis (), para devolve o valor do eixo virtual identificado pelo nome do eixo. Crie duas variáveis, uma para o eixo xe outra para a entrada do eixo y. Aqui é como deveria ser

float moveHorizontal = Input.GetAxis ("Horizontal"); 

Agora crie uma variável Vector3 para obter valores de movimento.

Movimento Vector3 = novo Vector3 (moveHorizontal, 0.0f, moveVerticle); 

O primeiro parâmetro é o valor do eixo x, o segundo é o valor do eixo y e o terceiro é o valor do eixo z. Como a bola não se moverá na direção do eixo y, atribua zero a ela. Por último, adicione este movimento ao corpo rígido e multiplique por um número constante para velocidade ou crie outra variável para velocidade. Veja o código completo abaixo

usando o sistema.Coleções; usando o sistema.Coleções.Genérico; using UnityEngine; classe pública Movimento: MonoBehaviour velocidade de flutuação pública; private Rigidbody rb; // Use para inicialização void Start () rb = GetComponent ();  // A atualização fixa é chamada após um número fixo de quadros void FixedUpdate () float moveHorizontal = Input.GetAxis ("Horizontal"); float moveVerticle = Input.GetAxis ("Horizontal"); Movimento Vector3 = novo Vector3 (-1 * moveHorizontal, 0.0f, -1 * moveVerticle); rb.AddForce (movimento * velocidade);  

Como a velocidade é uma variável pública, você pode atribuir um valor na janela do inspetor. Anexe este script à bola arrastando-o para a janela do inspetor ou pressionando Adicionar Componente botão. Pressione o botão play e teste sua codificação se a bola está se movendo ou não.

Configurando a câmera

A última coisa que você notará é que quando você pressiona o botão Avançar e a bola começa a se mover, ela sai da câmera enquanto a câmera está parada. O que deveríamos fazer? Devíamos mover a câmera também? Sim, é a coisa mais simples de fazer. Torne a câmera filha da bola arrastando a câmera principal para a bola.

Conclusão

Este foi um tutorial introdutório básico no qual você aprendeu muitos recursos interessantes, criação de ambiente e scripts no Unity. Não hesite, comece a criar seu primeiro jogo com o Unity hoje e divirta-se!

Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...
5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...