Olá, bem-vindo a esta lição de Unidade. Nestas lições, você aprenderá como criar todos os seus jogabilidade no Unity. No Unity Hub, abra o projeto Platformer. Abra a cena do Nível 1. Para revisar onde estamos, jogue o nível. Isso é chamado de teste de jogo, e você deve verificar ou jogar seu nível com frequência para fazer certifique-se de que suas configurações e código estejam corretos, e isso torna mais fácil para corrigir bugs à medida que eles surgem. Pare de jogar. Se eu mover para a esquerda, usando o A ou a seta para a esquerda, o jogador se move e para na parede por design. Se eu apertar a barra de espaço, o jogador pula. No entanto, se eu continuar a mover meu player para a direita, ele irá fora da tela. E isso não é bom. Pare de jogar. Parece que precisamos de uma câmera para seguir o jogador. A maneira mais básica de fazer isso é simplesmente controlar a câmera para o jogador na hierarquia clicando e arrastando o câmera em cima do player. A câmera se torna filha do jogador. Agora jogamos o nível. E na maior parte, isso parece funcionar. A câmera está seguindo o jogador. Mas seria bom se a câmera pudesse seguir o jogador suavemente. Podemos fazer isso em código que podemos anexar à câmera. Pare de jogar. Remova o pai da câmera clicando e arrastando para baixo. Jogue o nível novamente e confirme se a câmera não está se movendo. Pare de jogar. Abra a pasta de scripts, e crie um novo script em C sustenido e nomeie-o como cam follow. Selecione a câmera na hierarquia, e arraste o script cam follow para o inspetor. Como você pode ver agora, você pode construir seu nível de jogo, controles, e ações um pouco de cada vez. Você poderia ter um script controlando tudo, mas isso pode ser complicado de depurar se houver muitas linhas de código. Abra o script cam follow. Remova os métodos de atualização e início. Após a primeira chave, pressione enter para fazer uma nova linha, e digite nossa primeira variável. Alvo de transformação pública. Os destinos são um nome de variável e atendem a um tipo de transformação. Isso nos permitirá, no editor, arrastar qualquer objeto do jogo como um alvo a seguir. A seguir, adicionaremos um método de atualização fixo para atualizar o destino posição e ajuste-o para a posição da câmera. A atualização fixa é usada ao usar a física. Pressione Enter algumas vezes e digite private void, atualização fixa. Dentro das chaves, digite transformar posição do ponto. Esta seria a transformação do objeto que o script está anexado a. Definiremos isso como igual à posição alvo. Salve o código. Minimize o Visual Studio. No editor Unity, selecione a câmera principal. Você verá que agora há um espaço para um alvo, então vamos arrastar nosso jogador para esse alvo. O que estamos vendo é o que a câmera vê exatamente posição como jogador. Embora estejamos trabalhando em um jogo de plataforma 2D, todos os objetos do jogo O Unity ainda está no espaço 3D. Os elementos do jogo se movem apenas em X e Y, mas a câmera precisa estar distanciado na direção Z para que possamos ver uma área do nível. Pare de jogar. Com a câmera selecionada, nota no inspetor. A posição padrão da câmera principal é 0 em X e Y, mas menos 10 unidades em Z. Alteramos esse valor para 0. Você pode ver o fundo azul na janela de visualização. Mude de volta para menos 10. Precisaremos adicionar um valor de deslocamento ao nosso código, para que possamos ajustar a posição da câmera longe do player, bem como têm a capacidade de ajustar a posição da câmera em X e Y. Abra o script camfollow. Depois a variável de destino, clique em Enter para liberar espaço, e digite vetor público 3. Agora estamos trabalhando em três dimensões, e uma variável chamado deslocamento. Por ser público, podemos ajustar os três valores no editor. Agora altere o código no método de atualização fixa adicionando mais deslocamento. Isso adiciona o deslocamento ao destino. Salve o código. Minimize o Visual Studio. Selecione a câmera principal na hierarquia. No inspetor já sabemos que precisamos trocar o Z valor em deslocamento para menos 10. Então digite isso. Jogar. Agora está funcionando bem. Podemos ver nosso nível e nosso caráter. A câmera está se movendo junto. Mas seria bom se pudéssemos nos ajustar, então, no início do jogo, agora vemos a área azul. Poderíamos fazer isso clicando e arrastando sobre o X ou Y valor sob o deslocamento e ajustando como queremos. Vou clicar sobre o Y. E mais um ajuste aqui. Infelizmente, essas configurações retornarão ao original configurações quando a reprodução parar. Mas podemos copiar e colar os valores. Clique com o botão direito sobre o deslocamento e escolha copiar. Pare de jogar. Clique com o botão direito sobre o deslocamento novamente. Clique em colar. Agora esses valores foram somados. Jogamos novamente. Agora está tudo bem alinhado. Mas isso não parece ou age de forma diferente de quando apenas pai da câmera para o jogador. Então, por que se preocupar em usar código? O código nos permite ajustar ainda mais o deslocamento. Se quisermos mudar um pouco, agora podemos adicionar mais algum código para suavizar o movimento da câmera como segue. Pare de jogar. Abra o script cam follow novamente. Faça uma nova linha de seção de variáveis. Digitaremos public float. Chamaremos essa variável de tempo suave. Defina isso igual a 0 .3f. Pressione Enter. Adicionaremos outra variável. Esta será uma variável privada. Seja um vetor 3. Chamaremos essa velocidade. E vamos zerar isso inicialmente. A variável de tempo suave que criamos permitirá ajustar o desvio da câmera no editor. A velocidade é um valor do vetor 3 que precisaremos para nosso amortecimento suave função. No método de atualização fixa, clique na primeira chave. Pressione Enter. Para fazer uma linha. E digite vetor 3 alvo. Esta é uma variável que chamamos de posição alvo. Definiremos isso como igual à posição do ponto alvo. Mais o deslocamento. Isso cria uma variável de espaço reservado chamada posição de destino que podemos usar em vez de digitar a expressão inteira toda vez. Exclua todo o código após o sinal de igual após a transformação posição. E digite vetor 3 pontos suaves. E isso nos dá uma função úmida suave. Precisamos de parênteses. Em vez disso, vamos digitar transformar posição do ponto, vírgula, posição alvo, nossa variável, vírgula, referência. Isso fará referência à nossa variável de velocidade, vírgula, e tempo suave. A função suave de umidade interpola suavemente o valor em direção ao alvo ao longo do tempo. A posição do ponto de transformação é o valor da posição atual do câmera neste caso. A posição alvo é o alvo mais o deslocamento. A velocidade atual é referenciada à velocidade variável que inicialmente definimos como zero. Esta variável é atualizada pelo comando smooth damp em tempo. O tempo suave é o tempo que leva para atingir o valor alvo durante a interpolação. Salve o código e minimize o Visual Studio, jogar o nível, mude sua direção rapidamente e a câmera se ajustará suavemente seguir. Pare de jogar. Salve a cena. Na próxima lição, aprenderemos como adicionar recursos interativos armadilhas na Unidade. Obrigado por assistir.