Transcrições
1. Porque É Que Você Deve Assistir A Este Curso?: Meu nome é Michael Moore, fundador do desenvolvedor de jogos WMD. E meu objetivo é
fazer de você o melhor desenvolvedor de
jogos e da maneira
mais divertida possível, desenvolveu uma estratégia que
ajudou milhares de aspirantes a desenvolvedores de jogos a alcançar seus objetivos de criar jogos do
mundo real. E eu quero fazer
o mesmo por você. O que aprendi
é que pode ser muito difícil
saber por onde começar e quais passos
tomar para ir do iniciante ao intermediário
para o profissional. Não só no desenvolvimento de jogos, mas na programação e
aprendizado a codificar. E é aqui que entra a
estratégia. Começamos aprendendo os fundamentos
da programação c-sharp, mecanismo
Unity e design de jogos. Em seguida, nos aprofundamos em
todos os aspectos. Assim, seus objetivos
de jogo de cubos chatos, que armas épicas,
seu código de habilidades básicas, avançadas e de
desenvolvedores de jogos de iniciante completo a mestre
absoluto. E posso dizer com
absoluta confiança, as pontuações facilitam
para qualquer iniciante com uma experiência de codificação 0
entrar e começar a aprender a
criar jogos incríveis. Eu ajudei milhares
de pessoas a criar jogos
do mundo real e
quero que você seja uma
dessas pessoas. Então, como vamos fazer isso? Nós nos aprofundamos mais do que qualquer
outro curso em animações, ouro ou decanos,
controle de caracteres, sistemas de partículas, sistemas
desaparecidos, IA inimiga, mecânica em
primeira pessoa, sistema de
saúde, sistema de armas e todos eles são apenas
a ponta do iceberg. Então, o que você deve esperar
pode estar abaixo das pontuações, você se tornará um
solucionador de problemas mestre. Você entenderá
os fundamentos da codificação e aprenderá a programar jogos como os que você está vendo
na tela agora. Você também terá a chance de
flexionar seus músculos do desenvolvedor de jogos porque com cada
vídeo há um mini desafio para
você concluir. Mesmo que você não consiga
descobrir como
fazer o desafio, não se preocupe, estarei lá
para
ajudá-lo depois de tentar e
completar o desafio com tudo em nosso jogo será configurável
para que você possa ajustar, brincar e
dar ao jogo e sensação
individual e especial sobre isso. Você estará colocando
sua própria criatividade nisso e realmente
a tornará sua. Estou tão animado para começar. E OPO R2, este é o momento perfeito para começar a
aprender a codificar. Então mergulhe comigo e
eu vou ajudá-lo em cada etapa da sua jornada de desenvolvimento de
jogos.
2. Como usar este curso: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Então eu criei este vídeo, a fim de configurá-lo para o resto do curso. Eu queria criar este vídeo, a fim de
maximizar o seu potencial de aprendizagem a partir das partituras. Então você pode deixar este curso com a quantidade máxima de aprendizagem que você pode possivelmente espremer fora dele. Então vamos começar com as perguntas e respostas. Ou, no nosso caso, será a guia Discussão aqui. Então deixe-me ligar meu laser. Então esta é a nossa aba de discussão. Então, em cada vídeo, você tem a opção de me fazer uma pergunta, iniciar uma conversa, ou você pode até mesmo compartilhar o projeto que você vai fazer no final deste curso. Então, por exemplo, digamos que você tem alguma pergunta complicada que você quer fazer. Você pode me perguntar na discussão. Se você tem talvez uma pequena recomendação que você deseja adicionar, isso é muito possível. Você também pode adicioná-lo aqui. Se, por exemplo, você quiser compartilhar o projeto que você criou no final deste curso. Você também pode fazer isso aqui mesmo através das discussões. E antes de seguirmos em frente, eu só queria deixar tudo claro aqui porque às vezes você todos ficam em uma determinada posição onde eles não entendem
completamente ou completamente o que estão fazendo. Então eu quero ter certeza de que você entende isso. É realmente muito fácil me fazer qualquer pergunta que você tem. Não se afaste, não tenha medo. Mas tenha em mente que o que eu quero é que você
vá lá fora e tente descobrir a solução por si mesmo. E se você sentir que em algum momento você esgotou todas as soluções possíveis, então você pode voltar e me perguntar o que quiser. Lembre-se que não há perguntas ruins. Há apenas estudantes que têm medo ou não têm coragem de fazer as perguntas. Então, seja sempre corajoso. Sempre. Se você esgotou todas as possibilidades, há coisas que não devem entender ou querer ajuda. Então vá em frente e me pergunte nas discussões. Mais uma coisa. Se você acha que sua resposta foi resolvida, você pode ir em frente e editar a pergunta e adicionar isso resolvido aqui mesmo. E o que isso faz é, primeiro lugar, ajudar outros estudantes, assim como você, a encontrar soluções para seus problemas se eles já estão lá. E também me ajuda a saber que as perguntas que você queria fazer já estão resolvidas ou se precisa de mais aprofundamento e resolução. E agora vamos falar sobre o servidor da Discord. E é aqui que você pode aprofundar a comunidade que criamos aqui no desenvolvimento de jogos de WMD. Então você pode ir para o link na descrição
deste vídeo ou você pode visitar meu perfil e encontrar o link em algum lugar lá dentro. E recomendo que se junte à discórdia. Por quê? Porque a maior parte do tempo pode levar algumas horas para responder com base em onde você é. Então talvez nós vivemos em diferentes fusos horários. Talvez quando me fizer a pergunta, seja meia-noite e precise de uma solução rápida. Posso estar dormindo, talvez não consiga chegar ao meu computador. Então, é muito benéfico para você se juntar ao canal da discórdia que criamos. E deixe-me mostrar-lhe o canal de pontuação aqui. Este é o início do nosso canal de sublinhado. Você pode ver que temos a comunidade geral. Nós temos o chat C-sharp, nós temos o chat de design do jogo, nós temos o show fora do seu jogo. Temos as questões gerais de desenvolvimento do jogo. E você pode ver que nós ainda não temos nada
aqui porque é bem novo enquanto eu estou gravando isso. Mas mais tarde, quando você entrar aqui, você vai notar que há uma enorme comunidade de pessoas esperando para ajudá-lo e talvez pessoas esperando para obter ajuda de você. E é muito benéfico tentar resolver a questão dos outros. Você não acreditaria o quanto aprendi ajudando outras pessoas. E você pode ver aqui que temos vários cursos. Estes são todos os cursos que duplo jogo gama m para baixo tem ou eu criei. E podemos ver também podemos compartilhar memes e aqui temos discussões gerais sobre jogos, jogos
AAA, eu não sei o que você gosta de jogar. Podemos discuti-los aqui e o canal social ou categoria e assim por diante. Então eu recomendo que você se junte ao nosso servidor da discórdia. É muito divertido. Vamos nos divertir muito lá. E é isso. Isso é tudo o que eu queria dizer sobre o servidor Discord, os slides de desafio. Agora, quais são os slides de desafio? Estes são slides que você vai encontrar quase todos os vídeos. E este é o seu slide de desafio. Quando vir este slide, você pausa o vídeo e faz o desafio nele. Então, sempre que você vê esse tipo de apresentação de slides, você pode ver que ele tem um título principal, por exemplo, o download Unity e Visual Studio. E então ele terá algumas instruções para você seguir. E às vezes eu também te dou algumas mãos para tentar fazê-las sozinho. Então, sempre que você vê o slide, você vê esta pausa, ler grande, grande botão de pausa vermelho. Você precisa pausar o vídeo e, em seguida, tentar e fazer o que o desafio lhe disser. Por que estamos fazendo esse tipo de desafios em cada vídeo? Bem, porque pessoalmente,
eu, Michael, passei por muitos cursos, uma tonelada de cursos. O problema é que eu sempre vejo que os instrutores passam pelo movimento e eles continuam falando, fazendo e falando e fazendo, e você segue junto e no final do curso você tem um jogo muito bom e está funcionando e Está tudo bem. Mas o que descobri é que, a longo prazo, não aprendi a fazer nada. Aprendi como as coisas são feitas. Não há nada para mim, não
houve incentivo ou nada muito concreto que eu aprendi com esses cursos. Então era isso que eu queria fazer. É uma maneira muito melhor de aprender quando você pausa o vídeo e você realmente sai do seu caminho, faz os desafios. Mesmo que você não tenha idéia de como fazer o desafio, você precisa pausar o vídeo e pelo menos dar-lhe 510 minutos para tentar tudo o que estiver ao seu alcance para fazer isso, porque fazer é sempre, sempre melhor do que assistir. Digamos que você tenha um desafio. Você não tem idéia de como fazer isso. Tente o seu melhor. Não funciona. E então você pode continuar o vídeo. Você vê como eu faço o desafio, como eu completei, e ele será arraigado em sua mente para outros. Sempre que você tenta algo e você falha nisso, você então tem uma chance muito melhor de aprender depois que você tentou. Então eu encorajo você a sempre pausar o vídeo, sempre tomar o tempo, mesmo que pareça impossível e você não tem idéia de como fazê-lo, talvez pesquisar online, fazer o seu melhor, tentar fazer o desafio. E geralmente o que, qualquer que seja o desafio, eu costumo fazer algo em um vídeo anterior e, em seguida, alguns vídeos mais tarde, eu faço o desafio. Eu lhe dou o desafio de fazer algo que já cobrimos. Então nunca vai ser algo fora dos seus limites de aprendizagem. Ok, ótimo. Então vamos falar sobre a estrutura do curso. Então, na seção um, na qual
estamos atualmente, vamos fazer um pouco de uma introdução. Então vamos falar sobre como aprender com as partituras, vamos baixar Unity e configurar com Visual Studio e vamos estar configurando nosso mundo. Também aprenderemos sobre uma ferramenta muito poderosa, que é o controle de versão que nos permitirá configurar tudo. E é uma ferramenta que é usada por desenvolvedores muito profissionais,
não só desenvolvedores de jogos, mas qualquer tipo de desenvolvedores de programação. Então, se você já tem a unidade e já sabe o que é o Visual Studio e tem o controle de versão configurado. Então eu recomendo o Para mover para o último vídeo nesta seção, que é a configuração onde vamos configurar o nosso mundo. E então você pode passar para a próxima seção. Seção dois é onde nós realmente vamos começar a construir nosso ganho de ciberespaço 2087. E nós vamos começar adicionando, nosso jogador estará configurando o controlador de personagens, permitindo que nos movamos. Vamos começar a mover nosso jogador das entradas
da pessoa que está jogando nosso jogo. Vamos dar o nosso primeiro passo e vamos
colocar a câmara em primeira pessoa em cima da nossa cabeça. Então vai começar a mover o mouse, olhando ao redor com uma câmera e movendo todo o nosso corpo jogador, mas será uma pequena cápsula em torno do nosso ganho. Em seguida, vamos começar com a seção três, onde vamos introduzir tiro em nosso jogo. Vamos criar balas, vamos disparar estas balas. E nós vamos criar uma maneira de realmente apontar nossas botas para um determinado local que estamos olhando usando algo chamado reelenco, o que vai ser muito emocionante. Também criaremos alguns inimigos que podemos derrubar. Próxima coisa vamos passar para a seção 4, que é movimento avançado. E é aqui que vamos adicionar. Gravidade, estará pulando, correndo, agachando, e deslizando nosso caminho para destruir todos os nossos inimigos. A seguir temos a Seção 5, que é tiroteio avançado. E é aqui que vamos criar um sistema de vigarice. Agora, na parte normal do tiroteio, vamos simplesmente ter um pequeno bloco, mas um tiroteio avançado. Teremos várias armas, como uma pistola,
uma pistola muito avançada e de boa aparência irá adicionar munição ao nosso jogo. E vamos criar maneiras de apontar para o nosso site. A próxima coisa que temos os inimigos porque é claro que agora temos um movimento incrível. Temos um tiroteio incrível, mas não temos inimigos inteligentes para filmar isso. E é aqui que entra a secção 6. E é sobre animar nossos inimigos vai criar um i para nossos inimigos que vai nos perseguir se nos aproximarmos e se eles nos pegarem, eles vão começar a atacar custos. E então passamos para a Seção 7, que é a saúde, o sistema de saúde. Porque atualmente neste momento em nosso jogo temos inimigos, podemos atirar neles. Eles podem nos machucar. O poço na verdade eles podem nos atingir, mas eles não podem realmente nos machucar e nós não podemos machucá-los. E é aqui que entra a secção do sistema de saúde. E adicionaremos um sistema de saúde ao inimigo. E adicionaremos o sistema de saúde ao nosso jogador. Mas não só isso, nós também vamos estar exibindo esses sistemas de saúde usando uma barra de saúde, 14 nós e um para os inimigos em cima deles também vai aprender como podemos realmente responder nosso jogador sempre que ele morrer. Então passamos para o sistema de armas na Seção 8. E é onde vamos adicionar mais armas, vamos pegar mais armas, e vamos adicionar um lança-foguetes ao nosso jogo. Também adicionaremos um mecanismo para recarregar e animações para recarregar. Tudo isso também criará um sistema de captação saúde e munições à medida que passarmos por nosso ganho. Seção 9 é a parte muito excitante porque é aqui que o nosso ganho ganhará vida. Vamos adicionar áudio em segundo plano. Vamos adicionar áudio às nossas armas. E vamos criar um menu muito bom que parece incrível. Também aprenderemos como criar menus de pausa e tudo isso. E seguimos para a Seção 10, onde precisaremos criar um mundo para nosso jogador matar monstros. E assim, vamos adicionar ativos mundiais irá adicionar diferentes maneiras que podemos realmente fazer o nosso jogo parecer muito melhor usando pós-processamento. Também aprenderemos como funciona a imunidade de iluminação. E aprenderemos como podemos fazer a transição entre diferentes níveis quando chegarmos a um certo ponto e nosso jogo. E finalmente, teremos a seção de bônus. E por que chamei essa seção de bônus? Bem, porque toda a mecânica do jogo principal, estaremos terminados pela Seção 10. E a seção de bombas, que é um gancho de garra, nos
permitirá, bem criar um gancho que podemos colocar nos prédios e, em seguida, zíper até o ponto que escolhemos. E vai ser muito legal, vai ser muito legal e vai realmente fazer com que pareça que você é o Homem-Aranha. De qualquer forma, como você viu, a pontuação está cheia de informações. Et tem um monte de coisas para fazer. E antes de começarmos, eu só queria dizer algo que se você colocar
no trabalho e nas pontuações e você realmente der tudo de si. Você vai sair dele do outro lado com incrível Unity e C Sharp Habilidades. E este é o meu objectivo. Meu objetivo não é apenas sentar aqui e criar um jogo e deixá-lo vê-lo. Você pode fazer isso onde quiser. Meu objetivo é que você termine as pontuações. Sendo um mestre solucionador de problemas, eu quero que você seja capaz de criar este jogo do zero por conta própria. E é por isso que você insiste em colocar 110% de esforço em cada vídeo e sempre certifique-se de fazer o seu melhor com os desafios. Nunca se afaste de me fazer perguntas, mas também tente descobrir as coisas por si mesmo. E se você não pode descobrir, descubra como fazê-lo ou algo é um pouco complicado demais para você. Nunca hesite em entrar nas perguntas e respostas e me fazer as perguntas que você quiser. Com isso dito, espero que você tenha gostado deste pequeno vídeo onde eu falo sobre o curso. E no próximo vídeo vamos começar,
vamos começar a baixar o Unity e integrado ao Visual Studio. Então, vemo-nos lá.
3. Download Unity e VS: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos baixar a unidade e empatá-la, e integrar as ferramentas do Visual Studio que precisaremos para as partituras. Então, vamos começar. Primeira coisa que você precisa ir para o Google e ONG chamado simplesmente digite aqui, baixar unidade. É tão simples assim. Quando você digita, você receberá um monte de sugestões. Então, certifique-se de encontrar aquele com o Unity 3D.com e o Get Unity, é claro, e clique na unidade de download, que abrirá esta página aqui. Então aqui você precisará baixar a ajuda da unidade se você nunca usou o Unity antes. Agora, o que é a unidade Ajuda? Unity hop é como um lugar onde manteremos todas as
nossas versões do Unity e também todos os projetos que fazemos. Agora, antes da ajuda da unidade, nosso projeto estará em todo o nosso computador, em
algum lugar em diferentes diretórios e assim por diante. Então precisamos ajudar realmente torna muito mais fácil passar por seu projeto e realmente ter, se realmente boa organização. Portanto, certifique-se de baixar a unidade com base em qual sistema operacional você possui. Então, se você tem o macOS e precisa ter certeza de que você baixar o Unity 40 MAC OS. E se você tem um Windows 7, então você baixou para o Windows 7. Então, basta clicar em Download hub unidade. E quando você terminar de baixar, Q deve ter esta pasta de instalação bem aqui. Quando você clica duas vezes sobre
ele, ele vai perguntar, você quer? Sim. Então, você continua, você clica em Concordo, você escolhe o destino onde você deseja colocar seu hub de unidade. E então você inicia a instalação. Agora, porque eu já tenho maridos de unidade disseram que eu não vou instalá-lo novamente. Então, certifique-se de que você instala tudo e eu vou vê-lo em apenas um ponto. Kay, bem-vinda de volta. Então, se você instalou a ajuda do Unity corretamente, você deve receber uma mensagem ou uma janela aqui que se parece com isso. Agora, não temos nenhum projeto ainda, mas é aqui que nossos projetos estarão presentes e podemos acessá-los em nosso lazer. Agora, antes de continuar, humanidade terá que se certificar de que você tem uma conta. Então esta é a minha conta aqui. Usei meu Google Gmail para criar uma conta no Unity. Você pode criar uma nova conta ou também usar seu Gmail ou Facebook. Não sei se permitem isso. E uma vez que você tenha criado uma conta no Unity, você pode ir direto para as instalações. E é aqui que baixamos diferentes versões do Unity. Agora, para este curso, usarei a última versão do Unity que temos atualmente. Agora, se você quiser instalar uma nova versão do Unity ou qualquer tipo de versão do Unity, basta ir direto para o anúncio. Clique em Adicionar. E aqui vocês podem ver que temos diferentes tipos de unidade que podemos instalar. Agora, em primeiro lugar, temos os lançamentos recomendados. Estes são os que já foram testados e completamente testados e funcionam perfeitamente. Mas você também pode ir e procurar os lançamentos oficiais. Agora, vamos usar esta versão aqui mesmo. E esta é uma versão muito boa. Você pode instalá-lo. E você também tem o pré-lançamento é agora pré-lançamento são fazer o mesmo que o lançamento oficial e os lançamentos recomendados, mas às vezes eles são um pouco buggy e você pode encontrar um par de bugs nos lançamentos oficiais. Também pode ser capaz de resolver problemas, mas eles não são tão evidentes como nas versões anteriores. Você pode não encontrar qualquer problema, mas eu recomendaria que você use o lançamento oficial porque eles são mais recentes do que os lançamentos recomendados e menos sangrentos do que os pré-lançados. Então baixe a versão mais recente que você tem em seu computador. Ou atualmente talvez você seja do futuro e você tenha uma versão mais recente do que eu. Então baixe a versão mais recente e não se preocupe, discurso funciona ou o projeto que vamos criar funcionará em qualquer versão da humanidade e do futuro. Agora, nós vamos clicar no próximo aqui. E esta é uma parte muito importante de baixar e instalar o Unity agora. E aqui temos módulos, e esses módulos são como complementos para nossa unidade que nos permitem criar jogos em diferentes plataformas. Então, por exemplo, aqui você pode ver que agora podemos carregar módulos para diferentes plataformas. Então, por exemplo, se você quiser criar um jogo no Android, você pode usar o módulo para Android. Ou se você quiser criar um jogo para iOS ou iPhones e assim por diante. Você também pode estar procurando criar jogos para Linux ou Mac OS ou o que. Então, com base no que você deseja criar, você pode escolher um desses módulos de modelo, ou você pode simplesmente esperar mais tarde, você pode baixá-los a qualquer momento. Você também tem as documentações que eu recomendo que você baixe. Essas documentações são as documentações da unidade e são muito importantes. Talvez, às vezes, queira procurar certas coisas. E finalmente você tem o pacote de idiomas. E talvez se você for chinês ou coreano, eu não tenho certeza do que isso é, honestamente, eu não tenho idéia. Talvez você possa usar um desses pacotes de idiomas. Mas a coisa mais importante, e você precisa ter certeza de que você tem o Microsoft Visual Studio Community 2019 ou mais recente instalado com sua unidade. Porque vamos usar o Visual Studio para codificar tudo, tudo e todos os comportamentos dos objetos que criamos no Unity. Agora, isso é tudo que você precisa fazer. Basta clicar no próximo e você começará a instalação de sua unidade. Então, com isso dito, é hora do seu primeiro desafio. E seu desafio será baixar sua unidade e Visual Studio. Então baixe o Unity Hot, assim como eu mostrei a você, certifique-se de que se você tem um Mac, você baixe a versão do Mac. Se você tiver um Windows, baixe a versão do Windows. Então você precisa baixar a versão mais recente. E, finalmente, certifique-se de que você também baixe o Visual Studio com a unidade. Então, pause o vídeo agora mesmo e vá em frente e baixe o Unity com o Visual Studio. E no próximo vídeo simplesmente passará pela interface da unidade e do Visual Studio. E só para superarmos nossos medos iniciais. Então, vemo-nos na próxima.
4. Unity e Visual Studio 101: Olá e bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos simplesmente explicar o que é Unity, o que éVisual Studio, Visual Studio, como eles se comunicam uns com os outros. E vamos explicar um pouco sobre a interface de ambas essas ferramentas incríveis. Então, antes de mais nada, o que é a unidade? Deixe-me colocar meu laser. Laser, por favor. Ok. Então, a unidade é um desenvolvedor de motores de jogos multiplataforma por, desenvolvido pela Unity Technologies. Então, o que eu quero dizer com plataforma cruzada? Multiplataforma significa que ele pode ser usado em diferentes tipos de plataformas. Por exemplo, o Unity, o Windows e o Mac OS usarão o Unity para desenvolver nossos jogos. E nós, é claro, vamos usar este motor Unity bem aqui. Então, antes, deixe-me apenas mostrar-lhe a interface da unidade e vamos passar a explicar Visual Studio, e isso é unidade. Parabéns, você chegou até aqui. Então, em primeiro lugar, temos nossa barra de ferramentas bem aqui sobre tudo. E esta barra de ferramentas fornece acesso aos recursos de trabalho mais essenciais. À esquerda, temos as ferramentas básicas para manipular a exibição da cena e os objetos do jogo dentro dela. No centro temos o jogo e pausa e controle de passos bem aqui, o que nos permite jogar nosso jogo, pausar nosso jogo. E então também podemos adicionar um quadro a quadro. Os botões à direita dão acesso à unidade, colaboração e nuvem que não estará usando e às contas. Nós também temos as camadas bem aqui que vamos usar muito neste curso para o nosso projeto. E finalmente temos o layout e bi-layer. Este é o nosso layout bem aqui. Então podemos mudar o layout, por exemplo, os dois por três ou os quatro dividir. Ou podemos basicamente usar o padrão e isso é o que vamos usar. Então, se você não tem a mesma interface que eu ou diferentes tipos de layouts. Basta clicar aqui, ir para o padrão, e ambos teremos a mesma interface. Agora, a próxima coisa que eu quero falar é sobre a janela da hierarquia bem aqui. Então, se clicarmos aqui, podemos ver que temos uma câmera principal e esta é a nossa visão de cena. Chegaremos à visão da cena e temos a luz direcional bem aqui. Mas esta hierarquia, hierarquia aqui representa cada objeto de jogo em nossa cena. Então, cada item na cena uma entrada na hierarquia. Assim, as duas janelas são aprimoramento inerentemente ligado. A hierarquia revela a estrutura de como objeto de jogo anexar um ao outro. E vocês verão mais detalhadamente o que quero dizer com apegados uns aos outros. Agora a próxima coisa temos a vista da cena bem aqui. E se clicarmos com o botão direito do mouse, podemos nos mover usando as teclas WASD aqui. E você pode ver que podemos nos mover ao redor do nosso mundo. E aqui vamos construir os nossos jogos. Nós também temos outra janela aqui que é o jogo, e esta é a nossa visão de jogo. Então é assim que vemos o nosso jogo. Do ponto de vista da câmera, vai mudar tudo ao redor. E é aqui que vamos estar mais focados mais tarde com a nossa criação de jogos. A próxima coisa temos a janela do inspetor à direita e deixa-me voltar às cenas. Portanto, em uma janela de inspetor, você tem permissão para exibir e editar todas as propriedades do objeto de jogo selecionado no momento. Então, como você pode ver agora nós temos a luz direcional selecionada. Podemos aumentar e diminuir a intensidade. Podemos mudar a cor, podemos brincar com tudo. E também temos a câmera principal aqui. Também podemos mudar e brincar com várias propriedades. E o inspetor bem aqui. E essas palavras técnicas são muito importantes porque vou usá-las ao longo do curso. Então lembre-se de um inspetor de hierarquia, a exibição de cena, a exibição de jogo. E finalmente, temos a janela do projeto bem aqui. E é aqui que mostramos as bibliotecas e os recursos do nosso jogo. Então, se você clicar em ativos, atualmente, não
temos mais nada além das cenas. E se clicarmos duas vezes em cenas, temos a cena de exemplo bem aqui que podemos clicar duas vezes e entrar, podemos salvar. Então não temos nada além das nossas cenas. Em seguida, vamos falar sobre o Visual Studio e o que é. Então, o que é o Visual Studio? Então, Visual Studio é realmente Microsoft Visual Studio e é um IDE. O que é um ID? É um ambiente de desenvolvimento integrado. E o que isso significa é que é como um ambiente
para nós desenvolver código integrado no Unity. Então esta é uma explicação muito complicada, mas aqui é basicamente onde vamos escrever todo o nosso código. E VS nos ajudará a escrever o código usado para manipular objetos de jogo no Unity usando scripts. Então, quais são nossos roteiros? É assim que usamos o Unity com o Visual Studio. Então, queremos unidade para se comunicar com o Visual Studio e a unidade. Você vai criar objetos de jogo. Então, por exemplo, o carro que queremos mover enquanto não tem o jogador que queremos mover. Talvez objetos que caem, talvez algum tipo, as armas que atiram nos monstros que nos atacam. Nós colocamos esses, todos esses objetos na Unidade. Mas sempre que quisermos manipulá-los, vamos usar o Visual Studio. Mas a unidade e o Visual Studio não funcionam automaticamente em conjunto. A forma como os fazemos trabalhar juntos é através desses scripts que são arquivos CSS dot. E é aqui que escrevemos todos os nossos códigos nos arquivos CSS ponto no Visual Studio e lá, e a partir desses scripts vamos manipular os comportamentos. Dos objetos que temos dentro da Unidade. Então deixe-me mostrar a vocês como o Visual Studio se parece. Então este é o Visual Studio. Deixe-me só ampliar um pouco. E aqui você pode ver que, em primeiro lugar, temos essas três linhas que estão usando algo, usando algo e
usando o motor de Unity. Agora estes são chamados namespaces. E o que eles são, eles são uma coleção ou uma biblioteca de códigos que nos permitem usar certas coisas em nosso jogo. Assim, por exemplo, o mecanismo Unity nos permite usar diferentes aspectos da unidade. Por exemplo, a física em Unity. Ele nos permite acessar vários detalhes na Unidade que sem isso. Então, por exemplo, se removermos esta linha aqui, não
poderemos mais usar o comportamento mono. E porque não estamos usando o comportamento 10, que vamos chegar em um segundo. Não podemos mais usar iniciar e atualizar. Então vamos voltar a ligar isto e podemos usar o comportamento mono. Antes de chegarmos a isso, vamos primeiro falar sobre o que significa público. Público significa que é para todos. Existem dois tipos. Há público e há privado. Chegaremos a isso também. Mais tarde. Nós temos a classe e nós temos o nome da classe, e este é realmente o nome do nosso script. E aprenderemos que temos que sempre ter certeza de que nomeamos nossa classe corretamente na primeira vez, porque isso criará muitos problemas para nós. Então é assim que criamos uma classe e todo esse código será escrito automaticamente para que você não precise se preocupar com isso. Estes dois pontos aqui significam que somos herdados, herdando o comportamento mono. Então, o que é comportamento Monte 10 comportamento são, bem, usamos comportamentos que já estão incorporados em unidade que permite, nos
permite controlar os vários objetos de jogo. E por causa do comportamento do dinheiro, podemos usar dois métodos ou funções,
que, claro, será mais tarde em entrar em como iniciar e atualizar. E, na verdade, aqui você pode ver que nós temos essa linha verde. E esta linha verde significa que isto é um comentário. E sempre que quiser criar um comentário, basta colocar essas duas barras atrás dele. E sempre que colocamos duas barras invertidas atrás de qualquer código, isso significa que este é um comentário e não será executado a frio. Ótimo, então o que é o começo? Iniciar é chamado antes da primeira atualização de quadro. Então, quando o objeto do jogo que tem este script anexado a ele começa, o código dentro deste método start será executado. E semelhante ao início da atualização é chamado uma vez por quadro. Então cada quadro que o nosso jogo passa. Este método, atualização será chamado
de um tudo dentro dele será executado para colocá-lo de forma mais simples, início é onde colocamos nossas condições iniciais. Então, por exemplo, o peso do carro, a velocidade do nosso jogador, o clima talvez. E, em seguida, atualizar é onde fazemos o nosso carro se mover. Fazemos o nosso jogador saltar, e fazemos a mudança climática, por exemplo, o vento sopra ou algo assim. E o outro, eu não sei. Então, é assim que basicamente usamos o Unity com o Visual Studio. Claro que, no futuro, à medida que avançarmos através do nosso projeto, você terá uma compreensão muito, muito melhor do início e da atualização e de tudo nele contido. Por isso, não te preocupes muito se não perceberes tudo imediatamente. Mas agora você tem um desafio à sua frente. E seu desafio vai fazer uma missa. Então abra a Unidade e mexa. Clique em algumas coisas. E quando você terminar, vá para o próximo vídeo e vamos fazer o nosso primeiro código e começar. E se você ainda não sabe como criar um novo projeto, não se preocupe com isso. No próximo vídeo, vamos criar um projeto e fazer o nosso primeiro passo. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
5. Seu primeiro código: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos criar nosso primeiro objeto de jogo, criando nosso primeiro código e C-sharp. E como podem ver aqui, aprendemos a limpar as coisas. Aprendemos a colapsar coisas. Quando batermos no jogo. Podemos ver que recebemos uma mensagem que é “Olá Michael”. Seu nome estará aqui. E abaixo dela temos Olá Michael muitas vezes e como você pode ver, nós temos este e aqui temos um incremento até o infinito. Então não vamos perder mais tempo e vamos começar. Oh, ok, então vamos começar. A primeira coisa que vamos fazer é abrir o nosso Unity Hub aqui mesmo. E nós vamos clicar em um Novo. Agora aqui, vamos começar a criar nosso projeto. Podemos escolher o modelo 2D, podemos escolher o modelo 3D, podemos escolher o RP de alta definição. E é aqui que criamos jogos com gráficos
muito mais altos e pipeline de renderização universal. Ou você rp, onde criamos bons gráficos, mas não tão alta definição quanto rp. Assim, por exemplo, RPR de alta definição para como jogos AAA e você RPR como para, digamos, nos jogos indie avançados. Mas, por enquanto, vamos simplesmente escolher 3D. Você vai escolher o local, por exemplo, aqui. Assim, a localização vai depender de você onde você quer colocar o seu projeto. E no nome do projeto, vamos nomear este como nosso primeiro projeto, o Hello World. Então clique em Criar. E agora vamos esperar pela unidade para criar nosso projeto. Vou usar a magia da edição para
passar por este longo processo e verei vocês do outro lado. Oh, ok, então bem-vindo de volta. Espero que a criação do seu projeto esteja concluída. E se o seu layout não é semelhante ao meu, você pode clicar nas camadas aqui e escolher o padrão. E nós dois teremos o mesmo layout, correto? Então, a primeira coisa em primeiro lugar nós vamos, bem, todo
o ponto deste vídeo é que nós vamos estar criando um objeto que terá um script nele. E este objeto que tem um script nele, vamos colocar algo no console bem aqui. E se você não tiver Console, você pode ir para Janela, ir aqui para Geral. E você pode ver que em algum lugar aqui nós temos o console bem aqui. Então Window geral e um console clique nele. Você terá uma janela por aqui, então provavelmente será assim. Você pode realmente optar por encaixá-lo onde quiser. Então podemos encaixá-lo aqui ao lado dos jogos. Mas eu prefiro falar bem aqui ao lado de projetos. Ótimo. Primeiro, o que vamos fazer? Vamos criar um objeto de jogo. E é muito simples. Simplesmente vamos para a nossa hierarquia. Clique com o botão direito do mouse, e aqui podemos escolher o tipo de objeto que queremos criar. Podemos criar objetos 3D que faremos mais tarde. Você pode criar efeitos. Podemos criar luz, podemos adicionar áudio, podemos adicionar vídeo,
podemos adicionar UI, que são a tela e assim por diante e assim por diante. Mas por enquanto vamos simplesmente criar um objeto de jogo vazio que vamos chamar de impressora Olá mundo. Ótimo. Então, como você pode ver agora, nós temos este objeto de jogo. E se a forma como nos movemos é,
como eu disse, clique com o botão direito do mouse e mova-se com o WASD. E como você pode ver, este objeto de jogo está vazio. Não tem nada. Só tem estas três flechas aqui apontando. E se olharmos para o canto superior direito, podemos ver que o azul é o eixo z, o verde é o eixo y, e o x é o eixo vermelho aqui. Como podem ver à direita, temos este transformador. E se nos movermos no eixo x, você pode ver que o x aumenta. Se recuarmos, torna-se negativo. E esta é a posição do nosso objeto de jogo. Agora, se nós subirmos aqui na barra de ferramentas, nós podemos realmente escolher a ferramenta de rotação, ou temos uma maneira muito mais inteligente de fazer as coisas é clicando no tipo. Então, quando clicamos no Like, vamos automaticamente para a ferramenta rotativa e se atingirmos o vermelho, giramos em torno do eixo x. Então, agora, se girarmos para trás, você pode ver que o ângulo de rotação muda, também
pode girar para baixo e nossa rotação x é positiva. Também podemos girar no eixo y. Também podemos girar no eixo z. E, finalmente, temos a escala,
mas, por enquanto, não estaremos mudando em torno da escala. Não será tão perceptível quanto com objetos diferentes. Então, por exemplo, digamos que você tenha criado uma bagunça aqui e você mova o objeto para algum lugar bem longe. E você quer realmente fazer a,
bem, uma posição D recente, a rotação e a escala. Podemos entrar aqui na transformação. Temos estes três botões bem aqui. E se eu clicar nele, podemos realmente redefinir todo o objeto jogo, o 000, 000 posição e 000 rotação. Ok, ótimo. E aqui, como podem ver, desapareceu algures. Por que é isso? Bem, porque estamos, não vamos selecioná-lo na hierarquia. Então, se clicarmos na câmera principal, esta é a nossa câmera, e isso é o que vemos sempre que clicamos no botão Play aqui. Então endgame para clicar novamente, podemos ver que isso é o que nossa câmera assenta atualmente. Então cena backend, podemos mover isso para cima, podemos girar isso também para baixo e para cima e herdar. Você pode ver a vista do jogo. Então, se nós movê-lo para baixo e manter apenas um pouco de branco aparecer, Modo de
Jogo, podemos ver que é exatamente o mesmo. Agora, vamos colocar isso de volta e nós realmente não vamos redefinir. Estou usando o Controle Z para voltar de todas as coisas que escolhemos. E também temos a luz direcional que não estará usando atualmente. Olá, impressora mundial. Se você clicar no w, voltamos a mudar a posição. Agora, o que vamos fazer? Vamos criar um script no qual vamos imprimir coisas para o nosso console. Então aqui embaixo, dentro de nossos ativos, vamos clicar com o botão direito do mouse. Vamos criar. Aqui temos a opção de criar um script C-sharp. Vamos clicar nisso e parar tudo o que o sapato está fazendo. Não toque em nada, não clique em nenhum lugar. Esta é uma parte muito importante da criação de qualquer script. Mesmo quando você se torna um desenvolvedor de jogos profissional, você precisa ter certeza de que você sabe como seu script vai ser chamado. Porque se quiser mudá-lo mais tarde, vai ser um pé no saco. Então vamos nos certificar de que nomeamos ou script corretamente na primeira vez. Então, de volta aqui, vamos clicar no backspace para remover tudo. E vamos chamar isso de “Olá”. O mundo era um com um H maiúsculo e um W
maiúsculo . Como você pode ver aqui no inspetor, o código é compilado. E quando clicamos duas vezes em Hello World, ele se abre e Visual Studio O k. então agora estamos prontos para começar a codificação. Então, como você pode ver, o que nós nomeamos, nosso script é na verdade o nosso nome de classe. Então, por que enfatizei o ponto de nomear nosso roteiro corretamente? Porque se você quiser mudar o nome do seu script, você terá que mudar o nome da sua classe. E também haverá muitos outros erros que você precisa resolver antes de continuar. Ok, ótimo. Então, o que vamos fazer agora? Bem, queremos simplesmente imprimir algo no nosso console. E a forma como imprimimos alguma coisa é começarmos aqui mesmo. E vamos simplesmente escrever impressos. E como você pode ver, Visual Studio imediatamente começa a nos ajudar. Então ele percebe que estamos escrevendo algo que é semelhante ao impresso. Então nos dá, isso sugere não só isso, ele nos dá uma explicação sobre o que essa impressão realmente faz. Então aqui, ele registra mensagens, o console de unidade idêntico ao log de ponto de depuração, que usaremos mais tarde, mas por enquanto vamos simplesmente usar a impressão. Então, quando você chegar a este ponto e você escolhe uma das opções que o Visual Studio oferece a você. Você pode simplesmente clicar em Tab e ele continuará por conta própria. Vou abrir estas duas pulseiras ou suportes aqui. E nós vamos colocar essas duas citações e site. E então aqui vamos escrever olá mundo com um ponto de exclamação. E agora, como você pode ver, há algo errado. Primeiro de tudo, temos este x aqui com um erro, e temos esta pequena linha vermelha ondulada. E se passarmos o mouse sobre ele, podemos ver que ele nos diz que o, há um erro e espera um ponto e vírgula no final. Então vamos adicionar este ponto e vírgula. E agora você pode ver que sempre que o Visual Studio encontrar um erro em seu código, ele realmente informará sobre ele. Então, como você pode ver agora, sempre que, quando adicionamos o ponto-e-vírgula, todos os erros foram salvos. Todas as setas foram removidas. E finalmente, precisamos salvar o roteiro. E isso é extremamente importante. Se você olhar aqui para cima, você pode ver que há um pequeno asteriscos ao lado do nosso Helloworld dot cs. E quando este asterix significa que ainda não salvamos nosso roteiro. Então salve que podemos ir para Arquivo e clicar em salvar como nosso avô Zeus fazer, ou podemos simplesmente segurar Control S e salvar nosso script. De qualquer forma. Agora que salvamos nosso roteiro, vamos para a Unidade. E agora devemos ver aqui que não temos nenhum erro. E se clicarmos no jogo aqui, bem, como você pode ver, nada acontece. Então, qual é o problema que seu instrutor pode apostar em fazer? Fazemos algo errado no Visual Studio? Bem, na verdade, não. O problema aqui é que nós realmente não anexamos este script a nada. E confie em mim, este é um erro muito comum. Então, vamos anexar nosso script à nossa impressora hello world. Então, basta arrastar Hello World para o objeto de jogo na hierarquia e no Inspetor você pode ver que ele foi adicionado. Ou também podemos pegar o roteiro mundial solo e arrastá-lo para o inspetor do nosso objeto de impressora hello world. E vamos adicioná-lo aqui ou acabar. Mas agora temos dois roteiros aqui. E podemos simplesmente remover um deles clicando nos três botões e aperte o componente Remover. Ótimo. Como você pode ver, a cena ainda não foi salva. Tem um asteriscos ao lado dele, ao lado dele. Então clique em Control S, ele foi salvo. E agora, quando clicamos em Jogar, devemos ser capazes de ver aqui mesmo, Olá mundo. É uma mensagem bem aqui embaixo dos projetos de ativos. E aqui você pode ver que temos Olá, mundo parente. Ótimo, isso é muito divertido. Agora, a próxima coisa que quero mostrar a vocês aqui, vamos simplesmente fazer um comentário. Isso significa que ele não será executado durante, durante o código. E vamos realmente imprimir aqui, imprimir Olá, Mundo e atualizar. E vamos ver o que isso faz. Então vamos salvar isso e certifique-se de ter o ponto-e-vírgula, você tem o salvo, e está dentro da atualização, que é chamado uma vez por quadro. Se voltarmos ao nosso jogo, quero mostrar-vos que algo aqui no mundo do olá foi impresso. E se olharmos para a direita, você pode ver que ele foi impresso uma vez. Então, uma vez que foi impresso, Vamos clicar se você tiver recolhido aqui, simplesmente desclique. Ele garante que suas cores são as mesmas que as outras abas aqui. E vamos tocar no Play. Então, como você pode ver, Olá Mundo e atualização está sendo impresso cada quadro que jogamos nosso jogo. E esta é a diferença entre o início, que só imprime uma vez que o jogo começou, ea atualização iria imprimir algo a cada quadro. No nosso jogo. Tão bom, isso é parar com isso agora. E como podem ver, temos uma tonelada de mensagens aqui. Então eu espero que você tenha gostado e eu espero que você tenha entendido tudo, porque agora é hora do seu desafio. Seu desafio será imprimir seu próprio nome. Então, em vez de olá mundo, você vai imprimir seu próprio nome. Então mude Helloworld para Olá, e é claro o seu nome. Em vez destes pontos. E eu vou dar algumas mãos, mesmo algumas, mesmo que esta tarefa seja muito fácil, talvez alguns de vocês estejam apenas começando com codificação. Então adicione seu próprio nome e lado dos três pontos aqui. E salve no Visual Studio, vá para o infinito e clique em Reproduzir. Não se esqueça de guardar dentro do Visual Studio e verificar a consola. E você pode colocar esta mensagem e tamanho de insight de início, ou você pode colocá-lo dentro da atualização apenas para brincar e ver como tudo isso funciona e campos, campos. Pause o vídeo agora mesmo e vá fazer o desafio. Oh, ok, bem-vindo de volta. Então, como você se saiu com isso? Vamos entrar no nosso roteiro aqui. Vamos remover o comum. E em vez de “Olá Mundo”, vamos escrever, bem, na verdade vou escrever “Olá Michael” do Double and Game Dev”. E dentro da atualização nós estamos realmente indo para escrever Olá Michael, um monte de vezes com um ponto de exclamação e vamos remover a atualização. E temos um asterix, isso significa que não salvamos, então vamos salvar isso. E de volta à Unidade. Se batermos no jogo, veremos. E se aqui realmente vamos fazer alguma coisa. Se batermos em pausa, você pode ver que o jogo pára, tudo pára. E agora toda vez que pressionamos Play, significa que quando apertamos o botão Step, você pode ver que temos uma nova mensagem, a nova mensagem e a nova mensagem, e isso realmente nos dá a linha do tempo. Então, agora que esperamos alguns segundos, isto deve ser talvez 18. Então, oh, whoa, isso foi tão preciso alto. Então, como você pode ver, cada passo significa cada quadro, e isso significa que cada quadro que passamos, atualizamos imprime algo no console. E se segurarmos nosso cursor aqui e avançarmos, podemos ver que nós, a primeira mensagem que está dentro do início foi Olá Michael do Nobel M, desenvolvedor do
jogo, que era a linha de código dentro do início. E uma última coisa que eu queria mostrar a vocês é o botão desmoronado bem aqui. Nós podemos realmente limpar todas as nossas mensagens e nós podemos realmente limpar em jogo. Então vamos limpar todas, todas as nossas mensagens e entrar em colapso. E se você pairar sobre ele, você pode ver que ele colapsa. Entradas idênticas. Clique nisso, aperte o play. E como você pode ver, Olá Michael de double m game dev
aparece no início e então você tem Olá Michael. Muitas vezes isso imprime bem, muitas vezes. E porque nós entramos em colapso e estes são todos idênticos, eles estão na mesma linha. Então vamos parar com isso agora. Espero que tenha gostado do vídeo. No próximo vídeo vamos falar sobre controle de versão e como usamos a árvore fonte, uma ferramenta muito poderosa para desenvolvedores de jogos avançados e programa avançado e apenas no geral. Então, vemo-nos na próxima.
6. Controle de versão: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos aprender tudo sobre controle de versão, árvore de
código-fonte e criação de repositórios de nossos projetos. Então, como você pode ver aqui, criamos um novo projeto. Começamos nosso grande projeto, que é o ciberespaço 2087, e baixamos a árvore fonte. Agora temos um par de commits aqui, e nós realmente revertemos algo. Criamos nosso commit inicial, adicionamos um cubo e o revertemos. Nós podemos realmente reverter este commit, um GAN. Então, clique em Sim. Como você pode ver, podemos voltar para Unity recarregar e temos nosso cubo bem aqui. Estaremos aprendendo tudo com meus novos detalhes. Então, dê-me toda a sua concentração. Isto é muito importante. É um vídeo ou lição extremamente útil e ficaremos com você por outros enquanto você estiver empenhado em se tornar um programador profissional ou desenvolvedor de jogos. Então não vamos perder mais tempo e vamos começar. Então, para controlar a versão e colocar a minha versão a laser controlada, é difícil de aprender. É ainda mais difícil ensinar, mas vou tentar mantê-lo o mais simples possível. E quando você pegar o jeito, confie em mim, é muito simples e fácil de usar. Além disso, é uma habilidade indispensável que você precisa aprender se você está procurando se tornar um desenvolvedor de jogos profissional ou até mesmo um programa profissional. Então vamos começar com o que é. Em primeiro lugar, é um sistema que é responsável por gerenciar alterações em programas de computador. Então isso significa que sempre que criamos mudanças em nossos programas, podemos realmente salvar essas alterações em cada etapa do nosso projeto. Desta forma, podemos primeiro verificar o que fizemos. Podemos criar diferentes tipos de versões onde
podemos voltar e mudar as coisas que criamos. Permite um melhor trabalho em equipe. Então, por exemplo, digamos que você tenha quatro ou cinco pessoas trabalhando no mesmo projeto, mas cada uma delas tem uma tarefa diferente que precisam criar. Então controle de versão é uma maneira muito boa de lidar com tudo isso. E por que precisamos dele? Bem, por que nós, nós realmente usamos isso? Bem, vamos usá-lo para lembrar a versão anterior do nosso jogo e ter mais flexibilidade para experimentar. Normalmente, o desenvolvimento de jogos é um ambiente onde você precisa de um monte de experimentos. Por exemplo, você deseja adicionar algum tipo de propriedade a algum tipo de objeto de jogo e talvez ele quebre todo o seu projeto. Então você quer sempre ter uma versão anterior do seu projeto antes de adicionar esta mecânica de quebra de jogo. Então você sempre pode voltar e começar de novo a partir daí. Portanto, isso é extremamente importante, especialmente para desenvolvedores de jogos que sempre precisam estar experimentando novas idéias e coisas em seus jogos e projetos. E como vamos usá-lo? Bem, vamos usar algo chamado árvore fonte e isso é controle de versão. Ele nos permite criar diferentes versões. E em primeiro lugar, é de graça. É muito fácil para iniciantes, muito flexível, e tem uma interface muito simples que podemos usar como iniciantes. Então vamos em frente e baixar a árvore de código-fonte. Deixe-me mostrar-lhe onde podemos fazer isso. Se você abrir o Google Chrome ou qualquer navegador que você tenha, basta ir para o Google e aqui, baixar a árvore de origem. Você deve encontrar um link aqui, e deve ser o aplicativo de árvore de origem. Quando você clica nele, você vai direto para o site deles. Se rolar para cima, poderá ver que tem a opção de transferir para o Windows. Mas se você estiver em um Mac, certifique-se de que você clique aqui e você baixar árvore de
origem para Mac OS ou ele não vai funcionar para você. Então, se você tem um Mac, baixe a versão do Mac, se você tem um Windows, baixe a versão do Windows. Simples o suficiente. Agora, quando você terminar de baixar, você deve obter este arquivo bem aqui. E quando você clica duas vezes sobre ele, você deve iniciar a instalação. Agora, porque eu já tenho a árvore de origem, eu não vou instalá-la outra vez. Eu vou apenas levá-lo através do processo de instalação realmente. Ok, então esta é a primeira janela que vai aparecer para você. Primeiro de tudo, você precisa concordar com a licença, é claro. E talvez você possa desligar isso se você não quiser nenhum e-mail do seu caminho da árvore fonte e et cetera, Atlassian. A próxima coisa que você precisa fazer é criar uma conta de vez em quando, você pode ir em lysine e Atlassian é a empresa-mãe da árvore fonte, pode ir em frente e criar uma conta lá, ou você pode usar uma conta existente se você já tem um Gmail. Eu pessoalmente crio um usando o Gmail. É muito mais rápido, É muito mais fácil e eles não spam você com Eigen muitos e-mails. A próxima coisa aqui, vamos conectá-lo a uma conta. Agora, isto é, é claro, nós não vamos fazer isso. Se você quiser hospedar seu código em alguns sites como GitHub ou Bitbucket. Nós não estaremos fazendo isso, então você pode simplesmente clicar aqui na configuração ignorada. Finalmente, ao instalar a árvore de origem irá dizer-lhe que não é possível localizar get. Então, a fim de completar isso, basta clicar em Download e versão incorporada do Git e continuar. E então também pode pedir-lhe algo chamado mercurial. Agora, Mercurial é um sistema diferente, assim como obter. Permite salvar diferentes versões do nosso projeto. Não usaremos o Mercurial, então você pode simplesmente clicar em, não
quero baixar ou não quero usar o Mercurial. E isso deve ser quando você terminar de instalar. Você deveria ter isso aqui. E sua, bem, esta janela aqui quando você iniciar a árvore de código-fonte, se você não simplesmente clicar aqui em Criar e você deve obter. Esta janela. Agora, é aqui que nós realmente criamos nosso repositório. E aqui você pode ver que temos o caminho de destino, o nome e o tipo de controle de versão que queremos usar. Claro que usaremos o GER. Também temos a opção de criar uma conta, mas como já disse, estamos mantendo as coisas muito simples. É a nossa primeira vez, por isso não vamos criar nenhuma conta. Então aqui vamos escolher qual é o caminho de destino do nosso repositório. Então, qual é o projeto que estamos realmente vai ser criando um repositório para e versões subsequentes do. Bem, vamos criar nosso primeiro projeto que vamos usar. Então aqui é abrir o Unity Hub. E como você pode ver, nós já temos Hello World que não temos em um vídeo anterior. Vamos clicar em Novo. E vamos ter certeza de que é um projeto 3D. E este vai ser o nosso espião cibernético 2087. Vamos em frente e criar este projeto. Então, clique em Criar. E eu, é claro, sempre usando minha magia de edição e ordem para acelerar esse processo. Vejo-te do outro lado. Ok, bem-vindo de volta. Espero que tudo tenha dado certo para você. Então agora temos um novo projeto que é o ciberespaço 2087. Então, agora que temos nosso projeto criado, podemos realmente ir em frente e começar com a criação de um repositório. Agora, se voltarmos para a nossa árvore fonte aqui, podemos clicar em Procurar e podemos realmente ir em frente para projetos do Unity. E vocês podem ver que temos um mundo de olá e temos um ciberespaço até 2087. Então, vamos selecionar esta pasta. Ele irá criar um repositório sob este nome. Se apertarmos Criar, ele vai pedir um problema. Não se preocupe com isso. Clique em Sim. E voilá, agora, nós realmente começamos a criar um repositório. Você tem os arquivos encenados bem aqui. Você tem diferentes tipos de botões. Você não precisa se preocupar com nenhum deles por enquanto, apenas se concentre nas folhas preparadas em arquivos de teste e confirme aqui. Agora, se nós rolarmos para baixo nesses arquivos no palco, você pode ver que a maioria deles são da biblioteca. Nós rolamos até o final, podemos ver alguns deles são Tampa acampamento ou temporariamente. Podemos ver também que temos configurações do projeto e estes são todos os arquivos que nós para o nosso projeto. Nós também temos ativos aqui para a unidade nas cenas, por exemplo. Então este é um repositório que é uma versão do nosso projeto atual. Agora, o problema aqui é, como você pode ver, há uma tonelada de arquivos e nós não precisaremos de todos eles. Bem, na verdade, não precisaremos de quase nenhum deles. Precisaremos apenas de um certo tipo de arquivos. Então queremos ignorar a biblioteca e os arquivos temporários. Por que é isso? Bem, deixe-me mostrar-lhe abrindo o diretório do nosso projeto. Oh, ok, então este é o Cyberspace por 2080 Sevens diretório dentro do Projeto Unity, como você pode ver aqui em cima. Então nós temos os ativos, os logs da biblioteca, pacotes, etc, etc. Agora, o que é a pasta temporária e o que é a pasta da biblioteca e por que não precisamos deles? Portanto, temporário é apenas uma maneira de a unidade se abrir mais rápido sempre que iniciamos o projeto. E é sempre criado sempre que abrimos um projeto. Então, por exemplo, se eu entrar na Unidade aqui e eu realmente fechá-la, você verá que o arquivo temporário desaparecerá. E mesmo que excluamos a biblioteca agora, então vamos em frente e excluir esta biblioteca completamente. Se voltarmos ao nosso Centro de Unidade e abrirmos o espião cibernético 287. Como você pode ver aqui, você viu que a biblioteca foi criada novamente e a pasta temporária também foi criada. Então, é claro, o projeto deve levar um pouco mais de tempo agora para se abrir. Mas isso é evidência de que uma biblioteca e as pastas temporárias não
são necessárias para que sempre nos comprometemos e encenemos. E o que eu quero dizer com estágio? Então, sempre que
preparamos nossas pastas, nós realmente criamos um commit deles, qualquer versão deles. E a biblioteca ocupa muito espaço. Como você pode ver, se nós rolarmos para baixo, ele ocupa a maior parte do espaço e nós não queremos nenhum deles em tudo. Então, como devemos proceder? Bem, nós podemos realmente ignorar todas as pastas que estão sob a biblioteca simplesmente indo e escolhendo qualquer uma das pastas que têm biblioteca sobre eles. Clique com o botão direito nele. E aqui você pode ver que temos a opção de ignorar um deles. Então clique em Ignorar. E aqui você tem a opção de ignorar esse nome de arquivo exato, ignorar todos os arquivos com essa extensão, ou você pode ignorar tudo abaixo de uma biblioteca, e isso é o que queremos. Então, clique em Ok. E como você pode ver, tudo na biblioteca agora foi ignorado, então não podemos prepará-lo, então não podemos salvá-lo em nossa versão mais recente. E se você rolar para cima, você deve ter notado que temos uma nova pasta aqui que é o ponto git ignore. E quando clicamos sobre ele à direita, você pode ver que ele tem a biblioteca. E, e se clicar duas vezes sobre ele, podemos realmente abri-lo em nosso bloco de notas. E aqui podemos adicionar os diferentes arquivos que também queremos ignorar. Então, quais são os arquivos que queremos ignorar? Bem, há uma tonelada de arquivos, mas felizmente, alguém realmente passou por todos esses arquivos e criou uma lista de tudo que podemos ignorar ao criar controles de versão ou versões do nosso projeto. E para encontrar esse arquivo, você pode ir novamente e para o Google ou a frente. Vá em frente e procure ponto git, ignore a unidade. E você deve ter esse link aqui para o github.com. E ele será hospedado no GitHub. Se você abrir este link, ele vai levá-lo aqui. Então este é o ponto gitignore e é o ponto de unidade git ignore. E estes são todos os arquivos que podemos ignorar ao criar versões do nosso projeto. Você pode clicar na linha aqui, e ele vai abrir esta janela ou esta guia. Vamos ir em frente e selecionar todos eles clicando no controle a. Nós vamos copiar tudo isso usando o controle C. E nós vamos colá-lo aqui em nosso bloco de notas dot gitignore. E agora temos este git ignore pacote de nota preenchido com todos os arquivos que não vamos usar para o nosso repositório. Vamos salvar isso usando o Controle S. e agora de volta na Unidade ou quero dizer pacote e árvore fonte. Você pode ver que quando tivemos o instinto ignorado, tudo é ignorado. Vamos encenar tudo isso. E quando encenamos tudo isso, você pode ver que esses são os arquivos que serão comprometidos. E estes seriam o nosso compromisso inicial ou nossa versão inicial do repositório do projeto. E geralmente sempre que você cria seu commit inicial, chamamos isso de inicial. Você pode capitalizá-lo, o commit inicial, oops, inicial. E nós clicamos em Commit aqui. Então, agora, se você olhar para a esquerda, você pode ver que nós temos ramos aqui embaixo e nós temos o ramo mestre. Parabéns, criámos o nosso primeiro compromisso. Muito agradável. Agora, deixe-me mostrar a vocês como vamos avançar mais adiante, mesmo que este vídeo tenha sido longo o suficiente. Mas acho que precisamos de uma base adequada
para a árvore de origem e controle de versão à medida que avançamos através do nosso projeto. Então, digamos que estamos em nosso projeto bem aqui. E vamos em frente e criar algum tipo de cubos. Objeto 3d. Clique com o botão direito na hierarquia. objeto 3d, criar um cubo, e agora temos um cubo. Vamos aumentar um pouco. Então esqueleto o x, o y e o z. ótimo. Agora temos um cubo e nossa cena. E agora, se entrarmos na árvore fonte, vamos guardar isso antes de irmos. E precisa guardá-lo para uma certa cena. Então vamos entrar nas cenas. Esta será a nossa cena de amostra. Claro. Cena de amostra, sim, substitua-a. Então temos essa cena de amostra de volta e árvore de origem. Aguarde um pouco e você pode ver que temos alterações não confirmadas. Então, se clicarmos neles, você pode ver que os arquivos no palco são mudanças dentro das cenas, que é a cena de exemplo. E aqui você pode olhar em detalhes o que criamos agora. É um pouco estranho aqui, mas se você olhar de perto, você pode ver que criamos colisor de caixa. E basicamente isso representa o cubo que adicionamos à nossa cena. Então vamos em frente e encenar tudo isso. Podemos clicar em Commit aqui e nomear este adicionado um cubo. Clique no comentário. E agora em nosso ramo mestre, você pode ver que nós temos um commit inicial que não tinha nenhum cubo. E agora em nosso cubo adicionado, adicionamos um cubo. Então, parabéns. E como nota final, isso pode parecer um pouco complicado. Isto pode parecer um pouco estranho, mas não tenha medo que isto seja muito simples. E o mais importante, é extremamente importante para nós
entendermos à medida que avançamos através do nosso projeto, criamos versões, versões dele. E se alguma vez cometermos um erro, podemos voltar atrás clicando com o botão direito do mouse aqui e revertendo a confirmação. E sim, podemos reverter o comprometimento se voltarmos para a Unidade, ele nos pedirá uma recarga. Nós escrevemos, recarregamos, e agora não temos o cubo ou qualquer mecânica de quebra de
jogo que adicionamos ao longo do caminho. E agora é hora do seu desafio. Seu desafio será baixar e configurar a árvore de origem e o arquivo. Então baixar árvore de origem e parar e configurar tudo. Crie seu projeto 3D no Unity Hub, configure um repositório para ele e a árvore de origem ignorou os arquivos da biblioteca e obtenha o ponto ignore foil e adicione-o ao seu repositório, crie seu primeiro commit
e, em seguida, crie seu segunda confirmação. Você pode até ir em frente e tentar talvez brincar com algumas coisas. Adicione um cubo, reverta a confirmação, veja o que acontece. Fique confortável com a árvore de origem. E se você estiver tendo um pouco de problemas, você pode pausar o vídeo nesta lista de coisas que você precisa criar. E você também pode sempre voltar e assistir o vídeo e ver como eu fiz tudo e acompanhar comigo passo a passo. Então, vejo-te daqui a pouco. Então, no próximo vídeo, vamos estar configurando nosso mundo, criando vários materiais e iniciando nosso ciberespaço quando o projeto 87. Então, vemo-nos lá.
7. Como configurar nosso mundo: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Como você pode ver, nós criamos um incrível avião bem aqui. Nós adicionamos alguns cubos. Bem aqui. Adicionamos rotação a eles, adicionamos escala. Brincamos com a luz direcional, brincamos com a câmera principal. Adicionamos essa iluminação e geramos luz. Muito agradável. Este é um vídeo muito legal porque é a essência de onde
vamos começar a criar e construir nosso incrível jogo. E antes de irmos, eu esqueci de fazer isso no final do vídeo, mas certifique-se de que quando você terminar este vídeo e terminar o desafio, encenar, todos os seus arquivos e enviá-los. E vamos chamar isso de criar nosso ambiente ou nosso playground. Comprometa isso. E ramo mestre, criamos nosso playground. Ótima. Então não vamos perder mais tempo e vamos começar. Certo, a primeira coisa que queremos
fazer é entrar na janela do jogo aqui. E se você olhar bem abaixo, você pode ver que ele está atualmente no aspecto livre. E nós não queremos isso. Nós realmente queremos mudar isso e torná-lo 19, 1920 por 1080. Então esta é a tela normal de qualquer um que está jogando um jogo no PC. Se você não tiver essa opção, você pode adicioná-la a partir daqui e escolher a resolução fixa. Então faça isso 1920 por 10 grupos, pode 80. Ok? Então vamos escolher este e é assim que vamos usar o nosso novamente. Ótima. Agora que temos essa configuração, vamos começar criando nosso ambiente. Vamos apagar este cubo aqui. o botão direito do mouse na hierarquia, escolha objeto 3D e crie um plano. Então este será o nosso avião bem aqui. E vamos redefinir sua posição para ser em 000, 000. Ótimo, Então agora a posição está em 0, 0 e 0. Vamos escalar isso. Acho que vamos escalar isso para 5 por 5, não o y, desculpe, o z, cinco por cinco por cinco. E porque isto é um avião. Então, como você pode ver, porque este é estritamente um plano quando nós aumentamos ou diminuímos,
bem, na verdade, diminuir faz com que ele desapareça. Mas mesmo que aumentemos os 250 brancos, a profundidade do avião não muda. Continua o mesmo. Então vamos mantê-lo em um e ficar vermelho. E se você olhar aqui no avião, nós temos o filtro de malha. Então o filtro de malha é o que dá ao objeto que criamos uma forma. Se mudarmos o filtro de malha, por exemplo, para um cubo, podemos ver que a forma realmente muda. E essas linhas verdes são realmente chamadas de colisor. Nós temos sobre o nosso objeto. Então este é o colisor bem aqui, o colisor de malha do nosso avião. Se desligarmos esse componente, você pode ver que as linhas verdes desaparecem e depois reaparecem quando ligamos isso novamente. E, basicamente, aprenderemos mais sobre os colisores mais tarde à medida que avançarmos ao longo do curso. Mas por enquanto, saiba que os colisadores permitem que objetos interajam uns com os outros. Então vamos mudar isso de volta para um, mudar isso para um avião. E o renderizador de malha é na verdade a cor que temos em nossos objetos. Então, mais tarde neste vídeo, vamos criar nosso próprio material. Mas aqui você pode ver que temos materiais. Podemos alterá-lo para, por exemplo, o material do céu ou o material padrão ou este espaço. Eu não tenho certeza do que é isso ou chama ou algo assim, mas por enquanto vamos apenas mantê-lo no material padrão que já tínhamos. Certo, ótimo, agora que temos nosso avião, é hora de criar alguns cubos. Então vamos clicar com o botão direito aqui e criar um objeto 3D e criar um cubo. Você pode vê-lo. Deve estar bem aqui no avião. E vamos ampliar só um pouco. Então aqui podemos mover nosso objeto. Se clicarmos em uma das setas, podemos movê-los sobre esses eixos ou o eixo em que a seta está. Ou podemos escolher um desses aviões. Então, se
escolhermos este, podemos movê-lo nas posições x e z. Se escolhermos o cisne, podemos movê-lo em torno do y e z. E se clicarmos no like, ele começa a entrar na ferramenta de rotação e podemos realmente girar nosso cubo. Mas mais uma coisa sobre a qual não falamos é na verdade a escala. Então, se clicarmos no arco, podemos ver que podemos escalar este cubo na direção z, na direção y, ou na direção x. Também podemos escalá-lo por todo o eixo aqui. E agora podemos aumentar o nosso cubo e adicionar ao nosso parque de diversões bem aqui. Então vamos colocar isso direito sobre, digamos aqui, e vamos escalá-lo um pouco mais. Então agora temos este cubo bem aqui no nosso avião. E assim como o, o plano, o cubo também tem seu próprio colisor de caixa e sua própria renderização de malha e filtro de malha no inspetor. Ótima. Agora vamos em frente e duplicar este cubo e colocar um, outro cubo bem aqui e talvez nós vamos reduzi-lo. Então, basicamente agora estamos criando algum tipo de playground para brincar. E vamos mover este cubo bem aqui, colocá-lo no chão quase. E vamos em frente e criar um, outro cubo e colocá-lo aqui. E vamos escalar este cubo para cima e torná-lo uma espécie de torre, pensar e talvez adicionar um pouco de rotação. E coloque-o por aqui. Ok, e vamos pensar que eu quero fazer, talvez vamos duplicar este também e colocar dois cubos ao lado dele. Então estes seriam dois cubos bem aqui. E o que eu quero fazer aqui é criar um limbo. Então, se você sabe o que é limbo, eu não tenho certeza se é mesmo chamado de limbo. E é como uma pequena peça que nos permitirá apenas gostar disso. Então é como uma pequena vara que podemos deslizar ou agachar-se lá mais tarde. À medida que criamos movimento para o nosso jogador. Talvez mudemos isso para cima ou para baixo dependendo do quanto queremos nos agachar com nosso jogador. E finalmente, o que mais deveríamos acrescentar? Bem, vamos continuar e duplicar isso de novo. E a maneira como os estou
duplicando, a propósito, sinto muito. Eu estou realmente clicando em um de nossos objetos de jogo e clicando em Control D. Então sempre que eu clicar em Control D para duplicar o objeto do jogo. E vamos apagar este. Deixe-me rodar isso um pouco. Vamos duplicar de novo, e vamos movê-lo um pouco aqui. Então, atualmente nosso eixo, como você pode ver, eles giram com nosso objeto. E isso porque aqui no canto superior esquerdo, você pode ver que escolhemos a escala local. Então, se clicarmos nisso, você pode ver que ele vai para a escala global e
não vai mudar com base no que os cubos são. Então vamos duplicar isso novamente e girá-lo mais uma vez apenas um pouco, apenas para adicionar um pouco de variedade a ele. Duplicar isso de novo, e vamos girá-lo. Então temos esse canto artístico aqui e provavelmente faremos o avião maior mais tarde. Finalmente, o que eu quero fazer é adicionar uma rampa a este cubo. Vamos fazer isto, vamos fazer este cubo um pouco maior. E eu quero adicionar uma rampa a ele. Então vamos em frente e duplicar este. Mova-o para cá. E vamos fazer isso um pouco menor. Faça-o desta forma. Vamos girá-lo para cima ou saber o quê, deixe-me ver como fazer uma rampa aqui. Então esse tipo de parece uma rampa. Parece que é uma rampa que toca o chão? Não, tem de ser por aqui. Então vamos precisar torná-lo um pouco maior. Enquanto estou fazendo isso, sugiro que você também crie seu próprio playground com essas coisas essenciais. Então, uma grande e longa torre em que podemos saltar. Um pequeno limbo bem aqui, um par de praças e talvez esta rampa bem aqui porque vamos usar tudo isso por razões diferentes. E, na verdade, eu vou fazer o meu simples
10 por 10 porque eu quero ter mais espaço no playground. Então vamos mudar isso para cá. Vamos mover estes. Aqui em cima. Então mova-os para lá. Vamos mover este para lá. E estes quatro cubos, oops, não, este. Mas o avião, estes quatro cubos, eu vou para a esquina bem aqui. Ok, ótimo. Então agora temos o nosso parque de diversões, tipo. Mas o problema é que, como você pode ver, eles são todos da mesma cor e muito, muito sem graça. Então, o que podemos fazer sobre isso? Bem, podemos criar alguns materiais. Então, se entrarmos no projeto, vamos clicar com o botão direito aqui e vamos em frente e criar uma pasta. E esta pasta vai ser chamada de materiais. E dentro desta pasta vamos clicar com o botão direito do mouse em Criar. E aqui podemos ver que temos a opção de criar um material. Então, clique nisso. Vamos em frente e chamar este tapete de cubo D. E isso significa o material do cubo. Então vamos em frente aqui podemos ver que podemos mudar um monte de coisas. Podemos mudar o albedo, o metálico, torná-lo mais metálico. E aqui você pode ver como o material vai ser parecido. Assim, podemos aumentar a suavidade ou diminuí-la. Podemos torná-lo mais metálico e podemos mudar muitas coisas. Mas por enquanto, vamos em frente e clicar aqui. E nós podemos realmente mudar a cor de nossos materiais. Então vamos em frente e torná-lo laranja como e vamos tentar ampliar aqui. E a forma como adicionamos materiais aos nossos objetos de jogo é realmente super simples. Nós simplesmente arrastá-lo e colocá-lo em um de nossos objetos de jogo. Assim, podemos ver que podemos rastrear nosso material sobre objetos de jogo. E a coisa legal sobre isso é que quando agora tentamos mudar nosso material, você pode ver que ele muda diretamente nos
objetos do jogo que aplicamos o material também. Então vamos manter isso em laranjada, laranjada. E agora, a fim de tornar isso um pouco mais, adicione um pouco mais de vibração a essas cores. Vamos em frente e adicionar uma missão a eles. Então, quando você clica na missão, podemos realmente adicionar outra camada de cores a ela. E vamos em frente e também fazer isso laranja. Então agora você pode ver que eles são muito mais vibrantes e você pode escolher o que, que grau você quer que esta vibração seja. Então, como você pode ver agora, essas cores laranja realmente se destacam de tudo o resto. Então, agora que temos o nosso material laranjado, vamos em frente e adicionado a todos os nossos cubos. E aqui você pode realmente fazer isso com o que quiser. Você pode realmente ir em frente, por exemplo, escolher um ou este é d cubo 4. Você pode arrastar o material para o cubo 4 e podemos arrastar o material para lá. - Legal. Agora queremos criar um material para o nosso avião aqui. Então nós duplicamos o material do cubo e vamos chamá-lo de, vamos remover o um e vamos chamá-lo de material plano. E você pode ir em frente e escolher a cor que você quiser com qualquer emoção que você quiser, você pode brincar com isso. Mas eu só vou torná-lo talvez verde e mudar o, vamos adicionar isso para o avião e parece muito ruim. Vamos mudar a emissão um pouco e talvez torná-la um pouco azul. Isso é azul verdadeiro. E não, isso é muito azul. Por favor, deixe-me mover isso. Talvez devêssemos torná-lo totalmente preto. Também podemos alterá-lo. Oh, bem, você sabe, preto parece muito bonito, na verdade. Então vamos mover isso só um pouco aqui. E agora temos quase tudo no nosso parque de diversões. Muito legal. Então agora mais uma coisa que quero abordar são as sombras que temos em nossos objetos atuais. Então, como você pode ver, deixe-me mover isso um pouco para cima. Então o peso das sombras mexe isso. Não estou gostando muito desta rampa. Então deixe-me mudar isso um pouco, movê-lo assim, e talvez para baixo um pouco ou caso. Então agora deixe-me mudar isso para local. Mova-se assim, e isso parece ser bom o suficiente. Certo, ótimo, estou satisfeito com isso. Então agora como você pode ver, o que realmente você não pode ver porque as sombras se foram, mas eles são muito, muito fortes em nossos objetos de jogo. E por que isso? Bem, porque na verdade não geramos nenhuma luz para a nossa cena. E a maneira como geramos a luz, se entrarmos na janela bem aqui, e entrarmos na renderização, temos essa opção de iluminação. Então vamos clicar sobre isso e podemos realmente ir em frente e falar a seguir ou inspetor. Então aqui temos um monte de opções para a cena,
ambiente, mapas de luz em tempo real e mapas de luz assar. Não vamos entrar em detalhes neste vídeo. Mais tarde, nós, é claro, estaremos passando por quase todos estes e jogador brincando com a iluminação e nosso ganho. Mas, por enquanto, tudo o que precisa saber é que podemos gerar luz. Então, se clicarmos em gerar luz e nós apenas um pouco para que ela crie iluminação global. Você pode ver que tudo é muito, muito mais claro. E agora podemos entrar em material e talvez mudar as cores com base em. Assim, pode mudar com base no que criamos agora, com base nos aspectos assados. E se ampliarmos, podemos ver que as sombras são um pouco mais claras. Então lembre-se, renderização janela, iluminação e iluminação simplesmente clique em Gerar iluminação. Agora, vamos voltar e entrar em nossa câmera principal, se apertarmos Play. Podemos ver que tudo visto se parece com isso, e está começando a levar um pouco de 4. Então vamos sair e nós realmente podemos mudar a posição da nossa câmera movendo-a para cima e para baixo e girando-a ao redor. E você pode ver como isso vai olhar
no jogo principal olhando para o pequeno quadrado bem aqui. E mostra como isso vai parecer mais tarde. Ok, então uma última coisa que eu quero falar é sobre a luz direcional. Então, a luz direcional, clicamos nela e certificamo-nos de que você está no inspetor. Podemos realmente mudar a cor que é renderizada a partir da luz direcional. E esta é a principal fonte de luz. E como você pode ver, as cores de nossos objetos de jogo mudam com base na cor da nossa luz. Vamos mudar isso de volta ao normal para o que quer que fosse. E aqui podemos realmente aumentar a intensidade. Então, como podem ver, podemos mover isso muito para cima. Tudo parece branco ou podemos movê-lo para baixo até ficar 0, mas vamos mantê-lo em um. E outra característica disso é que podemos brincar com as sombras. Então, como você pode ver, a força da sombra está atualmente em um. Nós podemos movê-lo para baixo e você pode ver as sombras de nossos blocos realmente ficando mais dimmer e dimmer até que eles se tornem 0 ou eles podem ser muito fortes. Vou mantê-lo em torno de 0,8. Vamos guardar isso. E agora temos nosso playground e nosso mundo configurados no próximo vídeo, que está na próxima seção, seção 2, vamos adicionar nosso player e começar a
mexer e aprender sobre controle de personagens. Antes de fazermos isso, quero apresentar-lhe um desafio. E seu desafio será montar
seu próprio trabalho para que você não precise criar o playground que eu criei. Você pode ir em frente e criar o seu próprio, criar o ambiente em que irá construir no playground. Crie materiais com suas próprias preferências e adicione-os ao seu ambiente. Então pausar o vídeo agora mesmo. Vá em frente, brinque, veja como funciona a rotação. Veja como funciona o dimensionamento. Crie seu próprio material. Brincar com a emissão. Veja o que funciona, veja o que não gera um par de iluminação. E antes de seguirmos em frente, talvez alguns de vocês tenham esse problema. Talvez nenhum de vocês tenha esse problema. Mas esclarecedor, certifique-se de que a geração automática está desligada. Assim, quando a geração automática está desligada, você pode gerar sua própria iluminação. E é criado aqui mesmo nesta pasta, bem aqui. E vamos mudar isso para o campo de jogo. Sim, podemos recarregar. E agora a nossa cena chama-se “playground”. Então, como eu disse, o desafio ainda está de pé. Pausa o vídeo. Oops, pausar o vídeo e ir fazer o desafio, e eu te vejo no próximo.
8. SEC 2 - Configurando o controlador: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Como você pode ver, adicionamos um jogador. Na verdade, é uma espécie de cápsula agora, mas, bem, representa o nosso jogador. Acho que ele parece legal o suficiente. Ele parece um RoboCup, mas nós adicionamos um jogador que é uma cápsula. Adicionamos ao nosso jogador. Adicionamos um Controlador de Personagens com um script de jogador, e aprendemos muitas coisas como controlador de personagens, um pivô e relacionamentos pais e filhos. Então não vamos perder mais tempo e vamos começar. Ok, então vamos começar primeiro, criando um corpo para o nosso jogador. Agora, clique com o botão direito do mouse na hierarquia para o objeto 3D e vamos em frente e criar uma cápsula. Vamos redefinir sua posição. E agora nós temos no 000, e vamos movê-lo para cima apenas um pouco agora
do aparelho de luz e a câmera aqui estão incomodando você. Assim como está me incomodando. Vamos em frente e reduzir o tamanho deles ou podemos realmente desligá-los completamente, mas não vamos fazer isso. Aqui dentro. Nos aparelhos, você pode realmente clicar aqui e você pode torná-los menores para que
eles não pareçam tão gritante e distanciamento nos distrair de nossas principais tarefas. Ok, ótimo. Então agora temos esta cápsula bem aqui. E vamos em frente e aumentar a escala em torno do 1.6. Vamos fazer 1.6, torná-lo um pouco maior, movê-lo um pouco para cima. E isso capturado será realmente nossos jogadores. Ou vamos simplesmente chamar-lhe o corpo. Ótima. Então agora temos um corpo que representa um tipo de nosso jogador. A próxima coisa que vamos fazer é adicionar um pouco de personalidade a esta cápsula aqui criando um gelo. O ice clique com o botão direito do mouse na hierarquia, vá para o objeto 3D e vamos em frente e criar um cubo. Novamente. Vamos redefinir a posição e colocá-la aqui. Vamos fazer os olhos,
bem, na verdade, os olhos devem ser sempre menores. Então eu gosto disso e escalá-lo para baixo neste eixo também e estes eixos também. E vamos movê-los para a frente. Vamos entrar nos materiais e adicionar o material liso aos nossos olhos. E vamos chamar isso, vamos olhar para aquilo. Sim, parece muito mais legal. Agora, vamos mover estes opostos. Então agora temos esse RoboCup. Ele não se parece com o RoboCup? Eu acho que ele faz. Então, agora, vamos limpar isso um pouco à esquerda e à direita. Oh, Barry da caverna, legal. Então agora temos o gelo. Vamos renomeá-los como olhos. Ok, ótimo. Agora, qual é o problema aqui? Bem, o problema é que o nosso corpo. Remova isso. Ele se move sem os olhos, então eles não estão se movendo juntos. Como vamos consertar, consertar isso? Bem, podemos usar algo em união que é chamado de relação pai-filho. Então, se movermos os olhos para o corpo, você pode ver que os olhos se tornam um filho do corpo. Agora, quando movemos o corpo, os olhos se movem com nosso corpo. E deixe-me explicar um pouco mais o que tudo isso significa. Então, o que é a relação pai-filho? Assim, a criança se moverá, girará e escalará com o objeto do jogo pai. Nós, ele é usado para criar um corpo de objetos que se movem juntos. Assim como seus braços estão presos ao seu corpo quando você nasce, seu torso e seu torso se movem para frente, seus braços se movem com seu torso. Não é uma explicação estranha, mas você entende. Assim, a criança se move, escala e gira com o pai. Assim, as crianças também podem ser pais de outros objetos de jogo. Assim, podemos criar crianças para os olhos que são atualmente as crianças do corpo. Para que possamos criar tantas crianças quanto quisermos. E, finalmente, as propriedades de transformação filho são relativas ao pai. Então, o que isso significa? Então, vamos voltar. Então aqui você pode ver que a posição dos olhos é atualmente 00.6120.46. Bem, na verdade, se movermos o corpo agora, seria de esperar que a posição dos olhos mudasse. Mas se voltarmos aos olhos, você pode ver que a posição ainda é 0, 0,06 e 0,4. Isso significa que os objetos brilhantes, a posição e rotação e escala são realmente relativos ao objeto pai que temos. Ok, ótimo. Então, agora que isso está claro, vamos em frente e criar outro objeto de jogo. E desta vez vai ser um objeto de jogo vazio. E este vai ser o nosso jogador. Vamos redefinir a sua posição. Vamos redefinir a posição no x e no z do nosso corpo aqui. E vamos colocá-lo sob o jogador. Então agora o jogador como o pai, o corpo é um filho do jogador e os olhos são o filho dos corpos de agora nosso jogador. Quando o jogador move o corpo, os olhos se movem com, ótimo. A próxima coisa que vamos fazer é adicionar um controlador de caracteres. Agora, antes de fazermos isso, vamos explicar o que é o controlador de caracteres. Então, o que é um controlador de personagens? Ele é usado para controlar um personagem de primeira pessoa ou terceira pessoa em seu jogo. Agora é claro que estamos usando a primeira pessoa. Vamos criar um atirador em primeira pessoa. Então vamos usá-lo para a nossa primeira pessoa. É mais, é mais um medidor dez, usando corpos rígidos. Agora, um corpo rígido. Ainda não aprendemos não corpos rígidos, mas elétrons. Nós vamos estar explicando tudo sobre corpo
rígido e na verdade acrescenta física também. Um certo corpo para se mover pelo mundo. E usar o controlador de caracteres é realmente muito mais realista do que usar um corpo rígido. Permite um ajuste mais fino. Então, por exemplo, queremos saltar, mover, adicionar velocidade. Mais tarde você verá que é muito melhor do que usar um corpo rígido. E, finalmente, não é afetado pelas forças. Ele corpo rígido, quando adicionado a um objeto de jogo, torna esse objeto de jogo suscetível à física ao redor. Assim, forças e coisas diferentes serão efetivadas. Nós não queremos ter isso em nosso jogador, apesar do que você possa pensar sempre que você joga um jogo, ele realmente não é afetado pelas forças ao seu redor, exceto pelas que queremos afetar o jogador. Então este é o ponto inteiro do controlador de caracteres. Agora, vamos voltar ao Unity e vamos adicionar um controlador de personagens ao nosso jogador. A forma como adicionamos um componente é clicar no objeto ao qual queremos adicionar um componente,
que é o nosso player. Vamos ao inspetor. Temos este componente de adição aqui. Então, clique nele. E nós podemos digitar no controlador de caracteres e apenas adicioná-lo aqui. E como você pode ver, o controlador de personagem está na verdade sob o nosso jogador. E isso é porque, deixe-me mostrar o que isso significa. Porque agora, se olharmos para trás aqui, temos as configurações globais. Se clicarmos no centro aqui, ele se torna pivô. E pivô é na verdade o centro do nosso objeto de jogo atual e é onde tudo gira em torno. É por isso que o controlador de personagem está no meio, ou na verdade o objeto do jogo do jogador está no centro do nosso controlador de personagem, então vamos precisar movê-lo um pouco para cima. Então, a maneira como movemos para cá, temos a opção de mover o centro. Então vamos mover isso um pouco para cima e vamos aumentar a altura. Então vamos fazer a altura para caber na nossa captura. E também podemos aumentar,
ou, na verdade, não muito. Pode aumentar ou diminuir o raio. Na verdade, esse raio é bom o suficiente. E uma última coisa, vá para o corpo e remova o colisor da cápsula e vá para os olhos. E OK, também removeu o colisor de caixa. Então a única coisa que precisamos é o controlador de personagens que nos
dá a capacidade de interagir com o mundo que nos rodeia. Ok, ótimo. Então agora temos este controlador de caracteres. E como você pode ver aqui, ele também tem um limite de inclinação. Então, a inclinação significa o ângulo no qual o personagem pode escrever ou subir. Temos o deslocamento do canhoto. Então, o que é, por exemplo, digamos que temos o passo aqui. Se diminuirmos muito, nosso jogador não será capaz de pisar nele. E também temos a altura e o raio e o centro do nosso controlador de personagens. Agora, a última coisa que queremos fazer é adicionar um script ou player. E, na verdade, vai ser o teu desafio. Então seu desafio será criar um script de jogador. Então crie uma pasta para os scripts que vamos adicionar. Crie um script C-sharp e nomeie-o player, adicionado ao nosso objeto player. E finalmente abriu o script e Visual Studio. Então pausar o vídeo agora mesmo e ir em frente e fazer o desafio. Oh, ok, bem-vindo de volta. Espero que não tenha sido um desafio muito difícil. Nós já estamos um par de vezes ou talvez apenas uma vez. Então aqui, clique com o botão direito do mouse em criar pasta chamada este d scripts. Dentro de scripts, vamos clicar com o botão direito do mouse em Criar e criar um script C-sharp. Certifique-se de chamá-lo corretamente na primeira vez. Então jogador, sim, aperte Enter, espere que ele compile. Ok, então agora está pronto. E nós vamos simplesmente ir em frente e anexá-lo ao nosso jogador. Nós vamos salvar isso. Clique no jogador. E agora temos o script anexado a ele como um componente. Clique duas vezes no player para abrir e Visual Studio. E tudo deve estar funcionando corretamente. Agora, antes de seguirmos em frente, deixa-me contar-te uma coisa. Se o Visual Studio não estiver funcionando, vi esse problema em muitas pessoas. Portanto, vá para a edição, edição, preferências, ferramentas
externas e inhere certifica-se de que o editor de script externo é a Comunidade do Visual Studio. Há coisas diferentes que você pode usar. Talvez você tenha um código visual ou algo que é chamado assim e não vai abrir corretamente. Portanto, certifique-se de que você tem o Visual Studio Community como seu editor de script externo. Ok, ótimo, então agora que terminamos com isso, no próximo vídeo, vamos adicionar um pouco de movimento de personagem ao nosso jogador. Então eu espero que você tenha gostado do vídeo e eu vou vê-lo no próximo. Antes de irmos, esqueci-me de fazer uma coisa. Vá para a árvore de origem, palco. Todas as nossas mudanças, submeta-as, e vamos chamá-lo aqui, adicionei o meu jogador com um controlador de personagem, cometa isso. E agora temos isso em nossos ramos. Vejo você no próximo vídeo.
9. Como configurar o movimento para jogadores: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Como você pode ver, nosso script de jogador aqui tem um pouco de diferença de antes. Se olharmos para o nosso Visual Studio, você pode ver que criamos duas variáveis. Neste vídeo, vamos aprender quais são as variáveis, como podemos criá-las, e você vai criar uma para si mesmo. Também aprenderemos como nosso controlador de personagens pode se mover. E além disso, também
entenderemos o que é o vetor três e o que, e como brincar com todos eles. Então não vamos perder mais tempo e vamos começar. Oh, ok. Então vamos começar. Mas antes de começarmos, quero fazer algo. Como você pode ver, nossa hierarquia agora está completamente cheia de paradas aleatórias ou Q1Q2, o avião e o jogador e a direção da luz. Nós não queremos isso. Queremos colocar as coisas em seu lugar de perspectiva e ter uma hierarquia bonita que possamos olhar e entender quais são as coisas que temos em nosso ambiente ou nossa cena atual. Vamos em frente e criar objeto de jogo vazio. E isso vai ser, vamos redefinir sua posição. E isso vai ser chamado de ambiente ambiente e significa. Não sei se é assim que está escrito. E vamos pegar o avião e todos os cubos. E a maneira como podemos escolher tudo isso é clicar no avião, manter pressionado, mudar e escolher o cubo. Agora você seleciona tudo isso e coloca-os no ambiente como crianças. Então agora temos o ambiente que tem todos os cubos e o avião, e nós temos o jogador, a câmera principal, e direções. E é, parece muito, muito mais agradável. Ótima. Agora, a próxima coisa que vamos fazer é configurar o movimento do
nosso jogador para que possamos mais tarde movê-lo, movê-lo ou ela. Depende de como você quer fazer o seu jogador B. E nós vamos configurar o ambiente ou o código para ele mover. Então vamos abrir nosso roteiro e ver como vamos fazer isso? Bem, a primeira coisa que queremos fazer é criar uma variável. Então, o que é uma variável? E vamos falar sobre isso. Variáveis são como caixas. Então, por exemplo, digamos que temos uma variável que é uma caixa, ou uma caixa que é chamada Vidas. E colocamos dentro dele um valor de três. Então isso se torna uma variável com um nome vive e tem dentro dela um valor de três. A forma como escrevemos em código é pública. Tão público, pode ser público ou privado. E esta é a acessibilidade. Então, quando dizemos público, isso significa que todos dentro desta classe atual podem usar essa variável. Se for privado. Somente, esta classe pode usá-lo e ninguém fora dela pode acessar essa variável. Nós criamos o tipo, tipo, significando inteiro. Nós temos muitos tipos que vamos cobrir em apenas um pouco, mas nós temos o inteiro agora, e três é um inteiro, então vamos dar-lhe um tipo depois de dar-lhe uma acessibilidade. A próxima coisa que fazemos é dar-lhe um nome. E geralmente os nomes começam com uma letra minúscula no início,
e, em seguida, todas as palavras subsequentes terão a capitalizar a primeira letra. E, finalmente, nós damos a ele os dados ou o valor da variável. Então vamos falar sobre os diferentes tipos de variáveis que temos. E isso não inclui tudo, mas atualmente, por enquanto, vamos cobrir os principais. Primeiro, temos um carro alegórico. Float significa que temos, por exemplo, 4.84.76.9, qualquer coisa que você quiser. E sempre que criamos uma variável que é um flutuador, adicionamos F ao final dela nos dados. Então isso pode ser usado para velocidade, para altura, para velocidade, para qualquer coisa que possa ser variável. E não é simplesmente 1234, pode ser 4.64.9 e et cetera. A próxima coisa temos um booleano. E um booleano é muito importante na codificação porque
nos permite escolher se algo é verdadeiro ou falso. E nós vamos estar encontrando um monte de booleanos ao longo das pontuações. E você verá o quão importante é um booleano. Por exemplo, aqui, alguns, um jogador ou seu inimigo podem estar em dois estados. Se ele é isso, o que é verdade, ou hey, ele pode estar vivo, que significa significa, é falso. Então, um booleano é uma variável que pode levar um verdadeiro ou um falso. Finalmente, temos a variável string. E uma variável de string significa que é uma string de caracteres um após o outro. Então meu nome, como você pode ver aqui. E o, é que a primeira palavra da variável está em minúsculas e a segunda palavra, a primeira letra está em maiúsculas, assim como é exatamente como o meu nome? E esta é a convenção de como nomeamos nossas variáveis. Então, uma variável de string é uma cadeia de caracteres onde você pode colocar como Michael ou um carro ou porta ou qualquer coisa que você queira nomear. Qualquer palavra é basicamente uma string. Então vamos em frente e criar nossa primeira variável, de volta. E o Visual Studio B entra aqui no nosso roteiro. E vamos criar um significado público, público que podemos usar essa variável onde quisermos. Vamos fazer disso um carro alegórico. E nós vamos chamar esta velocidade D, e nós vamos dar-lhe uma taxa de doze v 0,5 f go. Bem, na verdade eu acho que há muito para elétrons, mas podemos ajustá-lo mais tarde. Então, quando tornarmos uma variável pública, se voltarmos para a Unidade. Aguarde a compilação. E com o tempo agora, então quando clicamos no jogador aqui, você pode ver que já temos essa velocidade variável. E está aparecendo aqui porque tornamos público. E se voltarmos para o Visual Studio e
tornarmos isso uma variável privada, precisamos salvá-la, é claro, de volta ao nosso Inspetor e a velocidade não está mais disponível para nós brincarmos. Então volte a público, guarde isso. E agora temos a capacidade de ajustar e jogar com a nossa velocidade. Agora, a próxima coisa que vamos fazer é realmente começar a mover o nosso jogador. E a maneira como movemos nosso jogador é através do controlador de personagens. E você pode realmente criar uma variável que é do tipo Character Controller é isso é realmente parte do seu desafio. Então, aprendemos o que são variáveis, aprendemos como criar variáveis. E agora é hora de você criar uma variável de controlador de caracteres. Então, crie uma nova variável do tipo Character Controller, não se preocupe. Visual Studio vai te ajudar. Torná-lo uma variável pública e nomeá-lo meu controlador de personagem. Certifique-se de que ele aparece no inspetor. E como um desafio bônus, mesmo que ainda não tenhamos abordado isso, você pode adicionar o controlador de personagem no jogador à variável no inspetor. Então, se você está um pouco assustado, não fique, isso é extremamente fácil. Pause o vídeo agora mesmo e vá embora. Tente fazer o seu melhor. Oh, ok, bem-vindo de volta. Espero que não tenha olhado para a tela e ficado petrificado com o desafio que acabei de lhe dar. Ok? Então, em primeiro lugar, dissemos que queremos criar uma variável pública. Então vamos fazer disso uma variável pública. Segunda coisa que
dissemos, vamos fazer isso do tipo Character Controller. Então nós vamos escrever caráter até mesmo tarefa. E você pode ver que ele já nos dá uma sugestão, que é Character Controller hold tab. Então agora temos uma variável do tipo Character Controller que é público, e vamos nomeá-lo. Garanta que a primeira palavra tenha uma letra minúscula. E, em seguida, controlador, a segunda palavra tem um grande C, um maiúsculo, colocar,
colocar no ponto-e-vírgula, salvar isso. E agora, se voltarmos em união e olharmos para o nosso inspetor, devemos ver que o meu controlador de personagens aparece aqui mesmo. E esta é a seção de bônus. Podemos, na verdade, você pode ver que ele não tem nenhum e requer um controlador de personagem que nós felizmente. Tenha-o aqui mesmo. Então você simplesmente clicar no controlador de caracteres e arrastá-lo para o seu lugar. E guardamos isso. Ótima. Então agora temos uma referência ao nosso Controlador de Personagens que podemos realmente começar a mover. Agora, vamos tentar isto. Antes de o fazermos, deixa-me explicar-te o que é um vector três. Agora, eu não tenho nenhum slide, mas eu não acho que nós vamos precisar dele. Vetor três. Assim como os vetores que você aprendeu na escola, temos este vetor X ou o vetor Zed, o vetor azul, que é chamado de vetor avançado. Temos este vetor X, que é o vetor certo. Então, vetor três, certo? E nós temos este y, que é o vetor três OP, vetor. Muito bom. Agora que sabemos como funcionam os três vetores, vamos usá-los para mover nosso personagem um pouco. E por enquanto, oops, então estamos em um desafio no Visual Studio. Então, agora dentro daqui vamos mover o nosso personagem. Então, a maneira como movemos o nosso personagem, vamos ter o nosso controlador de personagens. E vamos usar um método que é chamado de movimento. E se lermos sobre ele, podemos ver que uma função Move mais complexa tomando deltas de movimento absoluto, você não precisa entender todas essas palavras complexas aqui. Tudo o que você precisa saber é que isso move nosso personagem simplesmente assim. E se você olhar bem aqui, você pode ver que ele realmente leva um vetor três dentro disso. Bem, requer um vetor três e ordenou que se mova. Então vamos guardar isso. Vamos usar isso. E aqui vamos criar um vetor de três pontos. E nós podemos realmente escolher se você quer que ele seja para cima, para ser certo ou para ser para a frente. E podemos simplesmente adicionar um ponto-e-vírgula. Vamos salvar isso, e vamos ver o que acontece se clicarmos no jogo. Então, agora deixe-me ver o meu jogo. Então é assim que parece. Você pode realmente brincar com a câmera para que você possa movê-la para cima e, ou esperanças giradas para baixo, giradas assim. Assim, podemos ver o nosso jogador se movendo, salvar isso, acertar o jogo. E oh, oh, realmente, droga onde o objetivo da camada, que foi extremamente rápido. Certo, então a coisa legal sobre variáveis é
que agora podemos ajustar a velocidade com que nosso jogador se move. Então, de volta aqui, nós podemos realmente multiplicar isso pela nossa velocidade. E como você viu o quão rápido isso foi, nós realmente precisamos reduzir a velocidade. Então agora podemos fazer isso em vez de 12. Vamos fazer isto 0,01. Guarde isso. Vamos tentar de novo. E isto deve fazer com que o nosso jogador se mova mais devagar. Então, aperte o play. E como você pode ver, ele se move mais devagar. E se fizermos isso negativo, ele deve voltar e deixar-me movê-lo um pouco para a frente para que possamos ver. Ok. Ok. Biscoito vir pode combater, combater, combater voltar em Hamburgo. E como você pode ver, porque eu estou manipulando a velocidade do nosso jogador quando é negativo está se movendo para trás e quando é positivo está se movendo para frente. Então, quando agora os colocamos em 0, então ele pára completamente morto em seus trilhos. Nós torná-lo um e a vida completa de distância. Espero que tenham gostado deste vídeo. Vamos cometer nossas mudanças. E eu não vou cometer minhas mudanças em cada vídeo, ou pelo menos eu não vou mostrar a vocês que estou me comprometendo. Você precisa criar esse hábito. Sempre que você chegar a um certo ponto, um ponto significativo em seu projeto, sempre volte e confirme suas alterações. Então o que nós, o que fizemos aqui? Bem, nós montamos meu jogador ou meu personagem, personagem, personagem, movimento controlador sem um ponto de exclamação. Então vamos cometer isso. Agora temos um novo repositório. E no próximo vídeo vamos começar a controlar nosso player com nossas chaves WASD e dar nossos primeiros passos. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
10. Nossos primeiros passos: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, nós realmente vamos estar aprendendo sobre sistema de entrada e unidade. Então agora, quando apertamos Play, em vez de apenas mover nosso jogador, podemos realmente usar as teclas WASD para movê-lo para frente, para trás, para a esquerda e para a direita. Agora seu movimento ainda é estranho e como você pode ver, ele não tem gravidade nele. Mas vamos começar com o básico de humanidades e sistema de colocar. Então não vamos perder mais tempo e vamos começar. Ok, então a primeira coisa que eu quero falar é
como vamos realmente mover o nosso jogador. Então clique aqui no jogador. Já falamos sobre os diferentes tipos de eixos que temos. E vamos mover o nosso jogador, em primeiro lugar, no eixo z, o que significa que vamos movê-lo para a frente. E nós vamos movê-lo no eixo x também. Assim, nosso jogador estará se movendo nessas duas direções. Agora, o que realmente precisamos para começar a mover nosso jogador? Bem, é claro que vamos precisar de algumas entradas da pessoa que joga
o nosso jogo para mover o nosso jogador. E como vamos fazer isso? Bem, eu pensei em simplesmente ir adiante e te contar sobre tudo isso, mas eu,
eu pensei mais sobre isso e eu queria realmente mostrar a você o processo de pensamento por trás realmente descobrir ou encontrar-se em algum tipo de situação em que você deseja adicionar um novo mecânico e como você pode realmente fazê-lo. Então, qual é o nosso objetivo? Nosso objetivo é criar movimento. E em primeiro lugar, recebemos informações da pessoa que joga o nosso jogo. Então queremos criar movimento ao longo destes dois eixos. Então, como começamos nosso processo de pensamento, bem como todas as grandes coisas começam em nossa vida. Vamos para o livro. Nós digitamos n unidade de entrada porque queremos obter algum tipo de entrada da unidade. E vemos aqui que temos a documentação para o Unity 3D, que é o lugar perfeito para obter qualquer tipo de documentações. Então, clicamos neste. Abrimos o link e obtemos as documentações de entrada para a unidade para que possamos ler, e aqui está a interface e o sistema de entrada. Muito agradável. Então é disso que precisamos. Então lemos, lemos, vemos o que está aqui. Podemos ver que para ler um eixo, usamos o ponto de entrada obter eixo. Perfeito. Isso é exatamente o que precisamos. E podemos ver aqui que temos um dos seguintes eixos padrão, que são horizontais e verticais e são mapeados para o joystick AWS d, quão perfeito é isso? Bem, no mundo real, quando você está fazendo isso sozinho, é claro, esse processo vai levar um pouco mais de tempo, mas eu estou apenas mostrando como o processo de pensamento por trás de descobrir essas mecânicas realmente funciona. Tão bom, precisamos de ter acesso. Então, clicamos no acesso e abrimos a segunda documentação. E nós olhamos aqui, podemos ver a maneira como podemos acessar isso. Obter eixos e vemos que ele requer um nome de eixo que acabamos de ver, que é heros, horizontal ou vertical. Podemos ler a descrição que nos diz que ele retorna o valor do eixo virtual. E o valor varia de menos um para um. Ótimo, não só isso, também
temos a opção de procurar algum tipo de exemplo. E aqui podemos ver essa tradução, como tudo isso funciona, e como podemos usá-la ou implementada dentro de nosso código, nós até recebemos a dica de que precisamos usá-lo dentro da atualização porque queremos estar recebendo entrada de nosso jogador cada quadro. Tão bom, é exatamente disso que precisamos. Também podemos ver aqui que para configurar sua entrada, você deve ir para Editar Configurações do Projeto Entrada. Quão bom é isso? Então, agora com toda essa informação, vamos começar com a adição de entradas ao nosso jogo. Então abra o script aqui. Vamos remover isso por enquanto, e vamos começar a receber um pouco de entrada do nosso jogador. Então, primeiro de tudo, precisamos obter o eixo no plano horizontal. Então vamos criar uma variável aqui. Vai ser um carro alegórico. E nós simplesmente vamos chamá-lo de x porque estamos nos movendo no eixo x. Então vamos criar uma entrada e vamos usar os eixos get. E aqui vamos escrever um aviso horizontal e um pequeno aviso aqui. Sempre que você estiver usando entradas de string, qual string? String, quero dizer, dentro dessas duas citações, você precisa ter certeza que os dois escrevem corretamente 100%. Porque se, por exemplo, escrevermos xantana horizontal usando a h a minúscula, isso não funcionará. Precisamos ter certeza de que é o H. maiúsculo e não só isso, se tivermos a opção, podemos também ir e copiar esta referência de string. Bem, onde copiamos a referência da string? Bem, acabamos de ver que podemos realmente ir para Editar Configurações do Projeto e olhar para a entrada. Então vamos em frente e fazer isso. Abrimos a Unidade. Entramos nas Configurações Editar Projeto. E onde está a nossa entrada? Bem, lá está a nossa entrada, nós clicamos no eixo. E aqui podemos ver todos os diferentes tipos de eixos que podemos acessar em nossas entradas. Vamos clicar na horizontal. E aqui podemos ver que uma ordem para mover horizontalmente, precisamos usar a API e o Dickey e podemos ir em frente e copiar isso. Volte e nosso Visual Studio e cole-o aqui e feche-o com um ponto-e-vírgula. Muito agradável. Agora, a próxima coisa que queremos fazer é pegar o movimento no eixo z. Então vamos em frente e criar um eixo flutuante. Entrada. Pegue machados. E aqui vamos usar a vertical. Então, de volta em nossas entradas de configurações do projeto Unity, vamos fechar a horizontal, abrir a vertical. E aqui podemos ver que é d, s e w 40 negativo e o positivo. Também podemos usar as setas para cima e para baixo para copiar o controle vertical. Veja, volte aqui. Controle V, fechado, guarde isso. E agora temos entradas no nosso jogo. Muito agradável. Agora, o que devemos fazer a seguir? Bem, a próxima coisa que queremos fazer é realmente queremos combinar ambos, ambos os movimentos para reunir e adicioná-los ao movimento controlador de personagens. Como é que vamos fazer isso? Bem, em primeiro lugar, porque estamos trabalhando no fator três, vamos criar uma variável que é do tipo vetor três. E vamos simplesmente chamá-lo de movimento. E esse movimento vai ser o eixo x que acabamos de criar. E aqui, a entrada do nosso jogador vezes o ponto de transformação. Certo? Agora, você já viu qual vetor 3. O que é agora estamos trabalhando na transformação desse certo? E o que isso transforma? Detroit, MI, você já sabe o que significa certo. Vamos encaixar isto aqui, volta à nossa cena. Então, a direita é este eixo bem aqui. É o eixo x onde nos movemos para a direita. Mas o que significa me transportar? Transformar é, na verdade, a transformação do jogador V. E sempre que nós, por exemplo, e aqui, quando escrevemos transformar assim, queremos dizer a transformação do objeto do jogo, que tem este script jogador anexado dois. Então, porque este script do jogador está no objeto do jogo do jogador, isso significa que a transformação que acessamos do nosso script é a transformação do jogador. E quando escrevemos ponto de transferência direita, queremos dizer o eixo direito ou o eixo x, que está neste objeto de jogo exato, que é o nosso jogador. Então agora que sabemos o que isso significa, podemos ir em frente e adicionar a esta transformação Detroit o z, que é a entrada no eixo vertical vezes a transformação. E eu vou deixar você descobrir isso sozinho. Tire alguns segundos só para saber qual deles vamos usar o para cima, para
a frente ou para a direita. Ok, o tempo acabou. Espero que tente o seu melhor. E sempre vamos usar o avançado e
vamos adicionar este ponto-e-vírgula e vamos salvar isso. Então vamos falar um pouco sobre o que está acontecendo porque tudo isso é muito novo. A primeira coisa que fizemos foi colocar o eixo X para a horizontal. Em seguida, temos a entrada no eixo z, que é chamado vertical. Então combinamos ambos multiplicando a entrada horizontal pelo ponto de transformação, certo? O que nos permitirá mover para o eixo x assim. E então multiplicamos a entrada z ou a vertical pelo ponto de transformação para a frente, o que nos permitirá mover na direção para a frente. Muito bom, tão bem que estabeleceu. A próxima coisa que precisamos fazer é adicionar
esse movimento ao nosso Controlador de Personagens. E isso faz parte do seu desafio. Seu desafio será, em primeiro lugar,
procurar as documentações do Character Controller Imunidade assim como com ele agora usando o Google ou qualquer método que você quiser. Você então encontra o movimento
2D do controlador de personagem nas documentações que já usamos,
mas eu quero que você vá em frente e experimente isso
por conta própria e realmente tenha uma idéia de como tudo isso funciona. E finalmente, eu quero que você adicione o movimento ao seu controlador de personagem no jogo. Então nós já fizemos isso, mas eu só quero que você realmente tenha uma noção de como tudo isso funciona e como você por conta própria quando você vai para o oeste
selvagem do desenvolvimento de jogos pode realmente passar
pelo passos e descobrir a documentação e usar o movimento. De qualquer forma, pausar o vídeo agora mesmo e ir para o desafio. Agora, nós já falamos sobre como adicionar movimento no vídeo anterior, mas vamos apenas aprofundar um pouco mais sobre como isso realmente funciona. Então, assim como procuramos a unidade de entrada, você pode realmente também procurar o controlador de personagem e a unidade. Esta é a documentação para isso. Então você pode ir em frente e ler tudo sobre isso. Mas o que nos interessa é a mudança aqui. E se lermos ao lado dele, você pode ver que ele fornece o movimento de
um objeto de jogo com um componente controlador de personagem anexado. Ótimo, então é disso que precisamos. Clique na lua. Abrimos um novo roteiro aqui. E como você pode ver, este é o movimento no Texano,
um vetor três, e ele fornece o movimento para o objeto do jogo. Nós também podemos ver como podemos ver um exemplo aqui de como este controlador de caracteres realmente se move. E você pode ver que estamos muito perto do que o exemplo nos mostra aqui. O movimento é o eixo de entrada na horizontal e o eixo de entrada na vertical. E é muito semelhante, mas estamos fazendo isso de uma maneira um pouco diferente. Então vamos em frente e adicionar o movimento ao nosso Controlador de Personagens. Já temos a referência, que é o microcontrolador. Então meu controlador ponto se move. E aqui vamos adicionar o movimento que acabamos de criar. Muito agradável. Certifique-se de salvar tudo isso. E vamos testar isso e ver se funciona. Então guarde isso. Aperte Play. E agora, quando pressionarmos o W, nossa pequena cápsula aqui deve seguir em frente. Gay, e é super rápido, mas pelo menos está funcionando. E se nos movermos para usar a tecla W, a a ou a chave, também
podemos movê-lo para a direita, para a esquerda para a frente. E nós também podemos movê-lo horizontalmente, mas como você pode ver, não
temos nenhum controle sobre o nosso jogador. Então, no próximo vídeo, vamos estar controlando o movimento de nossos jogadores usando nossa velocidade. E também vamos aprender como podemos separar o movimento da nossa taxa de quadros. E também vamos construir ganhos sobre métodos e assim por diante. Então, vemo-nos na próxima.
11. Controlar o jogador: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos
começar a controlar nosso movimento com a variável de velocidade que criamos quatro. E, na verdade, também vamos aprender sobre como tornar isso tudo dependente e taxa de quadros, que adiciona um movimento mais dinâmico ao nosso jogo. Finalmente, vamos aprender sobre métodos públicos
e métodos privados e nós estamos realmente indo para criar o nosso próprio. Então, agora, quando batemos em Play, você pode ver que podemos mover nosso jogador a uma certa velocidade. Mas se aumentarmos isso para, digamos, 50, podemos nos mover um pouco mais rápido. Onde é que ele foi? Ok. E se colocarmos isso, digamos dois, agora mal podemos nos mover. Então não vamos perder mais tempo e vamos começar. Agora que temos movimento ou temos, podemos usar a entrada para mover nosso jogador. É hora de controlar nosso jogador. E isso faz parte do seu desafio. Seu desafio, deixe-me pegar meu laser é controlar a velocidade de movimento. Então você precisará multiplicar a variável de velocidade que criamos pelo movimento. E então você precisará ajustar a velocidade
do inspetor até que ele se sinta bem o suficiente para você. Portanto, é seu trabalho determinar o quão rápido você quer que seu jogador esteja se movendo pelo mundo. Nós já fizemos isso. Então, pausar o vídeo agora mesmo e ir para o desafio. Oh, ok, bem-vindo de volta. Então, como vamos fazer isso? Vamos abrir os roteiros e acabar aqui. Antes de fazermos o movimento ou antes de
adicionarmos o movimento ao controlador, vamos realmente tomar este movimento. E vamos dizer que este movimento é igual
ao movimento que já está presente vezes a nossa velocidade. Então, agora, sempre que
pegamos o movimento daqui, multiplicamos pela velocidade, e então colocamos de volta no movimento aqui. E este movimento é adicionado ao nosso movimento ou ao nosso movimento de ponto controlador. Então, agora, quando batemos no jogo, movemos nosso personagem e ele é muito mais lento. Então, podemos adicionar apenas esta ferramenta, digamos 0,7. E agora ele se move um pouco mais rápido. Ele foi para o verão. Vamos tentar de novo. E digamos que queremos fazer este ou talvez não um, talvez digamos 13. E ele deve estar voando para a distância assim que P mais WK. Sim, isso funciona muito bem, mas ainda há um pequeno problema. Se voltarmos aqui, podemos ver que a atualização é chamada uma vez por quadro. Isso significa que toda vez que pressionamos D, W ou a, ou como está sendo chamado, várias vezes e a velocidade é extremamente alta. Você sabe sobre quadros por segundo sempre que você está jogando um jogo multiplayer. Então é a FBS. E o problema aqui é que estamos usando recursos muito limitados. Então, digamos “Endgame”. E aqui podemos clicar nas estatísticas. E vamos tocar no play. E você pode ver que os quadros por segundo aqui são 700 a talvez 900. Dependerá do seu hardware. Então agora cada quadro, essa velocidade ou movimento é adicionado ao nosso jogador. E isso não é bom porque, por exemplo, se começarmos a ficar, ficar no nosso jogo, nosso movimento vai deteriorar-se à medida que o progressivo. Ou se os quadros por segundo forem muito altos, nosso movimento será muito mais rápido. E isso não é o que queremos do nosso ganho. Queremos ter um movimento constante não importa o que os quadros por segundo ou mais, o que queremos fazer é separar a velocidade do nosso jogador do número de quadros. E a maneira como fazemos isso é multiplicando esse movimento pelo tempo delta. E o que significa este tempo.DeltaTatime? Se passarmos o mouse sobre o time.DeltaMe, podemos ver que o tempo de conclusão em segundos desde o último quadro. Então isso nos dá o tempo entre cada quadro, o que significa que isso se torna independente da taxa de quadros. E vocês verão agora que nosso movimento se tornará muito mais lento
porque não depende do número de quadros que estamos movendo. Então pegamos nosso movimento das entradas. Nós o multiplicamos pela velocidade para controlá-lo, e então o separamos da taxa de quadros. Então fazemos isso multiplicando-o pelo Time.DeltaTatime. Então salvamos tudo isso. Agora, de volta à unidade, se você tem uma velocidade muito baixa, você vai notar que nós vamos ser extremamente lentos agora. Então, quando nos movemos, mal nos movemos. Então precisamos aumentar isso para um. Talvez nem um esteja ajudando. Sim, você pode ver que mal estamos nos movendo. Então vamos precisar ajustar isso e torná-lo 12,5, assim como fizemos no início. Então agora temos um movimento muito melhor para nosso jogador e é muito mais razoável, é muito melhor. Vamos aumentar para 20. Então agora podemos mover o nosso jogador e ele pode até pisar e subir. Mas, infelizmente, ele não cai porque ele ainda não tem gravidade. Ok, ótimo. Então, vamos voltar. Vamos explicar isso mais uma vez. Obtemos as entradas na horizontal e na vertical. Nós a multiplicamos por nossas transformações. Então transformado ou experimentá-lo para o x transform.py frente para o zed ou o horizontal e vertical respectivamente. Multiplicamos esse movimento pela velocidade, a fim de controlá-lo, então
multiplicamos o movimento e a velocidade por time.DeltaTatime para torná-lo independente do número de quadros que temos. E então adicionamos o movimento ao nosso Controlador de Personagens. E como um passo final, queremos colocar esse código em um método separado. Então. Sempre que estamos trabalhando dentro da atualização, sempre
queremos manter as coisas limpas e muito simples. Então, por enquanto, uma atualização, temos todo esse cluster de código e não queremos ter tudo isso dentro da atualização porque vamos adicionar tiro, agachamento e assim por diante ao nosso jogador. Então vamos extrair isso em seu próprio método. E antes de fazermos isso, deixem-me explicar-vos quais são os métodos. Então estrutura método, esta é a estrutura do método. Assim como temos o tipo de acessibilidade para uma variável, também
temos um tipo de acessibilidade para os métodos. Então, sempre que você criar um método, você precisa ter certeza de saber se ele é privado, o que significa que ele só é usado dentro desta classe. Ou se for público, o que significa que pode ser usado fora da classe. Em seguida, temos o tipo de retorno. Agora, como você viu, cada variável tem um tipo, mas os métodos não precisam necessariamente ter um tipo. E sempre que os métodos não têm um tipo ou não retornam nada, eles são chamados de vazio. Por exemplo. A atualização não devolve nada, então eu diria “vazio “e Stuart não devolve nada. Então também é um vazio. Aprenderemos sobre como voltar mais tarde. Mas por enquanto, saiba que um método não pode ter nenhum tipo. Em seguida, temos o nome de um verbo ou de um método, e nós nomeamos variáveis pela primeira palavra sendo uma minúscula. Mas sempre que estamos nomeando um método, cada palavra está em maiúsculas. Dessa forma, podemos distinguir entre variáveis e métodos. Finalmente, temos o parâmetro, e neste parâmetro podemos realmente enviar informações que este método pode usar. Agora não enviaremos nenhum parâmetro se estiver vazio, que significa que não usa nada. Mas mais tarde você verá que alguns métodos
exigirão parâmetros a serem enviados para ele para usá-lo, vamos chegar a isso mais tarde. Então vamos em frente e extrair essas duas linhas. E a forma como criamos um método, podemos descer aqui e criar um vazio e fazer deste o movimento do jogador. E então pegamos todo esse código. Nós cortamos. A maneira como cortamos isso, enquanto clicamos no Control X, clicamos no controle V para colar tudo isso aqui. E chamamos esse método de movimento do jogador aqui. Nós guardamos isso. Então agora uma atualização. Sempre que começamos a atualização, ele olha e vê que ele precisa chamar o movimento do jogador. Ele olha através do código e vê que temos movimento do jogador. E começamos com todo esse código. Então vamos guardar isso. Lá em Unity tinha jogo, vamos nos certificar de que tudo isso ainda funciona. Então agora, sim, ainda podemos nos mover, nosso jogador ainda está se movendo e ele ainda flutua no ar. Aqui dentro. E os mestres, podemos ver que temos algumas mudanças não comprometidas. Nós encenamos que cometemos tudo isso. E o que devemos chamar este jogador em movimento usando entradas, nós cometemos tudo isso. Ótima. Então agora temos movimentos que para cima. E o curso natural de ação mais tarde que vamos fazer é que vamos realmente configurar a câmera em primeira pessoa em cima do nosso jogador. Por isso, move-se connosco à medida que nos movemos através do nosso mundo. Então eu espero que você tenha gostado do vídeo e eu vou vê-lo no próximo.
12. Como configurar a câmera: Oh, caso. Então a primeira coisa que vamos fazer é realmente pegar nossa câmera principal e vamos redefinir sua posição para que ele esteja no player. Vamos movê-lo para o filho do jogador. Então vamos movê-lo para cá. E vamos em frente e posicioná-lo bem na frente dele. E nós podemos realmente ver o que o jogador e a câmera podem ver. A câmera principal pode ver. Então vamos posicionar as câmeras em algum lugar por aqui, talvez. Portanto, certifique-se de que não vemos esses dois pontos pretos. Vamos consertar isso mais tarde, mas por enquanto, mexa-se. Opa, nem está no lugar. Então vamos movê-lo para o centro e para cima um pouco para que seja apenas sobre os olhos. Ok, ótimo. Então, com isso feito, vamos simplesmente salvá-lo. E porque a câmera principal é agora infância para o jogador, ele estará se movendo com o jogador. Então, quando apertamos Play, agora quando movemos nosso jogador para a esquerda e para a direita, você pode ver que já temos uma visão em primeira pessoa do nosso jogo. Quão legal é isso? Certo, mas agora queremos passar para o próximo nível. E o próximo nível é que queremos realmente começar a mover esta câmera usando nosso mouse. Permitam-me, antes de mais, explicar como é que este movimento funcionou. Então, primeiro de tudo, queremos olhar para a esquerda e para a direita. E para fazer isso, nós realmente vamos pegar este jogador e nós vamos estar girando em torno dele. Então, quando giramos a câmera usando o botão do mouse, vamos girar todo o corpo do jogador. Mas quando queremos girar para cima, não
queremos girar o nosso jogador todo o caminho para cima. Não queremos que este movimento aconteça. Na verdade, só queremos girar esta câmera quando queremos Lopes. Quero dizer, quando queremos olhar para cima e para baixo, só
queremos girar esta câmera. Então vamos em frente e começar a fazer isso. Vamos, naturalmente, tomar a entrada do mouse e então vamos aplicá-la às diferentes transformações que temos. Nós vamos realmente estar usando algo chamado a linha de
acesso get e não apenas o acesso get. Deixa-me mostrar-te a diferença entre estes dois. Então este é o ponto de entrada normal obter acesso. E podemos ver que o valor está na faixa de menos 11. Então ele se move de menos um para menos 0,9 para 0 ou 2x menos 0,8 e assim por diante. Mas usando a linha de acesso get, na verdade, se olharmos aqui, a entrada do teclado é sempre menos 1, 0 ou um. Então ele toma posições definitivas no espectro ou não é um espectro. Ou leva um menos 1, um 0, ou um mais um. Por que estamos usando assim? Se você continuar lendo, você pode ver que isso é útil se você quiser fazer toda a suavização no teclado ou na entrada do mouse. Então nós queremos ser capazes de controlar o quanto nós escrevemos. Quando olhamos para a esquerda e para a direita ou para cima e para baixo, não
queremos chegar a essa posição. Queremos, assim que olharmos para a esquerda, queremos que a câmera se mova para lá ou comece a se mover para lá. Não queremos construir lentamente do nada para nos movermos dessa maneira. Queremos ser para tê-lo instantaneamente. Então vamos em frente e fazer FET e atualizar. Sob o movimento do jogador, vamos criar um flutuador e vamos chamar isso de mouse X. E, a fim de pegar a entrada, vamos usar a entrada. Você é acessado linha. E aqui, o que devemos usar? Bem, vamos para as configurações do nosso projeto aqui. E vamos ver, queremos usar os atos do mouse. Então vamos copiar tudo isso porque é uma referência de string. E sempre que temos uma referência de string, geralmente
é melhor copiá-la. E vamos guardar isso. A próxima coisa que queremos fazer é realmente aplicar esta rotação ao nosso transporte de corpo. Então aqui, vamos escrever transformação, que é a nossa transformação atual. E nós vamos girá-lo. Então vamos girá-lo. E se me deixarmos apagar isto. E se olharmos para a rotação, podemos ver que ele realmente leva um vetor três. Então vamos adicionar um vetor três. E qual vetor vamos realmente usar? Bem, vai ser o vetor em torno do qual esta câmera vai girar. Então de volta à Unidade e são vistos. Se você olhar em torno de qual eixo é a nossa câmera realmente girando Quando estamos esquerda e direita, ou o nosso jogador como girando ao redor. Então, se olharmos para a transformação bem aqui, podemos ver que quando seguramos o Y e começamos a girar, o jogador começa a girar. Então estamos girando em torno do vetor OP. Então vamos ver isso de novo. Então nós giramos em torno de z, y, bem aqui. Você pode vê-lo na transformação. Então vamos em frente e aplicá-lo. Então é o vetor três pontos para cima. E nós vamos multiplicá-lo pela entrada que temos no mouse x. Vamos salvar isso. Vamos voltar para a Unidade. E vamos tocar no play. Então agora podemos ver que quando movemos nosso mouse da esquerda para a direita, podemos realmente olhar ao redor. Então, agora, mesmo quando avançamos, quando olhamos em outra direção, nos movemos nessa direção porque estamos movendo todo
o corpo ou toda a transformação de nosso jogador. Mas ainda há algumas coisas que precisamos consertar e uma
delas é controlar a rapidez com que escrevemos. Portanto, queremos adicionar uma variável de sensibilidade do mouse. Então, aqui em cima, vamos criar um público. Público porque queremos mudá-lo do nosso Inspetor. Então este é um carro alegórico público e vamos chamar este rato de devoto sincero. E vamos apenas definir 100 F por enquanto. E aqui na linha dos eixos de entrada, vamos multiplicá-lo pela maior sensibilidade. E enquanto estivermos aqui, também
vamos multiplicá-lo por time.DeltaTatime, modo que sua taxa de quadros independente. Agora, de volta ao nosso ganho. Vamos guardar isso. Nós guardamos tudo aqui? Sim. Aperte Play. E agora podemos dar uma olhada. É um pouco lento, como pode ver. Então vamos em frente e aumentá-lo para 200. É a manteiga que vê o, Não, não é tão bom. Vamos fazer 500. E agora podemos realmente girar e olhar ao redor muito melhor. Talvez possamos aumentá-lo mais tarde. Vamos ver isso. Vamos, na verdade, fazer 700. Veja como isso funciona. Sim, estou satisfeito com 700. Parece bom o suficiente de qualquer maneira, agora que temos a rotação em torno do eixo y ou olhando para a esquerda e para a direita, é hora de fazer a rotação para cima e para baixo. E, na verdade, não me apetece fazer isto. Então eu vou te dar um desafio para você fazer isso. E seu desafio será, em primeiro lugar,
obter o valor do eixo da linha 14,
mouse Y, desculpe-me, para o erro de digitação aqui. Então obtenha o valor da linha x para o mouse Y. Então você precisa ter certeza de controlá-lo com a sensibilidade do mouse. E, finalmente, você precisa torná-lo independente da taxa de quadros. Agora, você não precisa aplicar tudo isso para a rotação da câmera vai fazê-lo mais tarde. Tudo o que eu quero que você faça é obter a entrada, usado, a sensibilidade para controlá-lo e torná-lo taxa de quadros e dependente. Pause o vídeo agora mesmo e vá fazer o desafio. Oh, OK, bem-vindo de volta. Então a primeira coisa que vamos fazer é criar o mouse y. E vamos obter o ponto de entrada, obter eixos brutos. Então, enquanto o eixo get raw, e ele vai ser o mouse Y. Mas porque é uma referência de string, nós vamos realmente ir em frente e obtê-lo do gerenciador de entrada. Então eu vou copiar isso e colá-lo aqui mesmo. Vamos adicionar a sensibilidade do mouse para controlá-lo. E nós vamos torná-lo taxa de quadros e dependente, multiplicando por time.deltaTatime. Agora queremos aplicar essa rotação para a câmera real. Precisamos de uma referência a essa câmara. Aqui em cima. Vamos criar um público. E que tipo deve ser esse? Bem, porque estamos usando a rotação, isso significa que queremos acesso à transformação da câmera. Então vamos fazer essa variável do tipo transformar, e vamos chamá-la de chapéu My Camera, e vamos salvar isso. Então agora podemos realmente ir para a Unidade. Vá para o jogador. E aqui teremos a opção de adicionar meu chapéu de câmera. Vamos guardar isso. Agora, de volta ao Unity, queremos ser capazes de controlar a rotação vertical da câmera. Então vamos também criar outra variável, que é privada, flutuante, câmera, rotação vertical. E nós vamos adicionar a esta câmera rotação vertical menos igual ao mouse. Por quê? Agora, por que estamos fazendo isso? Primeiro de tudo, deixe-me explicar o que este menos é igual a min significa. Isso significa que estamos tomando esta rotação vertical da câmera e, em seguida, removendo o mouse Y a partir dele. Então, para que pareça mais profissional, simplesmente
removemos isso e adicionamos um menos aqui. Então, isto é o mesmo. Agora, por que estamos fazendo um menos igual? Bem, porque se olharmos em nossas câmeras aqui e queremos girá-lo em torno do eixo x para que ele se mova para cima e para baixo. Você pode ver que quando olhamos para cima, o valor realmente se torna negativo. E quando olhamos para baixo, o valor é positivo. Então, por alguma razão,
bem, na verdade, é por causa da forma como a Unidade está configurada. Quando olhamos para baixo, é positivo e quando olhamos para cima o seu negativo. Então nós queremos realmente revertê-lo porque quando olhamos para cima com nosso mouse, ok, o valor vai para mais um. Isso significa que precisamos revertê-lo para consegui-lo. Portanto, este valor, o máximo Y será um valor positivo e a rotação vertical da câmera será um valor negativo. Então, seremos capazes de realmente olhar para cima quando movemos nosso mouse para cima, não obter nossa cabeça de câmera. E nós vamos estar aplicando, não apenas rotação. Desta vez vamos aplicar a rotação local. E por que estamos fazendo isso? Bem, porque agora não estamos girando nossa câmera. Estamos girando em relação ao pai transformado. Então passe o mouse sobre a rotação local. Você pode ver essa rotação local como a rotação da transformação em relação à rotação de transformações do pai. Então queremos apenas girar a câmera. E se você olhar de perto, você pode ver que o tipo é do tipo quaternion. E o que são quatérnions? Quaternions são uma forma de os United entenderem as rotações do vetor 3s. Agora você não precisa entrar em tudo. Nem sei o que são os quatérnions. São fórmulas matemáticas muito complicadas. Não se preocupe com isso. Basta notar que sempre que você quiser fazer rotações, você precisa usar quaternion. Então vamos pegar o quaternion e vamos usar régua, e isso deve ter pronunciado Hulu. E maneiras nova régua retorna uma rotação que,
bem, ele usa um vetor três e converte-lo em rotações. E agora podemos ter rotação. Tão cedo. E aqui vamos girar em torno do eixo x. Então vai ser, em primeiro lugar, a rotação vertical da câmera. O eixo y vai ficar em 0 e o eixo z também permanecerá em 0. Então vamos salvar tudo isso. E vamos tentar em união e ver o que acontece. Então, jogador, temos a câmera de referência, temos a sensibilidade em 700. Quando batermos no jogo. Podemos começar a olhar para cima e para baixo. E podemos mover para a esquerda com a nossa câmera e para a direita com a nossa câmera. E podemos começar a andar e temos uma câmera em primeira pessoa. Quão legal é isso? Antes de irmos, só queria mostrar algo que não cobrimos antes. Se mudarmos a sensibilidade aqui, talvez alguns de vocês tenham notado, digamos que colocamos em 1000000. Ok, então agora olhamos mais rápido para cima e para baixo e para a esquerda e para a direita. Mas quando saímos do modo de jogo, você pode ver que ele remonta a 700. E esta é uma característica muito importante da unidade. Isso ocorre porque às vezes podemos ajustar as coisas no modo de
jogo e eles podem quebrar o nosso jogo. Então Unity faz, certifica-se de que ele redefine tudo quando saímos do modo de jogo. Então, sempre que você ajustar algo, certifique-se de que você se lembra do que você ajustou e , em seguida, aplique-o quando você sair de Gamow. Então, no próximo vídeo, em primeiro lugar, nós não queremos estar olhando muito para cima e para baixo, possamos olhar todo o caminho em torno de nós mesmos, que é, claro, uma péssima idéia. Precisamos achar um jeito de mantê-lo em certos ângulos. E também queremos remover a pequena agitação que temos. Então tudo isso será feito no próximo vídeo, e te vejo depois.
13. Melhor movimento com câmera: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos fazer nosso cursor desaparecer. Então agora não é uma hora de caminho. Não, na verdade vamos fazer muito mais do que isso. Em primeiro lugar, você pode ver que não podemos mais ver nossas costas quando nos movemos para cima e para baixo. E nós podemos realmente apenas remover nossa câmera principal do player e nós adicionamos uma cabeça. E agora nossa câmera principal segue nossa cabeça enquanto nos movemos pelo mundo. Isso torna nossa câmera muito mais suave e muito mais bonita. Então não vamos perder mais tempo e vamos começar. Certo, a primeira coisa que queremos fazer é parar câmera de girar atrás de
nossas costas para cima e para baixo. E para isso vamos usar algo chamado grampo de ponto F matemático. Então deixe-me explicar o que é isso. Então, o que é matemática? Braçadeira de ponto F. Em primeiro lugar, mantém o valor entre um certo mínimo e um certo máximo. Assim, ele corrige um valor de cima ou sob tiro. Assim, podemos determinar o valor que queremos alterar. Em seguida, determinamos o mínimo e o máximo. E assim este valor não vai ultrapassar ou diminuir, enquanto mais e abaixo do mínimo, máximo e mínimo. É assim que escrevemos. Então, em primeiro lugar, temos grampo. Damos a ele o valor que queremos mudar. Nós damos o mínimo e o máximo. Em seguida, temos que retornar um flutuador do valor fixado entre o mínimo e o máximo. Então vamos em frente e fazer isso. Primeira coisa. Primeiro temos a rotação vertical da câmera. Então nós estamos indo para obter esta rotação vertical câmera antes de aplicá-lo para a nossa câmera tinha. E vamos usar a braçadeira de ponto F matemático. E a razão pela qual estamos usando matemática F ponto grampo é porque braçadeira é uma fórmula
da biblioteca matemática que nos dá a capacidade de
acessar várias fórmulas como grampo e raiz quadrada. E talvez vejamos mais tarde o que mais. Então, qual é o valor? A câmera é rotação vertical? Qual é o mínimo? Vamos ajustá-lo para menos 90 f. e o máximo será 90. Então, vamos guardar isso. E agora, se voltarmos para a Unidade, quando avançarmos para cima e para baixo, veremos que não podemos nos mover mais do que um certo valor que Michelle, você na Câmera Principal. Então, atualmente estamos em oito. E se
descermos, podemos ver que podemos chegar ao máximo a 90. E olhando para cima, nós também podemos ir para menos 90. Ótimo, então agora apertamos nossa visão. Mas como você pode ver, quando nos
movemos, temos algum tipo de agitação estranha e nossa câmera, eu não tenho certeza se você pode notar, mas há um pouco de agitação. E a razão para essa agitação é porque a câmera. Está tentando acompanhar nosso jogador enquanto ele está se movendo. E não é isso que queremos. Queremos que a câmera se mova depois que o jogador terminar de se mover. E para isso, nós vamos, em vez de realmente construir a câmera para o jogador, nós vamos criar um objeto que é um filho do jogador que é chamado cabeça. E então nós vamos fazer nossa câmera segue esse objeto ao redor e bem, na verdade não seguir, movido para a posição e girar com esse objeto. Então, primeiro, vamos criar um objeto de jogo vazio e sob nossa câmera. E vamos chamar esse objeto de jogo de nossa cabeça. E por que estamos fazendo isso? É porque queremos ter nossa cabeça na posição exata que nossa câmera principal tem. Então, vamos remover a cabeça da criança da câmera, colocá-lo apenas como uma criança do nosso jogador. E então vamos tirar nossa câmera da criança. Então agora, em vez de o jogador ter a câmera principal como a minha câmera à frente, ele vai ter a cabeça como o, bem, meu chapéu de câmera. A próxima coisa que queremos fazer é realmente criar um script que
permita que a câmera principal siga este objeto do jogo. Então, na pasta Scripts e ativos, vamos clicar com o botão direito do mouse e ir em frente e criar um script C-sharp. E vamos chamar isso de movimento da câmera. Então agora temos um script chamado movimento de câmera. Vamos esperar que ele compile isso. Lá vamos nós. Então vamos mover a câmera, para a câmera principal, e vamos tê-la aqui. E vamos em frente e abri-la e unidade. Agora, o que vamos fazer aqui? Em primeiro lugar, porque vamos seguir ou mudar para a cabeça da câmera, precisamos realmente de uma referência a ela. Então vamos criar uma transformação pública. O meu jogador tinha. Ótima. Então agora temos uma referência à coisa para a qual vamos passar. A próxima coisa que vamos fazer é
mudar-nos para lá e vamos para lá todos os quadros. E você diria que, vamos em frente e usar atualização. Mas, neste caso, atualização não é boa o suficiente. Por quê? Bem, porque haverá algum tipo de batalha entre quem vai primeiro, o jogador que vai primeiro, ou como a câmera vai primeiro, ou a câmera deve ir depois ou antes ou durante? Então, haverá um conflito. Então o que vamos fazer é remover a Atualização e vamos usar algo chamado atualização tardia. Então atualização tardia é como atualização. Chama-se “todos os quadros”. Mas a diferença é que a atualização tardia é chamada, bem, mais tarde, atualização tardia, é chamado depois de todas as outras atualizações terem sido chamadas. Então o que acontece aqui é quando o nosso jogador termina. Seu movimento, a câmera vai se mover para a posição da cabeça no jogador, e isso irá remover todo o tremores. Então, o que devemos estar fazendo dentro da atualização tardia com um para mover para a posição do nosso jogador teve e vai querer girar para o nosso, com o nosso chapéu de jogador. E isso faz parte do seu desafio. Seu desafio será mover e girar a câmera com a cabeça. Então, em primeiro lugar, na atualização tardia, mova a posição da câmera para a posição da cabeça do jogador e,
em seguida, gire a câmera. Rotação com o jogador tinha rotação. E eu vou te dar uma pequena dica. Então você precisará usar Transformar posição ponto e transformar ponto para rotação e ordenado para isso. Então pausar o vídeo agora mesmo. Leva o teu tempo. Não tenha medo. Faça o seu melhor e verei você interessado. Oh, ok, bem-vindo de volta. Então, o que deveríamos estar fazendo aqui? E vamos acessar a posição transformada. E porque o script de movimento da câmera está na câmera, isso significa que quando escrevemos transformação, estamos fazendo referência à câmera. Então a posição do ponto da câmera é igual à posição do ponto da cabeça do jogador. E a rotação do ponto de transferência é igual à rotação do ponto da cabeça do jogador. Vamos guardar isso e agora voltar para a Unidade. Agora podemos mover nossa câmera para onde quisermos. Então podemos colocá-lo aqui, salvar isso. E quando batemos em Play, podemos ver que a câmera se move para a posição de nossa cabeça e ela realmente se move agora conosco. Então agora nos movemos e a agitação é muito menos evidente. E ainda podemos olhar para cima, ainda
podemos olhar para baixo, podemos olhar ao redor e podemos nos mover. Ok, muito bom. Agora, o que mais deveríamos fazer? Enquanto você pode ver que temos este rato aqui, e é muito irritante tê-lo movido. Queremos realmente bloqueá-lo sempre que entrarmos no modo de jogo. Então vamos em frente e fazer isso. De volta ao nosso guião aqui. Vamos em frente e pegar o cursor. E vamos acessar o estado de bloqueio deste cursor. E nós estamos realmente indo para acessar o modo de bloqueio do cursor e nós vamos torná-lo um travado. Vamos salvar isso, e isso é tudo o que precisamos. Pegamos o cursor, acessamos, é estado bloqueado, vamos para o modo de bloqueio do cursor e o fazemos bloqueado. Então, de volta ao nosso jogo, quando
apertamos Play, deveríamos ver nosso cursor desaparecer quando tínhamos a tela. Então agora podemos nos mover livremente sem que nosso cursor nos incomode. Ótimo, então temos que mudar em primeira pessoa. Nós, ou eu quero dizer movimento em primeira pessoa. Temos movimento de câmera em primeira pessoa. A única coisa que precisamos adicionar uma ordem para terminar isso é adicionar um pouco de filmagem e é isso que vamos fazer na próxima seção. Então, vemo-nos lá. Oh, e antes de
irmos, é claro que precisamos preparar nossos arquivos. Então encenar tudo. Vamos em frente e chamar isso de commit aplicando primeiro, oops, câmera de primeira pessoa ao meu jogador. E vamos bater em cometer. Agora temos tudo em nosso projeto olhando para ele. Está começando a ganhar vida. Vejo você no próximo vídeo.
14. SER 3— criando nossas balas: Bem-vindo de volta meus colegas desenvolvedores de jogos para um novo vídeo. E como podem ver, adicionamos uma grande bala vermelha com um enorme colisor. E não só esta bala pendurada no ar, nós realmente somos capazes de disparar esta bala enquanto não nós mesmos, mas ela é disparada por conta própria. E também podemos aumentar a velocidade para 24. Então, batemos em Play e nossa bala, oops, não vimos isso. Vamos tentar de novo no jogo. E o nosso pássaro voa para longe, como balas reais para a frente. Então não vamos perder e mais tempo e vamos começar. Certo, então sabemos que Africano precisa de uma bala e todas as balas também precisam de uma arma. Então a primeira coisa que vamos fazer é criar essa arma. Agora, no começo estamos, nossa arma será simplesmente um cubo que vamos adicionar como uma criança do chapéu. Agora, por que é um filho da cabeça? Bem, porque queremos que a nossa arma se mova para a esquerda e para a direita e para cima e para baixo com a cabeça enquanto olhamos ao redor. Então clique com o botão direito do mouse na mão, crie um objeto 3D e faça dele um cubo. Então agora r cubo é enorme. Vamos colocar a janela do jogo bem ao lado da nossa vista aqui. E, na verdade, vamos em frente e colocar a câmera na cabeça e redefinir sua posição. E eu digo-te porque estamos a fazer isto. Então agora podemos ter a câmera da perspectiva das cabeças e agora remover a câmera da posição da cabeça ou da criança do chapéu. Então, agora, se movermos o cubo, oops, não foi isso que quis dizer. Se movermos o cubo, podemos ver como ele fica em nosso jogo diretamente ao nosso lado. Então vamos em frente e escalar isso um pouco para baixo e escalar para baixo assim. Vamos movê-lo para baixo, movê-lo um pouco para a esquerda, e vamos em frente e criar um material para ele. Então vamos duplicar o material simples. E vamos chamar isso de, vamos chamá-lo de governo. Então material de arma. E vamos arrastá-lo para a arma, e vamos torná-lo uma cor azul. Então vamos mover isso aqui, torná-lo azul, todo o caminho azul, e também tornaremos a emissão azul. Então agora temos isso, ou você pode fazer o que quiser. Temos um estranho. Bem, não precisa ficar bonita na cena do crime. Ele só precisa ficar bem no jogo, mas não acabamos de ajustá-lo. Primeiro, vamos mudar o cubo para uma arma. E vamos em frente e torná-lo um pouco mais fino para cima e para baixo. E vamos movê-lo um pouco para a esquerda e apenas ajustado até parecer que está vindo. Parece que é uma arma e o nosso modo de jogo. Por isso, penso que isso é suficiente. Talvez se o movermos um pouco assim. E vamos ver como isso. Olha e Ok, então vamos mover este jogo de volta. Quando brincávamos, devíamos ver a nossa arma a mover-se connosco enquanto nos movemos através do nosso ganho. Então agora o que precisamos é de algum tipo de bala para atirar. Então imagine que esta é uma arma muito legal que usamos para destruir monstros gigantes. Isso vai fazer isso mais tarde. Mas por enquanto, use sua imaginação. A próxima coisa que vamos fazer é criar um barco e representar o nosso livro, vamos criar uma esfera. Então, na hierarquia, clique com o botão direito do mouse em 3D objeto, e vamos criar uma esfera. Esta é a nossa esfera. É um pouco grande para uma bala, então vamos reduzi-la. Então vamos chamar isso de nossa bala. E vamos em frente e diminuir a escala. Então pressionamos a tecla e movemos para baixo, para baixo,
para baixo, para baixo, para que ainda possamos vê-lo. E é pequeno o suficiente para representar uma bala. Então vamos talvez
torná-lo um pouco menor mesa que parece bom o suficiente e também vai torná-lo uma cor vermelha. Então vamos duplicar o material da goma. Vamos em frente e torná-lo vermelho. E esta cor vermelha, que eu chamo de ler Não, eu quis dizer que este é o material da bala. Então bala e vai ser vermelho. Não é chamado de leitura, então leia e a emissão também é muito, muito vermelha. Vamos adicioná-lo à nossa bala. Então agora temos um livro vermelho muito claro que seremos capazes de ver enquanto ele se move pelo ar. Agora, queremos mover três ar. Isso significa que queremos adicionar comportamento à nossa bala. Isso significa que precisamos criar um script para isso. Então, dentro de scripts, clique com o botão direito do mouse em
Criar, Criar um script C-sharp. E vamos chamar isso de controlador de bala. Então vamos esperar que ele compile. Não, obrigado. Por que isso aconteceu? O controlador de bala foi compilado e vamos em frente e adicioná-lo à bala. Então, agora aqui temos o controlador de balas. E antes de irmos, vamos em frente e fazer essa esfera colider um pouco maior. E mais tarde será, claro, falando, aprofundando os colisores de Esfera e outros tipos de colisores. Mas por enquanto, saiba que isso nos ajuda a interagir com vários objetos. Então, faça um pouco maior. E não se preocupe, vamos falar sobre isso, vamos aprofundar mais tarde. Agora temos as nossas operações, ainda não. Agora temos o nosso controlador de balas bem aqui. E o que vamos realmente fazer com este controlador de parafuso? Bem, nós queremos ser capazes de adicionar força a ele. Então, sempre que esta bala sai do barril de argônio, queríamos avançar em linha reta. E sempre que quisermos adicionar forças aos nossos objetos, precisamos ter um corpo rígido sobre eles. Ou sempre que queremos fazer qualquer objeto de jogo ganhar vida e interagir com o mundo ao redor dele. Precisamos de um corpo rígido. E já falamos sobre corpos rígidos antes. Não nos aprofundamos nisso. Então agora vou cumprir a minha promessa. Então, o que é um corpo rígido? Então nos dá o controle da posição de um objeto através da simulação física. O objeto corpo rígido será puxado para baixo por gravidade sem adicionar qualquer código. E também podemos aplicar nossas próprias forças sobre eles. Então o que isso significa é que podemos obter qualquer objeto de jogo. Podemos adicionar um corpo rígido a ele. E agora será submetido à simulação física que a Unidade tem. Vamos adicionar um componente de corpo rígido à nossa bala. E agora, em Unity, você já sabe como adicionar um componente. Então eu vou te dar apenas alguns segundos para você fazer isso sozinho. Você vai para a bala. Pause o vídeo se você sabe como fazer isso, o tempo acabou, adicione um componente e digite N, corpo rígido,
não corpo rígido 2D, que é usado 40 Rigid Body 2D. Vamos adicionar um corpo rígido, que é usado para 3D. E aqui você pode ver que temos a capacidade de ajustar a massa. Temos a capacidade de ajustar o arrasto. Temos a capacidade de ajustar o arrasto angular. Podemos remover a gravidade, o que faremos porque não queremos que nossas balas
caiam a menos que você esteja indo para um jogo muito realista. Podemos adicionar uma cinemática e cinemática se passarmos por cima, significa que, bem, não
está nos dando nada. Mas cinemática significa que não será submetida às forças fora dela. E temos a interpolação. E isso só permite uma melhor detecção sempre que colide com vários objetos. E também podemos mudar a detecção de colisão para contínua. Isso não é necessário, mas podemos ter, podemos também adicionar restrições a ele. Assim, podemos congelar as rotações no x, y ou z, e podemos congelar a posição na necessidade de x, y e z para qualquer um destes. E temos algumas informações aqui que nos dão a velocidade, velocidade, velocidade angular, e ex cetera. Ótimo, agora temos uma bala que tem um corpo rígido. E a próxima coisa que precisamos fazer é ir em frente e adicionar um par de forças e um pouco de velocidade a ele. Então, de volta ao nosso código, primeira coisa que precisamos é criar uma velocidade de flutuação pública, ou vamos torná-la minúscula. Então esta será uma variável para controlar a força em nosso corpo. E então precisamos de uma referência. Tão público. Corpo rígido, meu corpo rígido. E agora precisamos entender qual direção nosso corpo rígido se moverá. Então, se voltarmos para a Unidade, e aqui temos a velocidade e podemos adicionar o corpo rígido aqui. E qual direção queremos. Queremos que o nosso livro se mova para onde ABI, obviamente queremos que ele se mova nessa direção, na direção z. Isso significa que vamos usar o vetor três pontos para a frente. Assim que a bala sair do barril, queríamos sair do caminho dele. Então de volta ao nosso código
e, e nós, claro, estaremos fazendo isso cada quadro. Então dentro da atualização, vamos acessar meu corpo rígido. E como conseguimos realmente a velocidade? Bem, eu preparei um par de documentações bem aqui. Você pode ir procurá-los em Unity. Então simplesmente vá para o corpo rígido em unidade. E você deve encontrar esta página aqui. E você pode ver que há muitas propriedades. Primeiro de tudo, como eu mostrei,
você pode congelar a rotação dentro do código, a posição usa gravidade e velocidade. E o vetor de velocidade do corpo rígido. Representa a mudança da posição do corpo rígido. Então, se clicarmos nisso, entrarmos nas documentações de dignidade, podemos ver que o vetor de velocidade do corpo rígido representa a taxa de mudança da posição do corpo rígido. Então, damos um certo valor à velocidade, e esta será a taxa na qual nosso corpo rígido muda de posição. Podemos dar uma velocidade ao nosso corpo rígido. Então minha velocidade rígida do ponto
do corpo será igual a, é claro, vamos usar o avanço do transporte. Então, o vetor de avanço do ponto de transformação vezes a velocidade que temos. E porque estamos trabalhando em velocidades, não
precisamos realmente adicionar o time.DeltaTatime, que é muito agradável e legal. Então vamos salvar isso e vamos ver se isso funciona de volta na unidade. E vamos ver como o nosso jogo, ok, então podemos ver claramente as balas ou quando acertamos o jogo, a bala permanece parada. Quem eu sou assim tão bem, porque obviamente não adicionamos nenhum
aumento, então não adicionamos nenhuma velocidade aqui ou velocidade. Então vamos recuar um pouco. Então, se formos capazes de acelerar, você pode ver que ele se move lentamente na direção da frente. Então, se atingirmos a cena, podemos olhar para a direção em que nossa bala está se movendo e é o vetor da frente. Então vamos sair de lá um pouco. E vamos voltar e mudar de roupa. Opa, onde está a nossa bala? Então vamos adicionar um pouco de velocidade. Então vamos fazer com que 15 teve Play. E agora o nosso piloto que voa para longe. Então, está começando a parecer uma bala muito boa. E agora, antes de irmos, vou lançar um Desafio Brava. Seu desafio é extrair os métodos. Então extraia o código para a bala voando da atualização para um método separado. E também extraído código de movimento da câmera, código, desculpe por isso na atualização da camada. Então, se você se lembra de dentro do jogador aqui, ainda
temos essa bagunça dentro de Update e bullet. Nós também temos esse tipo de “Por que não uma massa tão grande “, mas eu queria que você fosse em frente e aprendesse como podemos extrair métodos. Então, a maneira como fazemos isso, nós realmente pegamos o escopo. Nós clicar com o botão direito do mouse, clicamos em ações rápidas e refatoração para que o método de extração tinha método de extração. E você imediatamente tem a capacidade de nomear seu método será nomeá-lo mosca bala, bater enter, e agora você tem mosca bala. Então agora que eu mostrei a vocês como fazer este, vá em frente e extraia o código de movimento da câmera,
código e atualização do jogador. Pause o vídeo agora mesmo, vá em frente e faça o desafio. Gaye, bem-vinda de volta. Então N jogador vai escolher todo esse código,
vai clicar com o botão direito do mouse em ações rápidas e refrações. Método de extração. E vamos chamar isso de movimento da câmera. Pressione Enter. E agora temos o movimento do jogador, movimento
da câmera como dois métodos separados. E nossa atualização parece extremamente limpa. Então agora podemos olhar para a atualização e não, ok, então o que nosso jogador faz? Ele tem movimento e tem movimento de câmera. Excelente. E esse é o objetivo da codificação. Você sempre precisa ter bons hábitos no início. Então você sempre tem código limpo que é muito compreensível. Finalmente, entramos aqui e os Mestres, as mudanças não comprometidas. Você pode ver que nós criamos material de bala, nós criamos material de arma. E, a propósito, sempre que você vê algo que usa uma ordem para reconhecer seus próprios arquivos, também
adicionamos um controlador de bala. E se clicarmos no jogador, podemos ver que criamos um método de movimento da câmera, tudo em verde, coisas que adicionamos, tudo, ler, coisas que removemos. E vamos encenar tudo isso. Clique em Commit, criou o meu primeiro marcador. Comentário. Vá para Masters. E eu fiz um enorme erro de digitação aqui. Não se preocupe com isso. No próximo vídeo, nós realmente vamos estar atirando nossas balas do barril e aprendendo uma ferramenta muito poderosa em unidade que é chamada de prefeitos. Então, vemo-nos na próxima.
15. Firing balões: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, nós realmente vamos pré-fabricar nossas balas e fogo são balas. Como podem ver, nossas balas estão sendo disparadas de nossa arma ou de uma certa posição. Mas como podem ver, ainda
temos muito trabalho a fazer e chegaremos a isso. Mas antes de tudo, precisamos criar nossas balas de disparo. Então não vamos perder mais tempo e vamos começar. Certo, a primeira coisa que precisamos fazer é
criar uma referência e uma posição de disparo para a bala. Então vamos para o jogador. E aqui vamos em frente e criar um objeto de jogo público. E esta vai ser a nossa bala. E é um objeto de jogo porque mais tarde nós vamos realmente adicionar a bala inteira, não apenas sua transformação. Queremos que a bala inteira seja uma referência ao nosso jogador para poder atirar nela. A próxima coisa que vamos fazer é criar uma segunda referência, que vai ser uma transformação desta vez. E esta será a nossa posição de disparo. Então queremos determinar uma certa posição de disparo a partir da qual a bala deixará um erro de pilha. Ok, agora vamos para a Unidade e criar a nossa posição de disparo. Então esta posição de disparo será um filho da cabeça. Então vamos clicar com o botão direito na cabeça e vamos criar um objeto de jogo vazio. E vamos mover este objeto de jogo vazio na frente da nossa posição de disparo. Então vamos em frente e tentar colocá-lo na frente da nossa arma. Então, desta forma, estará atirando da nossa arma. E antes de seguirmos em frente, vamos para o cubo r e desligar o colisor de caixa. Não vamos precisar dele por enquanto. Então vamos citar esta posição de disparo D. E é daqui que a nossa bala vai sair. Agora, como estamos? Bem, vamos voltar. Vamos ver os nossos jogadores. Agora queremos fazer referência à posição de fogo aqui. Então vamos simplesmente arrastar a posição de fogo aqui. Agora queremos a bala, e você pode dizer que sim, nós temos a bala bem aqui. Mas se fizermos referência a essa bala, quando ela deve, dispara e se for embora, vamos querer atirar novamente. E porque estamos nos referindo à bala que já está em nossa cena, isso não vai funcionar e vamos usar a mesma bala várias vezes. Então, o que acontece quando splotch algum inimigo e é
destruído ou voa para longe depois de um certo tempo e é destruído. Bem, então não teremos nada a fazer referência. Então o que precisamos fazer é realmente pré-fabricar esta bala. E deixe-me falar sobre prefabs. Então prefabs, um prefab é um objeto de jogo previamente fabricado que podemos usar várias vezes. Então pré para anteriormente Fab Four fabricado, vamos entrar em mais detalhes. É um modelo para um determinado objeto de jogo. sistema Prefab permite que você armazene um objeto de jogo com toda a sua propriedade. Então, para que o usamos? Podemos reutilizar um objeto de jogo configurado de uma maneira particular. Por exemplo, nossa bala é vermelha, tem um certo tamanho do colisor. Então, quando preferimos, mas todos os outros marcadores criados usando este prefab terão as mesmas propriedades de ter este collider e o script, por exemplo, também. Ele pode ser usado para editar muitos objetos ao mesmo tempo. Digamos que queremos editar esta bala. E em vez de editar cada bala e arseno, podemos simplesmente adicionar o prefab e todos os outros marcadores também serão editados. Podemos usar os mesmos objetos em cenas diferentes muito mais fácil. E isso é o que são prefabs. Então vamos pré-fabricar nosso púlpito. E, na verdade, prefabs são extremamente, extremamente difíceis de fazer. Então a primeira coisa que precisamos fazer é criar uma pasta. Vamos chamar isso de prefabs e agora vem a parte mais difícil. E para embelezar esta bala, vamos precisar arrastá-la para aqui. E é isso. Isso é, eu só queria construir um pouco de suspense porque isso é muito ruim. É assim que criamos um prefab. E a maneira como você sabe que um determinado objeto em sua hierarquia é um prefab. Bem, você simplesmente precisa olhar para sua cor. Se for azul, significa que é uma pré-fabricada. E você pode encontrar isso aqui. Agora, quando adicionamos a bala aqui mesmo
no inspetor da bala pré-fabricada aqui também será editada. Então, agora, se entrarmos no jogador, você pode simplesmente arrastar esta bala aqui. E agora faz referência à pré-fabricada. Se clicarmos nele, clique nele, podemos ver que ele é referenciado aqui. Podemos até apagar a bala da cena do crime. Agora podemos adicionar quantas balas quisermos, e todas elas se moverão na direção da frente, mas por enquanto, vamos excluí-las. Ok, ótimo. Então agora temos nossos barcos pré-fabricados, temos eles referenciados. A próxima coisa que precisamos fazer é atirar neles sempre que apertamos um certo botão. Então vamos atualizar. Vamos criar um método que é chamado de filmagem. E mais tarde vamos mover este método para um, outra classe, mas por enquanto vamos mantê-lo no jogador para a simplicidade, você pode ver que ele tem uma linha rabiscada porque deve não existe. Então, clicamos nesta pequena lâmpada aqui, e nos dá a opção de gerar o método, então irá gerá-lo. Claro que é um vazio, então vamos apagar tudo lá dentro. E agora queremos ser, bem, como posso dizer isso? Instanciando a bala sempre que pressionamos um certo botão. Então, que tipo de botão vamos pressionar? Nós vamos estar usando o sistema de entrada que aprendemos, mas não para obter eixos, nós realmente vamos usá-lo para obter um certo botão do mouse para baixo. Então, se você ir em frente e procurar o botão get do mouse para baixo e entrada, você pode ver que ele retorna true, que é um booleano. Precisamos lembrar que Booleans são verdadeiros ou falsos. Ele retorna true durante o quadro que o usuário pressionou o botão do mouse fornecido, então ele retorna true. E se olharmos para baixo aqui, podemos ver que ele usa uma condição if, a fim iniciar o ou, a fim de verificar se fizemos pressioná-lo. Porque, como diz na descrição, quando pressionamos, ele retorna verdadeiro. Então isso significa que se nós colocá-lo dentro da condição if, ele vai retornar verdadeiro e isso se condição vai funcionar. Agora, eles não estão muito familiarizados com as condições se. Então vamos nos aprofundar mais neles. O que são se condição? Agora, se as condições são usadas em quase todas as linguagens de programação, seja C-sharp, Java, C plus, ou qualquer outra coisa. Então esta é a estrutura de uma condição if. Então, se alguma condição que precisa ser verdadeira é verdadeira, então o código dentro dos colchetes será executado. Então é por isso que estamos usando o botão get mouse para baixo, porque como você leu na descrição, sempre que pressionamos um dos botões do mouse vai saber o que, qual deles mais tarde, ele vai retornar true. E se o colocarmos dentro desses dois colchetes aqui, e ele retornar verdadeiro, um certo código dentro desses colchetes rabiscados será executado. E o código que queremos executar será o disparo da bala. E outra coisa que pode ser adicionada à condição se é outra. Se”. Então, por outro lado, se leva alguma outra condição que é verdade. Então, se a primeira condição não for verdadeira, podemos escrever outra coisa. Se e se essa condição for verdadeira, então executamos o código que existe aqui. Então, se esta condição, esta condição é falsa, o código aqui não é executado. Vai verificar. Caso contrário, se esta condição for verdadeira, então este código será executado. Mas o que acontece se esse código for falso e esse código for falso? Bem, nós temos um plano de backup que são os aplicativos. Então, se todas as condições são falsas e nenhuma delas é verdadeira, então se ele tem um outro, então este código será executado. Você pode usar se sem um outro, se e sem outro. Você pode usar o if com um else-if sem outro, ou você pode usar todos os três deles. Então agora que sabemos como se as condições funcionam, e vamos voltar ao nosso código. E dentro da filmagem, vamos verificar se. Entrada, ponto, mouse, botão para baixo. E vamos usar o 0. E o 0 de maio significa que é o botão mais à esquerda, que é usado para o tiroteio na maioria dos jogos de tiro em primeira pessoa. Todos eles, eu acho. E aqui vamos instanciar uma bala. Agora, novamente, vai voltar para as documentações da Unidade. Então aqui, podemos ver que podemos instanciar objetos. E você tem muitas iteração disso. Então você pode criar uma instanciação a partir de apenas os objetos que apresentamos. Você pode instanciar um objeto com seu pai ou fazer essas outras coisas. E o que nos concentraremos é nesta linha aqui. Então vamos instanciar uma bala com uma origem, com uma posição com uma rotação que é quaternion. Porque já sabemos que os quatérnions representam a rotação. E preciso que se concentre muito claramente em como a instanciação funciona porque na verdade faz parte do seu desafio. Então seu desafio é, antes de tudo, ler mais para instanciar
a documentação, entendê-la completamente, então você precisará instanciar a bala. Agora, eu te dei algumas coisas. Então, primeiro de tudo, você precisará usar o prefab bullet como um objeto. Use a posição de fogo para a posição e/ou rotação. Agora, eu sei que este vídeo é um pouco, tem uma tonelada de informações que aprendemos sobre condições de EPS preferidas e assim por diante. Mas isso é realmente extremamente simples. E dei-lhe todos os passos necessários para completar este desafio. Então não tenha medo. Tenham coragem. Leve o seu tempo. Pausa o vídeo agora e vai fazer o Challenger. Oh K. Como você se deu com isso? Então a primeira coisa que precisamos fazer é ir em frente e instanciar. Então, em fundamento, vamos abrir isso. A primeira coisa que precisamos adicionar é a bala como o objeto do jogo. Precisamos então obter a posição de cinco. E esta posição de cinco
será na verdade a partir da qual instanciamos a bala. E também vai ser rotação phi, que a bala terá. Então, qual é o caminho que estamos enfrentando com nossa posição de fogo, que está preso à nossa cabeça. Isso significa que estará diretamente na frente da nossa arma. Assim que instanciarmos a bala, ela terá o vetor dianteiro na frente e disparará para a frente. Então de volta aqui estão o jogador tem a bala e a posição de disparo. E agora, quando clicamos no jogo, agora nossas balas podem ser capazes de loucos, como você pode ver, e elas são muito malucas. Então você pode ver que eles estão por todo o lado e nós não queremos isso. E isso é porque se clicarmos na bala cairia no corpo rígido. Podemos ver que temos essas restrições aqui. E vamos em frente e congelar as rotações em todos os lados. Vamos salvar isso e vamos clicar de volta no jogo. E agora nossas balas devem estar baixas. Então nossas balas devem estar um pouco menos loucas agora. Como podem ver, nossas balas voam por todo o lado. Então agora nossas balas são muito melhores e eles estão realmente ficando presos na parede porque como você pode ver quando eles têm uma certa direção que eles precisam ir. Então eles estão ficando presos na parede. No próximo vídeo, nós vamos realmente estar destruindo nossa bala. Porque, como podem ver aqui, há muitos clones e todos estes afectam o nosso computador. E você já pode ouvir os fãs no meu PC e enlouquecer. Então, no próximo vídeo, vamos aprofundar o que são os colisadores para essas balas. E vamos destruí-los depois de atingirem certas coisas, só para economizar um pouco de CPU. Até lá, vejo-te no próximo vídeo.
16. Como destruir nossas balas: Bem-vindo de volta, meu companheiro jogo os desenvolvedores. Neste vídeo, vamos destruir nossas balas. E como dissemos, é muito importante para o desempenho do nosso jogo. Então, como você pode ver, sempre que nossas balas atingem um certo Colisor ou objetos no ambiente, eles serão destruídos e não estarão mais acumulando em nossa hierarquia bem aqui. Mas o que nós também fizemos, se as balas entrarem no ar, você pode ver que elas também são destruídas depois de um certo tempo. Então não vamos perder mais tempo, e vamos começar. Então, qual é o problema? O problema é, digamos que disparamos a bala bem aqui. E se dispararmos uma tonelada de balas, podemos ver que temos muitos clones na hierarquia. E isso é o que acontece sempre que instanciamos um prefab, ele cria um clone bem aqui na hierarquia. E você pode ver agora, por enquanto estes, todos esses não são um grande problema. Mas digamos que estamos jogando um longo nível e estamos jogando cerca de cinco minutos de tiro e todas essas balas estão em nossa hierarquia. O desempenho do nosso computador vai levar um golpe. E lentamente, mas certamente o jogo vai começar a ficar e não seremos capazes de jogá-lo. Então, o que devemos fazer sobre tudo isso? Precisamos destruir nossas balas sempre que
atingem um certo alvo ou um colisor. Então, o que faz um colisor? Falamos sobre colisores. Vamos adicionar uma bala aqui em nossa cena, e vamos dar uma olhada nisso. Então você, se você se lembra, nós adicionamos este colisor, que é estas linhas verdes aqui. E podemos ajustar o raio deste colisor. E esses colisores são realmente o que nos permite interagir com o mundo físico que nos rodeia. Então vamos olhar para o nosso jogador aqui. Se formos para o corpo, você pode ver que ele não tem um colisor, mas nosso jogador tem o controlador de personagem e tem essas linhas verdes claras. E estes representam o colisor ou a maneira que são jogador interage com o mundo. Agora, se formos, por exemplo, para este bloco aqui, podemos ver que ele também tem um colisor de caixa e
podemos realmente editá-lo com este botão aqui. Agora, não é muito óbvio, mas se movermos este pequeno quadrado, você pode ver que podemos aumentar o tamanho do nosso colisor. Digamos que este é o nosso colisor agora. E vamos mantê-lo assim. E vamos para o nosso jogador. E eu só queria fazer isso um pouco menor, então 300 e tocar Play. E agora, se quisermos subir na frente, podemos ver que a bala fica presa no colisor que
acabamos de criar e não podemos nos mover em direção aos carros. A maneira como os objetos interagem com o mundo em Unity é através desses colisores. Então vamos abaixar esse colisor e mantê-lo tão grande quanto deveria ser, não mais. Então, agora que você tem um pouco de compreensão dos colisores, o que devemos fazer com esses colisores? Bem, queremos,
sempre que a bala atingir um certo colisor do ambiente, queremos que este livro seja destruído e removido da hierarquia. Então, como vamos fazer isso? Bem, temos um certo método aqui. Então esta é a documentação para o colisor. Você pode ir em frente e ler tudo sobre ele tem muitas propriedades, muitos métodos, e muitas mensagens também. E um deles é o “On Trigger Enter”. E isso é quando um objeto de jogo colide com outro objeto de objetos de jogo, e isso é exatamente o que queremos. Então, se você for para o gatilho ANC Enter, podemos ver que na descrição, bem, é quando o objeto drogas com outro objeto. E este método é chamado assim que o objeto que tem o colisor sobre ele interage com um outro objeto de jogo que tem um colisor sobre ele. Em unidade, podemos ver que nós, para a esfera ou para a esfera nos aros de bala, podemos fazer disso um gatilho. Então, se clicarmos aqui, isso se torna um gatilho e isso nos permite realmente criar o gatilho enter método e nosso script. Então vamos para o script bullet, o script do controlador de bala. E logo abaixo da mosca da bala, vamos criar o próprio gatilho entrar. Então, como você pode ver aqui, nós falamos sobre métodos antes e dissemos que às vezes ele pode tomar parâmetros e este é um parâmetro quadril direito. E o que é esse outro colisor? Você pode perguntar, bem, este é o, bem, outros colisores. Digamos que nossa bala
acerte, digamos que atinge esse objeto bem aqui, que atinge o colisor desta rampa bem aqui. O outro parâmetro que é enviado através é o colisor da nossa rampa. Então, o que vamos fazer aqui? Bem, como dissemos, queremos que nossas balas destruídas sempre que atingirem certos objetos. Então, para destruir objeto, nós simplesmente escrevemos aqui destruir. E dizemos que queremos destruir o objeto do jogo. E sempre que chegamos objeto do jogo, exatamente assim, nós destruímos o objeto do jogo que tem o script do controlador de bala nele, o
que significa que a bala aqui será destruída. E antes de
seguirmos em frente, precisamos ter certeza de uma coisa sempre que criamos um prefab e queremos aplicar ao prefab principal da nossa cena, precisamos sobrescrever. Então aqui em cima, você pode ver que nós temos a opção substituir e aplicar tudo e isso vai mudar, por exemplo, ele vai nos dizer que nós mudamos o tamanho do nosso colisor de esfera de 0,83 para 0,8. Então podemos aplicar tudo isso à pré-fabricada. E agora a pré-fabricada e todas as balas criadas a partir desta pré-fabricada terão este raio bem aqui. Então vamos apagar a bala e ver se funcionou. Quando batermos no jogo. Devemos ver que sempre que atingimos o avião ou temos um certo objeto, a bala é destruída. Então agora você pode ver que nós não temos mais todos esses clones enquanto nós ainda temos, porque alguns deles estão realmente voando para longe. E vamos lidar com esse problema também. Mas agora, quando chegamos aqui, você pode ver que não temos mais muitos clones ao nosso redor. Então, quando atingimos o avião, alguns deles às vezes passam por causa da velocidade. E você pode ver que o nosso jogo não tem mais pernas demais. E, na verdade, as balas são destruídas. Alguns deles voam. Então, o que vamos fazer com as balas que voam para o ar? Bem, vamos criar um temporizador, 40 balas. Então, depois de um certo tempo voando no ar, nós vamos destruí-los exatamente como fizemos no, no açúcar. Entrar. Vamos em frente e fazer isso. Então,
a primeira coisa que precisamos fazer ir e para o nosso roteiro. E aqui vamos criar outra variável que é um flutuador. E você pode nomear várias variáveis na mesma linha se elas forem do mesmo tipo flutuante. Então esta vai ser a vida da bala. E esta é a quantidade que a vida útil da bala que está sendo disparada. E como vamos reduzir a vida útil da bala? Bem, uma atualização, vamos tirar a nossa vida de bala e vamos reduzi-la pelo tempo delta que passar. E se você se lembra, quando colocamos este menos aqui, queremos dizer que a bala Vida é igual a
vida da bala menos tempo ponto delta pi. Então este é um comentário aqui para você lembrar no futuro como isso realmente funciona. Então vamos guardar isso. E antes de irmos, precisamos de uma maneira de sempre verificar esta bala e ver se ela vai abaixo de um certo valor. Queremos destruí-la. E é aí que entra o desafio. Então seu desafio é criar uma condição “if”. Então crie uma condição if que verifica se Pollock vida é menor que 0. E se for, você precisa destruir o livro. Certifique-se de fazer isso na atualização. Então pausar o vídeo agora mesmo e vá criar uma condição if. Ok, bem-vindo de volta. Como você se saiu com isso? Bem aqui debaixo da vida da bala. Então, cada quadro que estamos tirando uma certa quantidade de tempo. É o tempo entre cada quadro e estamos reduzindo a bala ao vivo por esse tempo. E, eventualmente, se a vida da bala for menor que 0. Portanto, isso significa que ultrapassa um certo limiar. Então vamos destruir o objeto do jogo. E vamos guardar isso. E de volta ao nosso jogo. Agora, vamos para a pré-fabricada da nossa bala. E nós temos a opção, enquanto que, nós temos a opção de adicionar uma vida de bala. Então vamos fazer um segundo de 2. Vamos tocar no Play. E agora digamos que disparamos a nossa bala. Ele é destruído quando atinge um certo colisor. E se dispararmos para o ar, podemos ver o clone bem aqui, depois de dois segundos desaparecer, então 12 desaparecem. Ótima. Então agora estamos, como devemos nossas balas, podemos sempre ter certeza de que foram todas destruídas. E hora computador não terá nenhum hit e não será impactado com taxas de quadros mais baixas. De modo que nenhum. Espero que tenham gostado do vídeo e no próximo vamos adicionar mais precisão às nossas balas. Então, vejo-te depois.
17. Como adicionar precisão às balas: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, adicionamos um pequeno ponto no meio da tela. E é isso. Bem, não, na verdade, como você pode ver, acabamos de atirar uma bala muito precisa. Então, se você se lembra antes de criarmos este vídeo, quando deveríamos em um certo ponto e nosso mundo, a bala vai para onde quer que ele queira. Mas agora, quando filmámos, vai exactamente para onde queríamos ir. Agora temos balas muito mais precisas. Então não vamos perder mais tempo e vamos começar. Oh, ok, então a primeira coisa que
vamos fazer é criar uma mira no meio da nossa visão. Então aqui queremos criar um pequeno botão na nossa
frente, a fim de ter um ponto a ponto. Então, para fazer isso, vamos criar uma imagem na frente do nosso jogador. E para colocar uma imagem na frente do nosso player, queremos criar uma tela. Então vamos em frente e fazer isso. E nossa hierarquia, clicamos com o botão direito do mouse, vamos para UI. E aqui podemos escolher criar uma tela. Então agora temos uma tela bem aqui com um sistema infinito. E este sistema de eventos nos permite pressionar certos botões em nossa tela. Podemos simplesmente crianças para o nosso campus. Agora, onde é o nosso campus? Você pode estar perguntando, bem, esta linha enorme branca como nossa tela. E se clicar duas vezes sobre ele, você pode ver que é isso. E você deve estar se perguntando, por que é tão grande se você olhar de perto, este é o nosso pequeno playground e esta é a nossa tela. E sempre que quisermos mudar as coisas em Canvas como manteiga para ir e pressionar o 2D bem aqui. Então, quando pressionamos dois D, Você pode ver que podemos lidar com Canvas muito mais fácil. Agora, por que Canvas é tão grande? Esta é uma maneira de a unidade adicionar imagens e coisas e modificá-las facilmente, fazendo-as falar. Mas não te preocupes com isso porque deixa-me mostrar-te porquê. Se clicarmos com o botão direito do mouse em Canvas, volte ao seu olho e vamos adicionar uma imagem. Então você pode pensar que essa imagem será enorme. Na verdade, se olharmos no jogo, você pode ver que esta é a imagem e na verdade é um quadrado muito pequeno olhando. E isso representa o que será renderizado na interface do usuário na nossa frente e vamos usá-lo muito mais tarde. Agora, antes de começarmos a mudar nossa imagem, precisamos ir para a tela. Precisamos ter certeza de que em Canvas, vez de o scaler de tela ser o tamanho de pixel constante, queremos escalar com o tamanho da tela. E aqui podemos alterar a resolução de referência. E porque estamos jogando no 1920 por 18, por 1080, vamos fazer o mesmo aqui, então 1920 por 1080 e clique em Enter. E agora temos nossa tela sempre ajustada para a resolução. Ok, ótimo. A próxima coisa que vamos fazer é clicar na imagem que não temos aqui. Vamos clicar duas vezes e somos chamados de cruz. Cabelo. E queremos torná-lo um pequeno círculo. Então podemos entrar aqui na imagem de origem. Podemos clicar aqui e podemos realmente mudar como nossa pequena imagem aqui parece. Então, vamos escolher tê-lo como um botão. Oops. Então, como um botão, é um círculo. E vamos em frente e torná-lo menor. E antes de fazermos isso, deixe-me encaixar a vista do jogo aqui para que possamos vê-la. E a maneira de torná-lo menor é ser amarrado uma borda, segurar Alt, e então escalá-lo para baixo e ele vai escalar de todas as direções. E agora você pode ver que é muito menor. Então vamos em frente e torná-lo ainda menor. Certifique-se de que sua posição esteja sempre em 0. Não queremos colocá-la de lado. Queríamos estar sempre em 0 aqui, então 00. E é claro que queríamos ser um círculo, então vamos em frente e torná-lo talvez 25 por 25. Então, e finalmente, vamos mudar a cor e torná-la preta. Então, agora em nosso jogo, vamos ver como isso parece. Não, é, eu acho que ainda é um grande, então vamos fazer 12 por 12. Certo, então guarde isso. Isso depende da sua preferência. Se você quiser, você pode até não torná-lo um botão. Você pode torná-lo um quadrado, se quiser. Então depende de você e você pode torná-lo tão grande quanto você quiser. Então vamos jogar. E agora podemos ver que temos esse ponto aqui. Mas como você pode ver, as balas não vão exatamente para onde queremos que eles vão. Eles vão voar para algum lugar na distância. E, na verdade, não é tão preciso quanto gostaríamos de ter nossas balas. Então, como vamos mudar isso? Bem, vamos criar algo chamado reelenco. Então, o que é um reelenco? Um re-elenco é um raio que é lançado a partir de uma determinada posição de sua escolha. Se você acertar um certo colisor em seu mundo com o ponto de física re-cast, ele retorna um verdadeiro. Então você deve estar imediatamente pensando que nós vamos estar usando isso dentro de uma condição se para verificar se atingimos algum colisor. E vamos explorar a estrutura de um reelenco. Então re-cast, em primeiro lugar, tem uma origem e vai ser o ponto de partida da nossa matriz. Também temos a direção do raio. Assim como escolhemos a direção do nosso ponto de fogo, a direção da velocidade de nossas balas. Também podemos dar a direção para o raio a seguir e temos a informação que obtemos desse Ray. Então, sempre que atingimos um certo colisor no mundo usando este raio na verdade retorna informações sobre a oscilação. E isso vai ser muito importante para nós no futuro. E também podemos adicionar uma distância máxima ao raio que viaja. Então vamos em frente e criar um reelenco. Então, primeiro de tudo, queremos ir para o nosso jogador e atirar dentro. Sempre que realmente apertamos o botão do mouse, queremos verificar se há um re-cast. A primeira coisa que vamos fazer é criar uma variável que tem medo elenco, cabeça, tipo, e nós simplesmente vamos chamá-lo de hit. Agora, vamos criar uma condição se que verifica se há uma reformulação de pontos de física. E aqui em primeiro lugar, vamos escolher a origem. Então, qual será a origem do nosso reelenco? Bem, vai ser a posição do ponto da cabeça da câmera. Então, porque temos a nossa mira bem no meio da nossa tela, e o meio da nossa tela é na verdade a direção em que nossa cabeça ou a cabeça do jogador está olhando. Então deixe-me colocar a tela aqui e torná-la menor. Então a posição aqui será a direção em que nossa cabeça da cabeça do jogador está olhando. Então vai ser a origem. Em seguida, precisamos escolher a direção. Então vai ser o ponto da cabeça da minha câmera para a frente. E precisamos criar isso fora da cabeça. E o que significa fora? Nós não cobrimos isso. Então o que isso significa é que ele coloca para fora a informação do re-cast na cabeça variável que criamos aqui em cima. E finalmente, precisamos adicionar uma distância máxima. Vamos, vamos fazer 100 por enquanto. Talvez mudemos mais tarde. E antes de
continuarmos, só queremos ter certeza de que tudo está configurado corretamente. Então vamos criar um log de depuração. E isto irá imprimir algo na nossa linha de comando. E o que queremos imprimir é que acabamos de bater. E aqui vamos pegar o golpe ou o objeto que tivemos com nosso reelenco. Vamos acessar a transformação e vamos conseguir o nome dela. Vamos salvar isso, e vamos voltar para a Unidade e ver se isso funciona. Então, agora, quando apertamos o play, vejamos, por exemplo, se
atingirmos o avião, podemos ver no console que acabamos de jogar. E agora, se atingirmos este cubo, não
sei qual é o número nele. Então, quando atingimos o cubo, ele acerta o cubo para, vamos ver, isso é realmente Q2? Então, onde está o nosso, oops, vamos sair do 2D. Clique duas vezes em Jogo Q2. E sim, está funcionando. Então agora você pode ver que estamos atingindo diferentes objetos em nosso mundo e nós realmente temos informações sobre esses objetos. E isso será muito crucial mais tarde à medida que avançarmos pelo jogo, porque queremos
saber se estamos atingindo um inimigo e aliamos um grande inimigo, um pequeno inimigo. E como você pode ver, nós, sempre que não devemos o ar, nós realmente não temos nenhuma resposta porque a uma certa distância isso não funciona. Ok, ótimo. Agora, a próxima coisa que precisamos fazer é realmente fazer a direção de nossa posição de arquivo. Olhe para o ponto central. Assim seremos capazes de direcionar nossas balas para a mira no meio da tela. Vamos em frente e fazer isso. Então, de volta ao nosso código aqui, em vez de simplesmente imprimir coisas, nós realmente vamos tomar nossa posição de fogo e nós vamos estar olhando para ele. Então nós temos o olhar para o qual gira a transformação. Assim, o vetor para a frente aponta para a posição atual dos alvos. Então isso é exatamente o que queremos porque, como você pode ver, a bala está indo em direção ou na direção da rotação da posição de fogo. E quando olhamos para um determinado objeto, a posição de fogo irá girar sua rotação em direção a isso. Então isso significa que nossa bala vai nessa direção. Então agora pegamos o hit e, a fim de acessá-lo, podemos realmente usar o ponto que o
ponto de impacto no espaço de trabalho onde o raio atingiu o colisor. Então vamos usar o ponto de tiro na cabeça. Agora novamente, antes de seguirmos em frente, lançamos um reelenco da câmera, posicionamos a cabeça da câmera para a frente. Conseguimos a informação do ataque e tem uma distância máxima. Quando obtemos uma posição de acerto, usamos a posição de cinco para olhar, que significa que giramos em direção à cabeça ou à posição em que batemos com a taxa de gás. E temos o ponto exato onde nosso reelenco atingiu. E então, quando tivermos a posição distante olhando para este ponto, vamos realmente instanciar nossa bala e será muito preciso. Vamos guardar isso. E agora de volta ao nosso jogo. E agora, como você pode ver, se quisermos atirar nesta posição, se você olhar de perto para a bala, você verá que ela realmente vai para a mesma posição. Agora temos uma arma muito precisa, mas ainda há um pequeno problema. E esse problema é o que acontece quando disparamos no ar. Então, se não houver reformulação, o que as balas vão fazer? E o problema aqui é, agora, você pode pensar que, OK, não há problema. O barco vai voar sozinho. Mas às vezes isso criará muitos erros e queremos evitar isso. Então, de volta ao nosso jogo, e aqui vamos usar o outro. Então isso significa que se não obtivermos um valor verdadeiro, então não atingimos mais nada. Queremos que a posição do arquivo esteja olhando para a posição do ponto da cabeça da câmera. E nós vamos simplesmente adicionar um pouco dos meus tempos de frente da câmera. 50. Digamos que tivemos um reelenco. Não registamos nada, então não temos nada para ver. Então, ou olhamos para o ponto da cabeça ou se não
encontrarmos nada, vamos estar olhando para a câmera, tínhamos ensinado posição, e vamos estar adicionando a ela na direção de frente, apenas um acima do jogador determinada direção. E agora, se voltarmos ao nosso jogo, isso pode não ser tão óbvio, mas a longo prazo, será muito mais evidência. Como podem ver, a bala ainda desaparece atrás da cruz aqui. E agora temos uma posição muito precisa. Ok, ótimo. Agora temos balas precisas. Garantimos que, se não tivermos uma certa posição da cabeça, ainda
teremos uma direção para disparar. Mas ainda há um pequeno problema que pode causar mais problemas no futuro. Então, se nos aproximarmos de uma parede, você pode ver que a bala, em vez de bater em uma parede que deveria estar na frente dela, ela também se move em direção ao centro da nossa tela. E isso é um pouco complicado no futuro. Quando vai, quando vai começar a adicionar efeitos ao nosso jogo. Causaremos muitos problemas. Então vamos enfrentá-los antes que eles cheguem até nós. Então aqui, quando lançamos um reelenco e realmente
atingimos algo, queremos verificar a distância entre a posição da câmera e o ponto de sucesso. E se for maior do que um certo limite, então vamos olhar para a posição. Então aqui vamos criar uma condição se e verificar 40 distâncias. Agora, como verificamos a distância? Se entrarmos aqui, temos o vetor de distância de três pontos, e ele retorna a distância entre dois pontos, que são a e b. E o que queremos verificar é a distância entre a cabeça da câmera e o ponto da cabeça. E isso é, na verdade, parte do seu desafio. Seu desafio será calcular a distância. Primeiro de tudo, verifique. 40 distância entre a posição da câmera, que é a minha cabeça e a posição da cabeça. E então se for maior do que um certo flutuador, que eu vou, eu vou com 2F. Use a condição if que aprendemos, a fim de realmente olhar sob apenas esta condição. Pause o vídeo agora mesmo e vá fazer o desafio. Oh, ok, bem-vindo de volta. Então, se condição, vamos acessar o vetor de distância de três pontos. E vamos usar a posição do ponto do chapéu da câmera. E o outro valor vai ser o ponto hit. E se ambos estes, ou se a distância entre estes dois é maior que dois f, então. E deixe-me ensinar-lhe um pequeno truque aqui. Se você quiser mover esta linha para cima ou para baixo, basta pressionar Alt e usar as teclas de seta, pressione tab e ele irá para sua posição. Então vamos deixar isto um pouco mais limpo. Então, agora só se a distância entre a posição da cabeça da câmera e o ponto da cabeça ou o ponto em que o ancinho Estates é maior do que dois, então vamos estar olhando para outra nós vamos simplesmente estar atirando na parede. Então vamos voltar. E agora novamente, vamos tocar Play. Então agora nossas frangas ainda estão precisas. Mas quando nós, vamos dar uma olhada para baixo e quando atingimos, você pode ver que as balas não vão diretamente para
a posição mais distante e eles realmente são destruídos antes de chegarem lá. E quanto mais olhamos para cima, você pode ver que eles se tornam precisos quando estão a uma distância distante. Tão grande. Agora temos balas muito precisas. Estamos atirando nas distâncias apropriadas. No próximo vídeo, vamos tornar o nosso tiro muito mais emocionante adicionando sistemas de partículas. Então, vemo-nos na próxima.
18. Criação de fotos mais saindo: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, como você pode ver, nosso jogador parece legal como o inferno. Neste vídeo, nós vamos realmente adicionar um pouco de sabor ao nosso tiro. Então, agora não só atiramos balas, como também temos um flash de focinho na nossa frente. Claro, você terá a capacidade de mudar seu flash focinho dependendo de sua preferência. Mas vamos nos divertir muito aprendendo
o sistema de partículas e instanciando-o sempre que filmarmos. Então não vamos perder mais tempo e vamos começar. Certo, então agora, quando batermos no Play, temos nossas balas. Eles são precisos, mas o tiroteio é honestamente um pouco desanimador. Então, por exemplo, quando realmente atingimos uma superfície, não
temos idéia do que fizemos. E não há nenhuma indicação de que o argônio está realmente atirando em algo como capaz. Então, a maneira como vamos mudar tudo isso é adicionando sistemas de partículas. Primeiro de tudo, para um flash de focinho. E então vamos adicionar em outro sistema de partículas para sempre que atingirmos um determinado objeto, ele criará um volátil. Então, o que é um sistema de partículas? Se clicar com o botão direito aqui na hierarquia, podemos ir para onde estão os efeitos. E podemos criar um sistema de partículas chamado em cenas. E vamos olhar para o nosso sistema de partículas. Então é isso. E você pode ver que é um monte de partículas que são renderizadas na nossa frente. E estes são, na verdade, para os sprites que sempre olham para a câmera enquanto nos movemos. Então, como você pode ver, se você notou que eles estão sempre se movendo e há uma tonelada de coisas que podemos mudar aqui à direita. Mas nós queremos realmente ir em frente e adicionar sistemas de partículas que já existem e são muito melhores do que aqueles que nós podemos criar o nosso próprio mais tarde na linha neste curso, nós vamos realmente estar criando nossa própria partícula mas por enquanto, vamos obtê-los na loja de ativos da Unity. Agora, se você nunca esteve na Unity Asset Store, na verdade
é bem fácil. Basta ir para a loja de ativos opportunity.com. E aqui você pode procurar o pacote de partículas da unidade. E quando você encontrá-lo, é um arquivo um pouco grande, mas não se preocupe, é completamente gratuito. Você tem que clicar em adicionar aos meus bens. Quando você faz isso. próximo passo é ir para o Unity, ir para a janela e ir para o gerenciador de pacotes. E isso deve abrir uma janela em algum lugar. E este é o gerenciador de pacotes onde você terá todos os ativos que você importou do Unity Asset Store. Agora, quando você adiciona seu ativo do sistema de partículas, você deve ter este pacote de partículas unidade, cinco vezes x ou algo assim quando você tem que baixá-lo aqui, e então clique em importar. Então vamos fazer isso. Eu cliquei na importação. Vai te dar tudo isso. Basta verificar todos eles e, em seguida, pressione
Importar e aguarde até que eles sejam importados para o seu projeto. Vou usar a magia da edição de novo. E eu vou pular essa parte chata de importação. Pode abrir uma janela como esta. Então, se isso acontecer, basta clicar em Recarregar e não se preocupe com isso. Ow, kay, bem-vindo de volta. Então, agora que temos o ano pacote importante, é chamado de exemplo de efeito. Podemos ir em frente e clicar com o botão direito do mouse no gerenciador de pacotes e fechar a guia também fechará as configurações do projeto por enquanto. E vamos abrir esse arquivo e ver o que temos aqui. Então estes são todos os fatos diferentes que temos. E temos a explosão de fogo de sangue e muitas outras coisas. Mas o que queremos, queremos ir para o efeito de armas. Nós temos os prefabs aqui, e nós temos este impacto bala aqui para o efeito de carne grande, nós temos impacto para o efeito de carne pequena, nós temos o impacto ou efeito e este é um que nós queremos ter. Também temos areia, pedra e outras coisas. Então queremos o impacto da bala no metal. Então o que fazemos é que vamos realmente duplicar este. Vamos mudar o nome para o impacto da bala. E vamos arrastá-lo para os nossos próprios conjuntos de pré-fabricados. Então arraste o cisne aqui para os Prefabs. Então agora em Prefabs temos a bala e o impacto da bala. Em seguida, queremos o flash do focinho. Então vamos para o exemplo Efeito e de volta nos prefabs, vamos obter este flash focinho. Duplicar isso. E vamos chamá-lo de nosso flash focinho ido. E novamente, nós vamos entrar em nossos prefabs e arrastar este golpe, efeito
muscular para nossos próprios prefabs. Ótima. Agora, em Prefabs, temos o efeito do focinho da arma e o efeito do impacto da bala. E nós podemos realmente ir em frente e adicionar isso em arsine e simplesmente olhar para eles. Vamos mover isso para cima e vamos jogar. Então, quando nós batemos em jogo, você pode ver que este é o efeito muscular que nós vamos estar jogando sempre que nós realmente atirar com argônio. E este será o impacto da bala. Então vamos ver isso de novo em jogo. E este será o nosso impacto de bala. Muito agradável. Vamos apagar os dois da nossa cena, e vamos instanciá-los sempre que precisarmos deles. Então, de volta ao script do jogador, e aqui, primeiro de tudo, precisaremos de uma referência. Então vamos criar um objeto de jogo público. E vamos chamar isso de flash de focinho. E também precisaremos de outro para o buraco da bala. Agora temos o flash do focinho e o buraco da bala são objetos de jogo público. De volta ao Unity, clicamos no jogador. Vamos em frente e adicionar o impacto da bala ao buraco da bala e ao golpe, focinho no flash da focinheira. Guarde tudo isso. A próxima coisa que queremos fazer é primeiro instanciar o flash do focinho quando realmente atiramos com nossa arma. Então isso fará parte do seu desafio. E seu desafio será instanciar. O flash do focinho. Então, em primeiro lugar, reveja a instanciação na documentação do Unity. Instanciar o flash do focinho mãe sempre que atirar e fazer o focinho piscar uma criança da posição distante. E vamos ver o porquê daqui a pouco. Então pausar o vídeo agora mesmo e ir fazer esses rasos. Ow, kay, bem-vindo de volta. Então, onde devemos instanciar? Bem, sempre que apertamos o botão, não
importa se realmente encontramos um reelenco para acertar ou algo assim. Nós só queremos instanciá-lo sempre que pressionamos o botão do mouse. Então aqui vamos escrever instanciado. Aqui está. E então as origens ou o objeto que queremos instanciar será o flash do focinho. E a posição vai ser a posição de fogo, posição de ponto. E a rotação também será a rotação do ponto da posição distante. E finalmente, deixe-me mostrar por que queremos ter a posição de fogo como pai. Então, de volta ao nosso jogo aqui. E agora, quando batermos no jogo, vamos ver se isso funciona. Bem. Na verdade, o flash do focinho, se você olhar para a hierarquia, está realmente sendo criado, mas parece que nada está acontecendo. Por que é isso? Bem, vamos colocar esse flash aqui e vamos dar uma olhada só um pouquinho. Então, primeiro de tudo, nós podemos realmente tocá-lo e nós vemos que ele é realmente real. Mas a primeira coisa é que na verdade é muito pequena. Então vamos em frente e fazer isso talvez quatro por quatro, quatro por quatro, e isso aumentará nosso flash de focinho da arma. Outra coisa que precisamos fazer é que precisamos realmente clicar aqui em jogo no Awake. E o que esta peça no Awake faz é que realmente começa tocar assim que nós realmente instanciar esta. Então vamos ver se isso faz alguma alteração. E antes de irmos, não se esqueça de aplicar tudo isso à pré-fabricada que criamos. Exclua o flash focinho ido e são vistos. E agora, quando batemos em Play, você pode ver que temos um flash de focinho. E por que eu te disse que precisamos fazer dela uma criança? Porque você pode ver que à medida que nos movemos, o flash do focinho não está instanciando nossa arma. Está instanciando na frente dele. Então, e outro problema que precisamos resolver é que
todos esses flashes musculares da arma não estão sendo destruídos. E é, na verdade, uma solução bastante fácil. Por isso, se o pusermos aqui ou nem sequer o pusermos na cena do crime. Se rolarmos para baixo, podemos ver que temos a opção aqui para parar a ação e está atualmente no non. Podemos clicar aqui e clicar no “Destruir”. Então, isso destruirá o sistema de partículas da nossa hierarquia sempre que terminar de jogar, vamos aplicar isso e backend nossa arte do jogo aqui, ou quero dizer, em nosso script aqui, vamos em frente e torná-lo a criança da posição das FARC. Guarde isso. E agora vamos tentar de novo. E não devemos ter um flash muito bom. Então, aperte o play. E agora podemos ver que, mesmo quando nos movemos, nossas armas ainda se descarregam na nossa frente. Muito agradável. Agora você pode ajustar essa carne muçulmana o quanto quiser. Você pode torná-lo talvez maior, escalá-lo para cima. Talvez queiras mudar a posição da posição de fogo. Talvez você, eu não sei o que você quer fazer, mas de qualquer maneira, vamos sair do modo de jogo. No próximo vídeo, vamos adicionar o efeito de buraco de bala. E também vamos aprender tudo sobre camadas porque camadas nos permitirão ter buracos de bala, apenas objetos de jogo incertos, não todos eles. Até lá, vejo-te no próximo vídeo. E antes de irmos, vamos para os Mestres e cometemos nossas mudanças. Então eu cometi o, como você pode ver aqui, Eu adicionei precisão para minhas balas e agora eu vou dizer-lhe sobre grande arquivo detectado. Ok, então vamos ver, e se esses arquivos são muito grandes, vamos em frente e ignorar todos eles. Então clique com o botão direito aqui. E vamos em frente e ignorar tudo sob os exemplos de efeitos. Ignore tudo por baixo. À medida que os ativos afetam os exemplos, clique em OK. E agora vamos encenar tudo isso, comentar, tudo isso, e adicionar flash de focinho às minhas armas. Ok, ótimo. Com pontos de exclamação, cometa tudo isso. E vejo-te no próximo vídeo. Estamos onde vamos adicionar buracos de bala.
19. Como adicionar bolos: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos usar
tags para ter efeitos diferentes quando filmamos coisas. Então, agora, quando atiramos nos cubos que temos, vocês podem ver que estamos criando buracos de bala perpendiculares à superfície. E isso acontece com todos os cubos que devemos. Mas se devemos o avião, você pode ver que estamos tendo esses vazamentos estranhos de água para cima no ar. Então não vamos perder mais tempo e vamos em frente e começar a aprender sobre bancos. Vejo-te daqui a pouco. Certo, a primeira coisa que queremos fazer é instanciar nossos buracos de bala. Agora, se você quiser aceitar este desafio não oficial, você pode ir em frente e fazer isso. Ok, o tempo acabou. Então vamos em frente e abrir o roteiro. E dentro daqui, sempre que tivermos um certo reelenco, vamos em frente e instanciar o buraco da bala. Então aqui, se também estivermos a uma certa distância, vamos acabar substanciando e vamos instanciar o buraco do parafuso. Vai ser no ponto da cabeça. Esta é a posição do Estado Eureka e vamos usar o quaternion. Então quaternion dot olhar rotação. E por que estamos usando a rotação de fechaduras? Então você pode ver aqui que ele cria uma rotação com uma direção especificada para a frente e para cima. E é por isso que precisaríamos usar
a rotação do olhar quaternion para a rotação do nosso barco. Esperança porque queremos que ele seja sempre perpendicular ao ponto de impacto em uma determinada superfície. Então vamos usar o ponto normal e o normal,
o normal da superfície que o raio atinge. Tão normal significa que, como eixos perpendiculares e
perpendiculares de onde quer que tivéssemos um ponto desta forma, o orifício do parafuso estará sempre voltado para a direção perpendicular de qualquer superfície que tínhamos. Então vamos ver isso em ação. Vamos guardar isso no nosso jogo. E quando atingimos Play, agora, sempre que atiramos, você pode ver que nós realmente temos um buraco de bala instanciado. Agora, honestamente, esses buracos de bala são um pouco pequenos e eles não vão embora, ou vão? Oh sim, na verdade eles estão indo embora por conta própria. Quão legal é isso? Agora quero fazer esses buracos de bala um pouco maiores. Talvez, digamos, talvez o dobro do tamanho, então também na escala, vamos ver se isso parece bem. Só para vermos as Butters ou agora, sim, estas parecem muito melhores. Então agora temos um buraco de parafuso, bom e ótimo. Então agora temos esses buracos de bala disparando cada vez que estamos nos movendo. Mas o problema é. Ainda há coisas que precisamos mudar porque mais tarde, por exemplo,
digamos que adicionamos, talvez adicionemos, algum tipo de inimigo e não queremos ter esses tipos de buracos de bala em nosso inimigo. Nós só queremos ter esses buracos de bala quando atiramos em certos tipos de objetos. Talvez não queiramos ter buracos de bala no chão. Só queremos ter buracos de bala nos cubos e no ambiente à nossa volta. Então, para isso, precisamos usar algo chamado de imposto e o que nosso imposto. Então, se seguirmos em frente e clicarmos no ambiente, clicarmos em um cubo ou em qualquer objeto, por isso, em qualquer objeto em nossa hierarquia, até mesmo a câmera principal tem uma tag aqui. Você pode ver que é a etiqueta da câmera principal. E cubo, por exemplo, dQG número dois não está marcado. Então nós queremos criar uma tag para este ou um certo número de cubos que temos aqui e marcá-los como um tiro irá objeto. Dessa forma, só os objetos mutáveis terão buracos de bala. Então vamos fazer isso. Para criar uma tag, basta clicar aqui. E você pode escolher um dos textos que
já estão disponíveis ou você pode ir em frente e adicionar uma aderência. E podemos ver que há uma lista de tags que está vazio também têm as camadas de classificação, e isso é usado principalmente para sempre que estamos criando um jogo e 2D, isso permite a classificação de camada. Então, qual camada mostra na frente de qual camada? E então temos essas camadas aqui que usaremos muito no futuro à medida que o projeto progride. Então vamos em frente e tags. Aqui, a lista está vazia. Vamos criar uma nova tag e chamaremos isso de tiroteio compartilhável. Então agora temos uma tag compartilhável. E vamos entrar aqui e selecionar todos os nossos cubos sem o avião. E vamos em frente e marcá-los como adequados. E vamos guardar isso. E agora o que devemos fazer é ir e instanciar as nossas balas apenas se o objeto que tivemos com a nossa reformulação for uma etiqueta adequada ou tiver uma etiqueta adequada nela. E por isso, vou te dar um desafio. Então seu desafio é adicionar uma condição para a instanciação do buraco da bala. Então verifique a etiqueta no hit e certifique-se de que ele está no ponto da cabeça e certifique-se de que ele é adequado. E se você se sentir confiante o suficiente, pause o vídeo agora mesmo e vá fazer sua própria pesquisa e descubra como você pode verificar as tags nos objetos do jogo. Ou se quiser dar uma dica, deixe-me dar a você. Então você precisará usar
a hashtag hit dot collider dot antes de instanciar ou dentro de sua condição if para verificar a tag. Então, agora que você tem todas as armas necessárias, não se esqueça que a etiqueta é uma corda. Pause o vídeo agora mesmo e vá para o desafio. Ok, bem-vindo de volta. Então vamos para o nosso código. E aqui antes de instanciarmos. Vamos criar uma condição “if”. Nós vamos, oops, nós vamos primeiro abrir os suportes e obter o sucesso. Vamos usar o colisor que está ligado e que está na cabeça. E vamos usar a etiqueta aqui. E nós vamos compará-lo com a tag em nossos objetos de jogo. Então, porque esta é uma referência de string, precisamos ir e ter certeza de que escrevemos corretamente. Então Shu tabela, não podemos copiá-lo, mas podemos lembrar que vendido adequado de volta em nosso código. Adequado. E vamos mover esta instanciação para aqui. E um truque bacana que estou prestes a mostrar a vocês é que
sempre que temos uma única linha de código sob a condição if, nós realmente não precisamos desses dois colchetes rabiscados. E isso funcionará para apenas uma única linha de código. Porque quando entramos agora, tudo aqui está fora dos limites da condição “if”. Então vamos nos certificar de que tudo isso funciona. Então vamos salvar tudo isso. E agora vamos para o nosso ganho, vamos esperar por isso para compilar. E como nos lembramos, o ambiente, o avião está inexplorado. Então, sempre que
devemos, não devemos fazer um buraco de bala no avião, mas devemos fazer um buraco de bala no nosso cubo. Quão legal é isso? Então, com isso feito, podemos fazer uma última coisa. Vamos entrar em nossas cenas aqui. Ou onde estão estes? Onde estão o OK, o material de efeito? E uma última coisa antes de irmos, vamos em frente e adicionar um certo efeito de partícula a sempre que atingimos um avião. Então vamos em frente e adicionar um recipiente de água que se extingue. O que faz este? Vamos ver. Bem, na verdade o vazamento de água alma K9 ou rede Et 1d. Certo, então do jeito que fazemos isso, vamos deletar. Este é o este é o um ou este, o efeito recipiente. Qual deles é o vazamento de água. Vamos tocar no play. Ok. Então este é o que queremos. Clique com o botão direito do mouse neste recipiente de água de impacto de bala, e só queremos o efeito de partícula. Então, vamos em frente e clique em pré-fabricada e descompactado completamente. Então agora podemos remover o vazamento de água. E vamos em frente aos nossos prefabs novamente. E aqui, basta arrastar o vazamento de água e agora é uma pré-fabricada. Vamos voltar ao nosso guião polar. E aqui em cima vamos adicionar o vazamento de água. Guarde isso. E se você quiser aceitar este pequeno desafio, você também pode ir em frente e criar uma, outra etiqueta adicionada ao avião. E então se atingirmos o convés do avião ou o HIT Collider tiver uma etiqueta de avião ou qualquer nome que você queira dar ao avião, ele irá instanciar o vazamento de água. Ok, o tempo acabou. Vamos voltar aqui. Então o jogador vai ter o que vazar e nós vamos em frente e vamos para o avião aqui. Enquanto dobra o plano. Vamos adicionar uma etiqueta. Vazador de água, vamos chamá-lo. Vamos copiar o vazador de água guardar isso aqui. Vamos em frente e criar uma condição if. Então, se eles acertarem ponto colisor tag. Ou também podemos usar algo mais que é comparado tag. Abra os suportes aqui e adicione o vazador de água. Então isso é exatamente o mesmo que o acima, mas é apenas uma maneira diferente de usar o S1. Então vamos copiar esta instanciação e colá-la aqui. E em vez do buraco da bala, vamos chamar
o, como foi chamado, o vazamento de água. Então vazamento de água, guarde isso. E de volta à Unidade. Vamos clicar no avião, ter
certeza de que é um licor de água. Então, aperte o play. E vamos ver se isso funciona. Então nós nos levantamos
e, e ele meio que funciona e não desaparece. Não, não está desaparecendo. Então certifique-se de que o vazamento de água seja destruído. E parar a ação, destruir, salvar isso. E agora vamos jogar. E eu sei que não é muito lógico ter a água vazando do solo, mas nós só queremos demonstrar a diferença que podemos fazer com essas tags e a dinâmica que isso adiciona ao nosso jogo. Então, no próximo vídeo, vamos adicionar alguns inimigos. Não se esqueça de confirmar suas alterações. E vejo-te no próximo vídeo.
20. Como criar objetivos para destruir: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos adicionar algumas esferas no ar. Então, vejo-te daqui a pouco. Não, na verdade estamos adicionando esses medos porque esses medos são nossos inimigos. Então, sempre que devemos,
eles estão sendo destruídos. E quando devemos Outras coisas, criamos buracos de bala, quando devemos os inimigos que são verdes e assustadores, Ainda não, mas eles serão mais tarde, eles são destruídos. Então não vamos perder mais tempo e vamos começar. Oh, ok, então agora podemos filmar. Temos buracos de bala ou atirar. Ou atirar é realmente emocionante e tudo, mas ainda falta inimigos para destruir. Vamos consertar isso. Vamos clicar com o botão direito do mouse e nossa hierarquia e criar um objeto 3D. E vamos em frente e criar uma esfera. Então agora temos essa esfera no meio do ar e vamos escalar esse cachorrinho. Então vamos torná-lo um pouco maior também, onde sua cerca de 3,92, talvez três. Vamos fazer deste um bom número. Três. A próxima coisa que vamos fazer. Vamos criar um material para esses caras. Então vamos dizer que duplicar o material da goma vai adicionar a este cubo e talvez façamos ele, o que devemos fazer para ele? Vamos em frente e torná-lo verde porque ainda não temos nenhuma cor verde. E vamos em frente e mudar a emissão também para verde. Então agora temos este brilhante, oops, este verde brilhante ou flutuando ao redor. Devemos deixá-los mais claros ou escuros? Vamos mantê-lo assim. Ótima. Então agora temos esse inimigo que está flutuando por aí. E o que devemos fazer agora? Bem, devemos entrar em nosso roteiro e destruir qualquer objeto que colida com bala. Antes de fazermos isso, quero duplicar a esfera. E vamos fazer um par de inimigos bem aqui no ar. E clique com o botão direito criar objeto de jogo vazio E vamos chamar isso de inimigos. E nesses medos Sob os inimigos, objetos de jogo. Então agora eles são todos nossos inimigos. Ok, ótimo. Na verdade, vamos mover este aqui e mover este aqui, e este aqui. Ok, ótimo. Agora temos os nossos inimigos no nosso parque de diversões. Só estou dando a eles um campo aleatório. Ótimo, então agora guarde isso. Nós batemos no play. E temos esses inimigos no ar agora. Mas como podem ver, nada acontece, nossas balas simplesmente desaparecem. Então o que queremos fazer é ir para os nossos scripts e ir para o nosso controlador de bala. E aqui no açúcar entrar, antes de destruirmos o objeto do jogo, queremos destruir. O outro objeto do jogo. Então agora o outro é o outro colisor com o qual colidimos. E pegamos o outro colisor, acessamos o objeto do jogo nele, e então o destruímos. Então, agora de volta ao nosso jogo, nós jogamos. E vamos ver. Então, oops, vamos acertar isso. E sempre que o livro colide com nosso inimigo ou com essas esferas, ele é destruído. Mas há um pequeno problema. Não é muito perceptível nem nada. Não é inovador. Mas o problema
é que quando atingimos nossa rampa e tudo o que nos rodeia, o mundo também desaparece. Então, sim, isso não é uma boa idéia. Então o que queremos fazer é que realmente precisamos te dar um desafio. Então seu desafio será destruir apenas os inimigos. Então, se você está se sentindo bem, mesmo antes de eu mostrar para você desafiar apenas por este, você deve ter uma idéia de como você precisa construir isso. Caso contrário, você precisa criar uma tag inimiga. Você precisa verificar a tag inimiga sempre que colidir com um alvo. E vou te dar uma dica de que já fizemos, mas talvez você precise usar o colisor de hip-hop e comparar a tecnologia. Portanto, use ambos os métodos para entender qual deles você gosta mais, seja a tag head dot collider.compare ou acessando a tag e comparando-a com uma string. Então pausar o vídeo agora mesmo e ir para o desafio. Ok, bem-vindo de volta. Como você se saiu com isso? Então vamos em frente e adicionar uma etiqueta. Crie uma etiqueta aqui, e este será o inimigo. Então tag inimigo, e vamos para a nossa esfera, selecionar todos eles e marcá-los como o inimigo. Muito agradável. Agora de volta em nossos scripts aqui, vamos criar uma condição if e vamos obter a outra tag .com. Então compare tag, e aqui vamos criar o inimigo. Mas antes de fazermos isso, há algo que eu não expliquei no vídeo anterior. Então a outra tag ponto, eu realmente escrevi estes dois iguais, iguais. Alguns de vocês podem ter ficado confusos. Por que não estamos usando um único igual? Bem, quando usamos um único igual, se você passar o mouse sobre isso, você não pode converter. Bem, este não é o problema. O problema aqui é que sempre que escrevemos um único
igual, assim como aqui, estamos realmente atribuindo um valor. Quando escrevemos dois iguais, iguais, esses dois iguais, iguais, significa que estamos comparando-os uns aos outros. E se eles são iguais, então nós vamos retornar verdadeiro ou falso. Então, com isso esclarecido. Vamos em frente e criar o inimigo. Vamos manter assim. Não se preocupe ambos os métodos funcionam. E porque temos apenas uma única linha, não
precisaremos adicionar colchetes. Ou se você se sentir confortável com a adição de colchetes, você pode, é claro, fazer isso. Então salvamos isso e voltamos ao nosso ganho. Vamos jogar, e agora devemos ir para o chão. Ele não desaparece. E quando devemos o inimigo, eles realmente desaparecem. Agora o problema é, você sabe, como as armas funcionam sempre que você atira em um inimigo não leva cinco segundos antes que a bala realmente atinja o inimigo. Precisamos fazer nossas balas mais rápidas. Então vamos para o pré-fabricada clique em balas, e a velocidade da bala deve ser talvez 300. Então, vamos jogar. E agora disparamos a nossa bala. Atiramos nossa bala, mas o que está acontecendo? Por que nosso inimigo não está desaparecendo? Não vamos acertar o inimigo? Sim, estamos. Agora ele desaparece. Mas o que aconteceu? Por que às vezes demorava tanto? Então o problema é, é claro, quando estamos, temos o colisor de esfera em nossa bala dois, temos o lidar esférico também em nossos inimigos. Mas o problema é por causa da velocidade das nossas balas. A, a maneira como a unidade funciona quando tem colisores e corpos rígidos sobre ele é que ele realmente faz cálculos matemáticos enquanto nosso corpo rígido ou a bala está se movendo. E assim que atinge um colisor como este, começa a calcular o que deve fazer e como esses dois colisadores interagem um com o outro? Agora o problema é quando temos objetos muito rápidos em unidade, se isso não funcionar corretamente. Então eu vou ensinar a vocês uma maneira diferente de destruir nossos objetos de jogo. Não é muito difícil, mas já fizemos algo parecido. Mas é uma maneira diferente. E você tem a escolha de escolher. A escolha de escolher. Você tem a escolha entre usar este método de usar o empreendedor entrar, todos usando o método que estou prestes a ensiná-lo. E aqui, estamos indo sempre que realmente acertamos um inimigo ou
acertamos com o re-elenco, Vamos verificar se acertamos o inimigo ou acertamos um objeto que tenha uma etiqueta nele. Então aqui, sempre que batemos em algo com nosso reelenco, não precisa ser muito, mesmo que seja muito perto, vamos começar por aqui. Então, se formos em frente e obter a tag collider.com ponto cabeça. E espero não estar confundindo vocês com as diferentes maneiras que usamos a etiqueta aqui para compará-la. Então inimigo. E abaixo dele vamos destruir
o objeto de jogo hit dot collider. Então vamos guardar isso. E no controlador de bala, vamos marcar
ambas as linhas. Guarde isso em Unity. Aguarde isto para compilar. E agora, quando batemos em Play, podemos ver que a bala é muito rápida, assim como as balas normais são. E quando atingimos esses objetos, eles são destruídos imediatamente. Então depende de você. Qual deles você quer fazer? Você quer que suas balas realmente destruam o inimigo que isso fará com que tenha, você precisa torná-lo menos rápido? Ou quer que o reelenco destrua os inimigos? Desta forma, você pode realmente criar movimento bala
realista depende de você, o que você quer fazer. Talvez consigas encontrar um bom limiar entre eles. Eu pessoalmente recomendo usar o reelenco e fazer as balas muito rápido porque mais tarde estaremos adicionando armas realistas, balas realistas. E não se sente bem quando você vê a bala se movendo lentamente em direção ao inimigo. E também é menos preciso. E quando jogos reais ou pode jogos AAA como Call of Duty e outros jogos são feitos. As balas na verdade não são os únicos destruindo os inimigos,
o re-elenco como os inimigos de força. Então, com isso dito, espero que tenham gostado deste vídeo. Espero que tenha gostado desta seção de tiro. E na próxima seção, vamos criar movimento avançado com deslizamento, agachamento, salto, adicionando gravidade, e todas essas coisas divertidas. Então vemo-nos lá.
21. SEC 4 — Adicionando gravidade: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos realmente adicionar um pouco de gravidade. Então lembre-se dos bons velhos tempos quando costumávamos subir essas rampas e flutuávamos por aí, bem agora que a diversão, a diversão acabou. Então, quando desistimos, nós realmente lutamos. E lembre-se de nós, quando poderíamos ter
andado neste avião e não nos preocupar se caíssemos. Bem, agora, quando você desce o avião, você começa a cair. Mas não se preocupe. Adicionando um pouco de regras e restrições para o jogo realmente às vezes torná-lo, torna mais divertido. Basta olhar para Dark Souls e como é difícil e como fábricas divertidas e largura. Não vamos perder mais tempo e vamos começar. Oh, caso. Então, atualmente, quando jogamos, nosso jogador sobe a rampa e quando ele tenta descer, bem, ele realmente fica lá. E você pode ver a sombra dele bem aqui. Então o que queremos fazer é que realmente queremos começar a colocar o nosso jogador baixo sempre que subimos uma rampa ou tentamos fazer alguma coisa. Então nosso objetivo é adicionar gravidade ao nosso jogador. Agora, vamos falar sobre o que é a gravidade e como ela funciona. Então é assim que a gravidade funciona. Eu não tenho certeza se você se lembra desta fórmula do ensino médio, mas esta é a diferença da distância, que é y, xi, que está no eixo y. E é o g, ou um sobre duas vezes g G é a gravidade vezes t para o poder dois. E temos tudo isso. Temos g como o poder da gravidade na Terra, que é 9.81. Acho que é um número longo, mas 9.81. E então temos t, que é o tempo, que é o time.DeltaMe, cada um e cada quadro único. Então vamos em frente e implementar esta fórmula em nosso código. Então a primeira coisa que vamos fazer é criar uma referência aqui para manter o controle da velocidade do nosso jogador. Então vamos criar um fator público três. E esta vai ser a velocidade. A próxima coisa que vamos fazer é adicionar esta equação ou aplicar esta equação nos movimentos do jogador. Então nós vamos para o movimento do jogador, nós clicar duas vezes sobre ele e nós podemos realmente rolar para baixo e ver onde isso está. E depois de aplicarmos o movimento de nossas entradas, então
vamos e criamos, obtemos a velocidade. Nós acessamos o ponto prag y. e isso nos permite acessar o componente y do vetor. E nós vamos escrever aqui mais iguais,
porque é, a gravidade aumenta à medida que caímos. Física. Dot gravidade, ponto y. E isso significa que é a física real da unidade é Motor. Então, se você passar o mouse sobre o motor Unity Dot Physics, nós acessamos a gravidade. E aqui podemos multiplicar isso pela matemática. Matemática F dot pow, pow, o que significa que podemos adicionar poder. Então você pode ver aqui que ele retorna F elevado para a potência p. E o que deveria ser? Bem, vai ser a hora. DeltaTimo levantou o poder dos dois. Muito agradável. Nós não queremos ser incomodando com, com a adição do 0.5. agora. Não é tão grande de um D. E a
próxima coisa que vamos fazer é acessar meu controle. E vamos adicionar isso ao movimento do nosso jogador. Então agora meu controlador esse movimento também é afetado pela gravidade. Então vamos para a Unidade e vamos testar esta gravidade. Então vamos em frente e clique no jogo. E vou anotar algo antes de continuarmos este material de arma No.1 é o material para os inimigos. Então vamos chamar isso de materiais do NMI. Espero que ninguém tenha notado isso. Farei isso sem que ninguém veja. Então vamos guardar isso. Vamos tocar no play. E agora, sempre que
andamos, subimos esta rampa. E quando descermos, vamos clicar no jogador e ver a velocidade. Então está aumentando e agora caímos. Muito agradável. E se sairmos da borda, cortejamos, começamos a cair. Mas há algo realmente errado aqui. Se clicarmos no jogo, podemos ver isso porque a velocidade aqui é um vetor de três. Então temos o 0, bem, temos o X, o Y e o deserto. O Y continua aumentando mesmo quando paramos de nos mover. Então, mesmo que estejamos parados, a velocidade continua aumentando, aumentando e aumentando. E isso torna a queda muito rápida e não muito natural. Então precisaremos ser capazes de redefinir nossa gravidade sempre que realmente começarmos a ficar no chão. E este vai ser o teu desafio. Seu desafio será redefinir a gravidade se o personagem estiver de castigo. Portanto, encontre o método que permite verificar se o controlador de caracteres está aterrado. Este será um desafio baseado em pesquisa. Você vai precisar sair do seu caminho e realmente tentar encontrar um método que eu não lhe ensinei ainda. Então redefina a velocidade da gravidade para o controlador de caracteres. E se o, isso deve ser se o controlador de personagem está aterrado e eu vou apenas dar-lhe uma dica de qual a velocidade deve ser. Deve ser física pontilhada gravidade ponto y vezes time.DeltaTatime. Agora, não precisa ser o valor exato, mas você pode usar isso muito bem e funciona. Então pausar o vídeo e, em seguida, ir em frente e fazer algumas pesquisas, descobrir o que você precisa. Tudo o que precisa está aqui. Então, vemo-nos daqui a pouco. O k caminhando para trás. Então, a primeira coisa que precisamos fazer é verificar se o nosso Controlador de Personagens está realmente aterrado. E se você fez sua pesquisa, você teria descoberto que meu controlador de personagem tem a opção de verificar se ele está de castigo. E o controlador de personagem tocou o chão durante o último movimento? Então ele estava de castigo? Sim ou não? E se ele estiver de castigo, vamos pegar essa velocidade e acessaremos o componente y nela. E nós vamos fazer isso física. Gravidade, dessa vez. Oops, nenhum ponto y vezes tempo.DeltaTatime. Então agora temos a velocidade aqui aumentando lentamente mas seguramente com a equação física correta para a gravidade. E então, se o meu controle estiver realmente aterrado no chão, vamos parar tudo isso e então vamos reiniciá-lo. Agora não tem que ser a gravidade física ponto y vezes time.DeltaTatime. Acabei de fazer desta forma. Para torná-lo muito mais realista, você só pode configurá-lo para, digamos menos1 ou algo assim. Mas vamos testar isto e ver se funciona. Então, quando batemos em jogo, devemos ver que nossa gravidade está em menos 0,1, o que é bastante razoável. E agora, quando caímos, caímos muito mais devagar e razoavelmente. E vamos dar uma olhada neste y aqui. Então, quando realmente começamos a cair, isso deve estar aumentando. Então aumenta. Mas então ele reinicia quando atingimos o chão. Então, novamente, ele reinicia quando atingimos o chão. Antiincrustação é na verdade muito mais agradável. Mas se você pode ver agora, quando tentamos cair, é mais como deslizar por aí. E não queremos isso. Queremos uma maneira de controlar a gravidade. Então vamos em frente e criar uma variável que nos permitirá modificar nossa gravidade. Então vamos abrir o roteiro do jogador, vamos subir aqui. E vamos apenas ir em frente e separar isso e chamá-lo de adição de gravidade. E aqui embaixo vamos criar um carro alegórico público. E vamos chamá-lo de modificador de gravidade. Então teremos um modificador de gravidade aqui que é público e podemos controlar. E aqui em baixo nós vamos em frente e multiplicar nossa velocidade pelo modificador de gravidade. Vamos guardar isso. E agora de volta à Unidade, temos este modificador de gravidade bem aqui. Então agora, agora porque é 0, isso não vai funcionar. Eu acho que você nem vai estar flutuando. Ops, bem, ele flutua, mas se multiplicarmos por cinco, ele deve começar a cair muito mais rápido. Sim, lá vamos nós. Então agora a gravidade trabalha mais forte no nosso jogador. Sempre que ele cair, podemos fazer isso talvez dez se você quiser. Assim, a gravidade será muito mais rápida. Então agora nosso jogador cai mais rápido no chão. Então isso será um desafio para você. Um desafio extra para ir em frente e modificar sua gravidade tanto quanto você acha que quer que seu jogo tenha. Então eu vou mantê-lo em torno de 30. E acho que é um bom modificador de gravidade. Espero que tenham gostado do vídeo. No próximo vídeo, a progressão óbvia é agora que temos gravidade para começar a definir essa gravidade saltando. Então, vemo-nos na próxima.
22. Salve: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos definir a gravidade. Vamos ser definidos a força da gravidade adicionando uma mecânica de salto. Agora, vai ser mais um salto estilo saltando. Então vamos aprender um monte de coisas sobre camadas, saltos, fórmula para o salto. Então não vamos perder mais tempo e vamos começar. Então a primeira coisa que vamos fazer é abrir nosso roteiro. E aqui, depois de movermos nossa câmera, ou isso não importa, vamos criar um método chamado Jump. E vamos criar um salto vazio. E vamos abrir os nossos suportes. E aqui vamos pegar uma certa entrada do botão de salto. E quando
obtivermos essa entrada, vamos adicionar velocidade na direção y. Então, o que devemos estar usando enquanto temos este pequeno método aqui que é chamado o botão de entrada ponto get down. E se você ler a descrição, você pode ver que ele retorna o verdadeiro durante o quadro, o usuário pressionou o botão virtual identificado pelo nome do botão. Então eles estão nos pedindo um nome de botão. E felizmente temos em unidade, se formos para a edição, vai procurar configurações do projeto. Temos este botão de salto aqui que é usado com o botão positivo sendo espaço. Agora temos outro botão de salto aqui. E geralmente o segundo salto é usado com um joystick, então é para um console ou algum tipo de coisa. Então agora temos o salto e vamos voltar para o nosso jogo ou um roteiro R. E aqui vamos escrever se entrada,
ponto get, mas substantivo, get, botão para baixo. E vai pedir-nos o nome da string. Então vamos para o porque é uma referência de string e podemos copiá-lo. Então vamos copiar isto. E vamos colá-lo aqui. E o que vamos fazer e aqui? Bem, vamos adicionar uma certa velocidade na direção y, e será igual à altura do salto. E essa altura de salto será uma variável que vamos criar aqui em cima. Então aqui vamos criar uma altura pública de salto flutuante. E vamos em frente e definir para dez. Não sei o quanto deve ser, mas por enquanto vamos mantê-lo às 10h. Muito bom. Agora vamos voltar para a Unidade. Vamos em frente e fechar este gerenciador de entrada. E vamos brincar e ver se funcionou. Então, agora podemos atirar, podemos nos mover. Também temos gravidade. E quando pressionamos a barra de espaço, acho que nosso salto exagerou um pouco. Então, vamos consertar isso. Então, se entrarmos no jogador, vamos reduzir isso para dois. E nós pulamos. E sim, isso parece mais razoável, mas ainda há muitos problemas. Então, em primeiro lugar, parece estranho. Segundo, guerra com andar e, às vezes, o salto não funciona. Então, quando chegarmos ao espaço não funciona. Então este é um segundo problema. E o último problema e o mais inovador Um é que podemos saltar e continuar saltando,
pode continuar pulando estava pressionando a barra de espaço para o infinito. E quando paramos, caímos. Desculpe, há algumas inconsistências com o nosso salto. Em primeiro lugar, queremos abordar a capacidade de saltar infinitamente, e isso será abordado usando algo chamado uma esfera sobreposta. Então, o que é uma esfera sobreposta? Deixe-me mostrar-lhe aqui na documentação. Então física ponto sobrepõe-se esfera. Tem os parâmetros da posição ou o centro da esfera. Tem um certo raio, que é o raio da nossa esfera. E também pode tomar uma máscara de camada. Assim, esta máscara de camada permite que ela interaja apenas com certos tipos de camadas. E o que ele faz realmente retorna uma matriz com colisores tocando ou dentro da esfera. Então, o que é um array? Embora ainda não tenhamos falado sobre arrays, vamos aprofundar muito neles. Mas por enquanto, apenas como uma explicação simples, ou levantar ou como uma tabela que tem dentro de seus valores. E este ponto da física sobrepõe os retornos do medo. Esses valores ou esses objetos que estão dentro da esfera. E por que estamos usando esfera de sobreposição? Enquanto porque queremos contar os objetos que esta esfera de sobreposição está tocando. E se ele está tocando algo sob a camada de solo, então, e só então vamos permitir que nossa esfera ou permitir que nosso jogador salte. Então, se ele está no ar e ele não está tocando em nada do subterrâneo, então ele não será capaz de saltar. Então vamos verificar quanto estão dentro dessas matrizes. Se não houver nada lá, não
seremos capazes de saltar. Com isso dito, vamos em frente e começar a criar um par, um par de variáveis para tudo isso. Então, de volta ao nosso jogo, vamos mover isso e vamos chamar isso de seção de salto. Só assim temos um pouco mais organização também irá nomear todos estes mais tarde. Mas, por enquanto, vamos criar um booleano privado. E vai ser chamado pronto para saltar. Muito agradável. Então, agora, se pressionarmos o botão de salto e estivermos prontos para saltar, então seremos capazes de saltar. Então, sempre que quisermos adicionar uma segunda condição ao lado de qualquer condição aqui é, podemos adicionar esses pequenos e marcas. A próxima coisa que vamos fazer é que vamos, antes de criarmos qualquer coisa aqui em unidade, vamos adicionar o centro da nossa esfera. Então este vai ser um objeto de jogo vazio que é chamado de rodada. E já está no fundo do nosso jogador. Então é aqui que nossa esfera vai ser
criada para que possamos até movê-la um pouco para baixo. E aqui, a esfera será criada,
criada em torno deste objeto de jogo. E vai estar a verificar o chão. Vamos salvar isso de volta em unidade, e vamos em frente e obter uma referência a ele. Então, transforme em público, e nós simplesmente chamaremos de “bolsa”. E outra coisa que precisamos é da máscara. Então vamos criar uma máscara de camada pública e ela
vai ser a chamada camada de terra. E finalmente, também precisaremos criar um carro alegórico público. Flutuador, distância do solo. Então distância do solo, e vamos ajustá-lo para, digamos 0,5 apenas por agora. Ok, ótimo. Então, agora que temos tudo isso, próxima coisa que precisamos fazer é ir em frente e criar uma camada para o chão e colocar todos os objetos em nosso ambiente no chão. E na verdade faz parte do seu desafio. Seu desafio é criar um terreno. Em primeiro lugar, vá em frente e crie uma camada de solo. Se vocês se lembram de como criamos camadas, deixe-me mostrar se alguns de vocês se esqueceram. Assim como criamos tags aqui, podemos ir para a camada, podemos ir para a camada de edição. E você pode ver que temos a opção de criar tags, Classificando Camadas e, claro, as camadas aqui. Então, crie uma camada de terra, defina todos os objetos no ambiente para o chão e atribua a camada de solo à máscara de camada e aos jogadores e espectro. E se você quiser ir ainda mais longe, você pode ir em frente e implementar essas esferas sobrepostas. Agora você pode obter alguns erros. Você pode não entender o que está acontecendo. Não se preocupe com isso, basta chegar a um certo ponto. Bem, você foi realmente adicionar esta camada de sobreposição de pontos física se você quiser, se você quiser assumir esse desafio extra. Mas por enquanto, vá em frente, pause o vídeo e crie um coral. Oh, ok, bem-vindo de volta. Como você se saiu com isso? Espero que estejam a dedicar algum tempo a fazer estes desafios, porque eles são muito importantes. Então agora temos o terreno. E quando você faz o desafio,
ele fica enraizado em sua mente mesmo quando você falha. Então, de volta ao nosso jogador, e agora precisamos dar-lhe o transporte terrestre. E a camada do solo precisa ser ajustada no chão. E o que mais deveríamos estar fazendo em nada, terminamos aqui, eu acreditava. Agora, de volta à Unidade, espero que tentem criar a esfera sobreposta. Então, qual será a esfera sobreposta? Enquanto nós estamos indo para criar física ponto sobreposição esfera. E aqui, em primeiro lugar, vai precisar da origem. Claro que temos a posição do ponto de base como a origem. Precisamos do raio, por isso vai ser a distância do solo. E, finalmente, ele vai precisar de uma máscara de camada, que vai ser, claro, a camada de terra. Agora, se você chegou a este ponto, muito bom. Eu parabenizo você. O que devemos fazer a seguir? Bem, agora temos essa esfera sobreposta. Com uma origem um certo raio, e apenas verificando o solo. Então isso irá retornar algum tipo de uma matriz ou a quantidade que temos dentro de nossa esfera. Então nós queremos verificar se o comprimento desta matriz, então se o comprimento dos objetos, se a quantidade de objetos e o lado da esfera é maior que 0, isso significa que estamos tocando algum tipo de solo, então nosso saltar vai ser igual a verdadeiro. Então isso significa que ele é atribuído o valor desta condição bem aqui. E se for verdade, isso retorna verdadeiro. Então estamos prontos para saltar e pressionamos o botão, e então saltamos. Mas se não tivermos nada dentro desta esfera sobreposta e o comprimento for menor que 0, então pronto para saltar será igual a falso e não seremos capazes de saltar. Muito agradável. Vamos testar isso e ver se esquecemos de salvar tudo isso. E agora, de volta à unidade, vamos acertar o jogo. E vamos ver se conseguimos multi-salto. Então saltamos, saltamos e não estamos pulando. Então, oh, ok, então o grande problema que pode ser feito e eu espero que você não tenha feito o mesmo problema. Foi mesmo no desafio, precisamos colocar todos os nossos objetos no ambiente no chão. Você não pode acreditar quanto tempo eu levei para entender. Mas como pode ver, até o grande instrutor Michael comete erros. Então agora k, Então agora devemos ser capazes de saltar muito alto, OK, mas porque o salto é redefinido, vamos colocá-lo de volta para dois, ou talvez até mesmo para um apenas para teste. Então, batemos no jogo e agora saltamos, e não podemos pular várias vezes a menos que estejamos no chão. Agora, ainda há algumas coisas. Em primeiro lugar, o salto é estranho por algum motivo. E a segunda coisa é que sempre que estamos nos movendo, às vezes quando atingimos a barra de espaço, ela não está respondendo muito rápido. Primeiro de tudo, vamos resolver o problema do salto esquisito. Agora, após o desafio, temos a altura afetada pela gravidade. Então, qual é a velocidade real que queremos adicionar quando saltarmos? Como esta é a fórmula. Então a velocidade é igual à raiz quadrada de menos duas vezes a altura do salto que queremos vezes a gravidade. Agora, alguns de vocês podem estar olhando para mim ou para esta fórmula e pensando whoa, minus2 e site sobre a raiz quadrada, isso nunca acontece. Bem, porque a gravidade é menos 9.81, isso significa que todo este valor e aqui é positivo. Isso significa que podemos usar a raiz quadrada. matemática nunca mente. Então vamos em frente e implementar esta fórmula de volta em nosso jogo, volta em nosso script. Em vez de o ponto de velocidade y ser o tubo de salto, vai ser a matemática f, uma raiz quadrada de ponto. E dentro da raiz quadrada, vamos usar a altura do salto. Nós vamos multiplicá-lo por menos dois f. e nós vamos estar acessando o ponto de gravidade física ponto y, k. Muito bom. E como toque final, vamos torná-lo taxa de quadros e dependente. E isso, é claro,
mudará o valor da nossa altura de salto. Agora, como um passo final, ou vamos apenas testar isto e ver como funciona. E acho que precisaremos fazer a altura do salto pelo menos 15. Então ele tinha jogado. E agora, quando nos movemos, você pode ver que nosso salto é muito mais natural. Deixe-me fazer este 100 só para saltarmos de verdade. Então nosso salto é muito natural, muito mais natural agora. Mas o problema ainda é que nós não estamos pulando toda vez que você quiser. E é porque temos essa velocidade aqui, então estamos definindo. Mas à medida que estamos atualizando e nosso jogador se move, também
estamos mudando a velocidade. Então há um conflito entre a velocidade que estamos adicionando ao salto e a velocidade que estamos adicionando aqui. E às vezes a velocidade do salto está se sobrepondo. Então, a maneira como corrigimos isso, nós simplesmente terminamos aqui, meu movimento de ponto do controlador, e nós atualizamos a velocidade em nosso Controlador de Personagens. E agora, quando apertamos Play, devemos ver que quando pressionamos o botão play, nos movemos. E assim que pressionamos o botão de espaço, nós realmente pulamos. E como toque final, vamos fazer 100. Vamos guardar isso. E deixe-me mostrar-lhe uma pequena experiência que ela pode fazer. Então vamos escolher este cubo, vai torná-lo um jogador padrão. Vamos tocar no play. E agora podemos pular no avião, pular nessa rampa. Mas quando chegarmos a este cubo, não podemos saltar. Tão bom agora que sabemos como tudo isso funciona, podemos ir em frente e, finalmente, ir para a nossa árvore de origem e todas as nossas mudanças não confirmadas e adicionou a capacidade de saltar. Muito agradável. No próximo vídeo, vamos criar um mecânico agachado. Isso muda de volta para o chão sable que vamos adicionar a mecânica agachada e vamos estar brincando com a escala do nosso jogador. Vemo-nos no próximo vídeo.
23. Crouching: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos implementar a mecânica agachada. Então vamos abrir as cenas ao lado do jogo. E quando batemos no jogo, você pode ver nossos jogadores, então ele está normal agora. Mas quando pressionamos a tecla Alt esquerda, você pode ver que ele se transforma em um pequeno munchkins. Então agora podemos nos mover e enquanto estamos nos movendo, podemos começar o agachamento. E como você notou, nossa velocidade também é reduzida sempre que estamos agachados. Então não vamos perder mais tempo e vamos começar. Oh, ok, então é hora de começar a corromper. Agora, como vamos fazer isso? Então, se entrarmos no jogador, podemos ver que aqui temos a escala e podemos manipular a escala do nosso jogador. E é exatamente isso que vamos fazer. Então agora você pode ver que o jogador tem uma escala de um no eixo X, eixo y e eixo z. E o que vamos fazer é pegar a escala
no eixo y e reduzi-la para metade. Então agora temos um pequeno rapaz fixe. E assim nós vamos ser capazes de agachar-se e mover-se sob certos objetos como o nosso, onde está o nosso limbo? Bem ali, se você se lembra, nós criamos no início do curso, tão grande. Vamos manipular a escala do nosso jogador e dividi-la pela metade. Então a primeira coisa que vamos fazer é entrar no roteiro do jogador. Vamos criar uma seção aqui para os agachados. E sob ele vamos criar nosso primeiro vetor privado três. E esta vai ser a nossa escala de agachamento. E essa escala agachada será igual a um novo vetor três. E no eixo x não vamos mudar nada. No eixo y. Nós vamos fazer 0,05. E no eixo Zed, ele vai ficar em um. Vamos guardar isso. A próxima coisa que queremos fazer é pegar a escala
do jogador inicialmente antes de começarmos a agachar. Então vamos criar outro vetor privado três, e vamos chamar essa escala de camada profunda. E agora o que vamos fazer é dentro do método de início, vamos definir nossa escala inicial de jogador. Então, no início, vamos criar o café ou obter a variável da escala de jogadores. E nós vamos acessar a transformação do jogador e obter a escala local a partir daí. Então agora temos a escala real no início. Ok, bem feito. A próxima coisa que vamos fazer é ir para uma atualização, criar um método. Esse é o agachado, agachado. E nós vamos gerar esse método. Então gere o jogador agachado. E vamos apagar o que quer que isto esteja aqui. E como vamos ficar agachados? Bem, vamos usar a tecla Alt esquerda, e esta é a chave padrão para a virilha. Agora o problema de usar a tecla antiga esquerda é que não temos nenhum botão. Por isto. Vamos usar algo chamado código chave. E um código de tecla é uma maneira de, que nos permite mapear as teclas físicas em um teclado. E temos dois tipos de chaves. Então temos a entrada Schottky para baixo e temos o gatekeeper ponto de entrada para cima. Então, qual é a diferença entre eles? É uma diferença que pode ser muito familiar. Então, quando obtemos a entrada Schottky para baixo, isso retorna um verdadeiro durante o quadro o usuário começa a pressionar para baixo a tecla. Então, quando começamos a pressionar o Alt, queremos estar agachados e a tecla é identificada por um nome que eu vou mostrar em apenas um pouco. E outra coisa que podemos fazer é nós, ou outra opção que temos é a chave para cima. E isso retorna true durante o quadro que o usuário libera a chave. Sempre que lançamos o velho, queremos que nossos jogadores parem de agachar-se. Então vamos em frente e fazer isso. Nós vamos criar dois métodos que vão ser
o início agachado e o parar de agachar. E vamos colocá-los dentro destas duas condições. Então, a primeira condição se vai ser o ponto de entrada get key down. E vamos acessar o código da chave. E isso nos permitirá obter qualquer chave que quisermos. Então, se começarmos a escrever à esquerda, você pode ver que ele nos dá todas as opções à esquerda. Janelas esquerdas, controle esquerdo, esquerda. Não sei o que é Apple. De qualquer forma, esquerda é o que precisamos. E aqui vamos começar a agachar-nos. E sob ele vamos criar outra condição se. E aqui estamos indo para obter o ponto de entrada, obter chave para cima usando o código de chave. Ri. E nós vamos parar, parar. Agachado. Ok, ótimo. Então, agora que temos todos estes estabelecidos, o próximo passo natural é realmente ir em frente e criar o agachamento armazenado. Então, aqui em cima, vamos em frente e gerar esse método. E vamos em frente. E aqui vamos implementar o mecânico agachado. E agora vamos gerar esses top agachados. Então irá gerar este método também. E deixe-me apenas mover este top agachado sob o início agachado. Parece mais natural. Ok, ótimo. Então agora temos esses dois métodos e o que vamos fazer dentro deles? Bem, é muito simples. Vamos apenas pegar a escala local. Assim, a escala local de ponto de transformação será igual à escala agachada. E quando pararmos de
agachar-nos, vamos recuperar a nossa transformação, tanto em escala local e vamos ajustá-la de volta à nossa escala de jogadores original. Ok, ótimo. Então vamos em frente e testar isso em Unity. Agora vai haver apenas um pequeno problema aqui. E eu vou te mostrar o que é isso. Então, quando pressionamos Play, e você pode ver que sempre que pressionamos a tecla ALT, nosso jogador fica muito menor. E eu só queria te mostrar como tudo isso funciona. Então nosso jogador tem sua arma, seus óculos legais, e quando clicamos na tecla Alt, ele se torna um pequeno duende, e ele realmente também pode atirar. Então o problema é, o que eu queria mostrar a vocês é que sempre que estamos segurando a tecla ALT e pressione w é um atalho para as janelas, e agora temos que parar de usá-lo. Bem, podemos usar o CQI se você quiser, ou você pode sempre ter certeza de que você aperta a tecla W antes de começar a se agachar. Certo, ótimo, então agora podemos nos mover. Podemos apertar a tecla ALT e também abrir ativos quando tivemos alt e um, mas não se preocupa com isso. E talvez devêssemos fazer este limbo um pouco menor. Agora, a outra coisa que queremos mudar, deixe-me falar do jogo aqui atrás. A outra coisa que queremos mudar é quando estamos agachados, queremos realmente fazer nossa velocidade um pouco menor. Então, em vez
de ser, de ter isso, enquanto que a velocidade como uma velocidade normal, queremos reduzi-la e queremos ter uma velocidade agachada sempre que estamos agachados. E vai fazer parte do seu desafio. Seu desafio é controlar a velocidade de agachamento. Então, primeiro de tudo, crie uma variável de velocidade agachada, assim como fizemos com a velocidade normal. Então você precisará criar um booleano que verifica se estamos agachados. Então você precisará criar um booleano e você precisará
alterá-lo com base em se estamos agachados, se não estamos mais agachados. E então você precisará multiplicar o movimento pela velocidade
agachada e não a velocidade normal usando a condição else. Então crie uma variável para a velocidade, crie um booleano para o agachamento. E quando estamos agachados, então você precisa criar uma condição else-if dentro do movimento do jogador. E nós, quando estamos nos aproximando da velocidade ou o movimento será multiplicado pela velocidade agachada. Pause o vídeo agora mesmo e vá fazer o desafio. Oh, ok, bem-vindo de volta. Então a primeira coisa que vamos fazer é aqui em cima ou quer saber, vamos mantê-lo aqui embaixo. Vamos criar um carro alegórico público. Flutua, por favor. E vamos chamar isso de velocidade agachada. E vai ser igual a seis f só por agora. E a próxima coisa que vamos fazer é criar um bool privado. E vamos chamar isso de “está agachado”. E, por enquanto, vamos defini-lo como falso, porque no início da agricultura, é
claro, o agachamento será falso. Assim é agachar-se é igual a falso. E agora, sempre que todos nós agachados, Nós vamos definir o, é agachado para verdade. Quando paramos de agachar, foram simplesmente disse que isso é agachar-se para falso. E finalmente, e nosso, onde está o movimento do jogador? Então aqui, podemos ver que estamos sempre multiplicando o movimento pela velocidade normal. Bem, não mais porque vamos criar uma condição se aqui e vamos verificar se está agachado. Agachar-se, agachar-se é verdade. Então, neste caso, nosso movimento, deixe-me copiar tudo isso, copiar esta linha. Nosso movimento será igual ao movimento vezes a velocidade de agachamento. Senão, vamos usar o movimento vezes a velocidade normal. E vamos salvar tudo isso. Vamos voltar para a Unidade. Vamos tocar no Play. E agora devemos ver que temos uma multidão acelera em algum lugar aqui. Então a velocidade da muleta é seis, então agora nos movemos com uma certa velocidade. E quando começamos a agachar, você pode ver que nosso movimento é muito mais lento e isso é exatamente o que queremos. Então, você sabe, sempre que você está jogando videogame, sempre que você começa a agachar sua velocidade de jogadores é realmente reduzida e é muito normal e realista. E agora a coisa que precisamos consertar é, na verdade, sempre que estamos agachados, você pode ver que nossa arma também está sendo esmagada e também sendo dividida por dois. E isso não é uma coisa boa, porque mais tarde vamos adicionar armas muito legais. E essas armas vão ser esmagadas também, que não é o que queremos. Então, no próximo vídeo, vamos separar o agachamento ou a redução de escala do nosso jogador das armas e tudo isso. Vemo-nos no próximo vídeo.
24. Crouching (parte 2): Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, se você se lembra no vídeo anterior, sempre que nos agachávamos, nossa arma ficou muito menor. Mas agora, quando nos agachamos, o
argônio fica do mesmo tamanho e podemos ver essas pequenas linhas aqui. Vamos consertar isso, talvez mais tarde. Mas, por enquanto, estamos fora, permanece do mesmo tamanho, ainda assim somos capazes de agachar e ir sob certos objetos e nossa velocidade é reduzida. Então não vamos perder mais tempo e vamos começar. Certo, então qual é o propósito deste vídeo? Durante sua jornada de desenvolvimento de jogos ou quando você realmente se tornar um desenvolvedor de jogos, você notará que às vezes existem soluções diferentes para o seu problema. Ou sempre que você cria uma determinada mecânica de jogo, há problemas que você precisa corrigir. E aqui é exatamente onde. Bem, este é o caso. Inicialmente, eu queria simplesmente ir em frente e criar apenas este vídeo. Mas agora, como eu passei por isso e eu encontrei esse problema, eu realmente queria levá-lo através do processo de
fixação de várias mecânicas de jogo assim. Então agora, se você se lembra do vídeo anterior, sempre que nos agachamos, você pode ver que nossa arma fica mais fina e isso não é bom. Então este é um problema criado por um mecânico que adicionamos. Então, o que vamos fazer sobre isso? Bem, em vez de reduzir o tamanho do jogador, vamos apenas reduzir o corpo do jogador. E então vamos mover a cabeça para baixo. E, finalmente, vamos reduzir a altura do controlador de caracteres. Agora, todos estes são descobertos através de experimentação, mas eu não vou estar sentado aqui e experimentar com você. Vou mostrar-lhe como vamos em frente e pensar sobre tudo isso. Então, em primeiro lugar, pegamos o corpo, queremos reduzir, é claro, na escala do nosso corpo pela metade. Quando fizermos isso, notaremos que altura do
nosso Controlador de Personagens ainda é do mesmo tamanho e ainda interage com o limbo bem aqui. E antes de continuarmos, deixe-me mover este limbo um pouco para cima para que possamos realmente fazer isso maior e também aumentar o tamanho deste cubo bem aqui. Ok, ótimo. Agora temos o corpo a ser reduzido pela metade, e temos os controladores a esconderem-se a ser reduzidos pela metade. E depois temos a cabeça. Então, porque a cabeça não está presa ao corpo, quando reduzimos a escala do corpo, a cabeça permanecerá em seu lugar. Então, o que vamos fazer é, na verdade, também vamos mover a cabeça, no entanto. Ótima. E agora vamos começar com tudo isso. Em nosso roteiro, vamos seguir em frente e enquanto o agachamento, então em vez da escala do jogador, vamos chamar isso de Escala do Corpo. essa é uma ótima oportunidade para te mostrar algo muito legal. Então vamos dizer que queremos mudar a escala do jogador para a escala corporal. Como podemos fazer isso? E mudar também todas as diferentes referências aqui. Então vamos precisar mudar este e este aqui e este aqui dentro. Então digamos que temos 100 referências. Como mudamos todos eles? Bem, muito simples. Clique duas vezes na escala do jogador, tinha controle ou R. E agora isso permitirá que você modifique isso. Então vamos nomear esta escala corporal e todas as referências são alteradas também. E aplicaremos tudo isso. A próxima coisa que vamos fazer é criar uma referência ao corpo real. Então aqui vamos criar uma transformação pública. E chamaremos isso de meu corpo. E sob ele também vai obter, criar uma altura de controlador inicial inclinado privado. Então agora temos a altura inicial do controlador. Temos uma referência ao corpo, e temos o corpo escalado. A próxima coisa que vamos fazer aqui, vamos mudar da escala corporal que é igual à transformação. Vai ser o meu corpo. Então, vai ser a escala inicial do corpo em nosso jogador também vai definir aqui a altura do controlador inicial como o microcontrolador. Bem, altura dos pontos. Ótima. Agora vamos começar a agachar-se. E aqui, a transformação dessa escala local será mudada para minha escala corporal local. E será igual à escala de agachamento, que é metade do tamanho. E agora vamos mudar a posição da nossa câmera. Assim, a posição do ponto da cabeça da minha câmera será reduzida. Então este é o menos igual que aprendemos por um novo vetor. E este vetor vai ficar 0 na escala x. Vai reduzir a altura da câmara em 1.3. E no eixo zed não fará nada. Então Y1, Y1, 0.3. Bem, porque eu já fiz isso antes, então 1.3. E aqui você pode mudar a transformação digitando na verdade 1.3. E esta será a altura de nossa nova câmera, o que é perfeito porque nosso corpo também será reduzido. Então, de volta ao nosso roteiro, última coisa que deveríamos fazer é pegar meu controlador. Vamos acessar a altura e vamos dividi-la por dois. Assim, assim como menos é igual a obras, dividir igual funciona da mesma forma. Ele pega o microcontrolador, altura, divide por dois, e depois coloca de volta na altura do meu controlador. E vamos ver se tudo isso funciona. E, claro, é esmagador será igual a verdade. De volta ao nosso jogo. Vamos acertar o jogo. E espero que tudo isso funcione. Então agora, oh, nós não designamos o corpo. Então, em nosso console ele está nos dizendo que a variável meu corpo não foi atribuído e jogador, então jogador backend e vamos atribuí-lo o corpo, salvar tudo isso. Agora não devemos ter nenhum problema, espero. E antes de continuarmos, deixa-me encaixar isto aqui para podermos ver o jogador. Então agora nós podemos realmente agachar e você pode ver que temos o, então primeiro de tudo, o corpo só muda. Oops. Está bem. Então pare. Pare, por favor. Está bem. Você sabe o que? Não estou gostando disso. Vamos mudar o Alt esquerdo para o CQI. Ok, ótimo. Então guarde tudo isso no nosso jogo. E não teremos mais esse problema. E agora podemos ver que quando nos agachamos no lado esquerdo, você pode ver que a arma ainda é a mesma. Agora, talvez precisemos mover a cabeça um pouco para cima. E agora podemos nos mover. Podemos, então as gôndolas desaparecem debaixo do chão, o que não é bom. E agora podemos seguir em frente aqui estamos nos movendo a uma velocidade agachada. E quando removermos o CQI, você pode ver que ainda temos muitos problemas e isso vai ser parte do seu desafio, vai ser terminar este top agachado. Então você precisará colocar de volta a escala corporal em sua escala original. Você precisará colocar de volta a câmera posicionada para sua posição original. E você precisará colocar de volta a altura do controlador para sua altura original. Então pausar o vídeo agora e ir fazer cada raso. Ok, bem-vindo de volta. Então a primeira coisa que vamos fazer é colocar de volta a escala corporal. Então corpo, não, este deve ser o meu ponto corporal escala local é igual a escala corporal. Então esta será a nossa multi-escala inicial. E então vamos pegar o chapéu da câmera. Então esta é a posição da cabeça da câmera e nós simplesmente vamos mudar isso para um plus. E finalmente, vamos pegar minha altura de
ponto do controlador e vamos ajustá-lo de volta para sua inicial, inicial. Inicial, por favor. Vamos em frente e copiá-lo aqui. Então altura inicial do controlador, por algum motivo, Visual Studio simplesmente
não, não quer cooperar. E nós, é claro, vamos parar o agachamento. Vamos apenas adicionar um pouco de espaço entre estes para que eles não sejam apertados e encravados completamente. De volta ao nosso jogo. Agora, uma pequena coisa que eu gostaria de mudar é na verdade a altura de nossas câmeras. Então, agora, quando atingimos o CQI, estamos agachados. Quando libertamos, tudo volta à vida e é normal. Novamente. Agora a altura da câmera é um pouco irritante porque a arma está desaparecendo sob o chão, o que não é bom. Então, talvez possamos realmente reduzir isso de 1,3 para um. Então guarde tudo isso no nosso jogo. Vamos ver como isso parece. E agora, quando atingimos o CQI, sim, é muito melhor eu sinto que talvez possamos reduzi-lo. Bem, isso também pode depender da sua preferência. Então, como você quer que seu jogo seja realmente parecido? Quanto queres agachar-te sempre que apertares a tecla C? E talvez você não queira usar o CQI, talvez você queira usar o pico ou alce ou a tecla de saída. Eu não recomendo isso, mas você pode. Então, mas isso disse, Eu espero que você tenha gostado do vídeo. Antes de irmos, vamos encenar todos os nossos arquivos. Então, em mestres, temos as mudanças não comprometidas, em que estágio? Todos eles. Nós clicamos no commit e que, oops, um mecânico agachado, cometer tudo isso. No próximo vídeo, vamos aprender como podemos adicionar animações e novamente, então eu vou vê-lo no próximo Michael aqui do futuro. Então eu vi que, quando eu fiz a introdução, eu notei que sempre que estamos agachados, nós podemos ver essa linha preta bem aqui, que é muito irritante. Então, o que é isso? Bem, na verdade, se formos para o local, podemos ver que é a nossa cabeça aqui e está a atrapalhar a nossa câmara. Talvez para alguns de vocês seja muito maior do que isso pode ser para alguns de vocês. Já lá está há algum tempo. Espero que não. A maneira como consertamos isso é que podemos realmente ir para a câmera. E aqui podemos ver que temos algo chamado a máscara de abate. E essa máscara nos permite, às vezes, tirar as coisas da nossa visão. Então, se clicar no MEXT e ser removido chão, você pode ver que no modo de jogo não vemos mais nada que está sob a camada do solo. Então vamos fazer o mesmo adicionando algum tipo de camada aos olhos. Se você quiser encarar isso como um desafio, eu o encorajo a pausar o vídeo agora mesmo e ir fazer isso. Ok, o tempo acabou. Então vá para camadas, edite camadas, crie uma camada invisível. Tão visível. E agora de volta em nossos olhos vai definir a camada para o, Considerando que o invisível e visível. Então agora nossos olhos devem ser invisíveis. Vamos para a câmera principal, vamos para a chamada e removemos o invisível. Então agora, quando jogamos, espero que isso funcione primeiro desde a primeira vez e sim, nós não temos mais o Então alguns de vocês podem ter tido um monte de problemas com isso. Espero que não. Espero que fique segura e te vejo de novo no próximo vídeo.
25. Animações 101: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Eu sei que este vídeo é um pouco longo, mas é porque nós vamos aprender um monte de coisas novas e legais. Como podem ver, temos um Animator, temos a animação ociosa. Temos transições entre eles. Criamos nossa própria animação. Adicionamos um animador. Tínhamos feito tanto neste vídeo. E agora você pode ver que quando precisarmos de uma referência, você pode ver que fizemos a transição entre andar e ocioso. E quando estamos parados, respiramos, respiramos, respiramos, respiramos. E quando estamos caminhando, começamos a balançar mais rápido. Então tudo isso é possível por causa de animações. Então não vamos perder mais tempo. Este vídeo já é tão longo e lógico começa. O k animações. Por que vamos usar animações? Bem, atualmente, quando
jogamos, podemos ver que estamos simplesmente parados aqui e nada está acontecendo. E estamos, quando estamos caminhando. Além disso, nada está acontecendo. Então o que queremos fazer é realmente queremos adicionar um pouco de movimento, um pouco de bopping e nosso ganho. Assim como você vê um Call of Duty, sempre que estamos caminhando, a arma se move um pouco para cima e para baixo. E quando estamos correndo, o Khan se move mais para cima e para baixo. E quando estamos parados, bem, a arma,
apenas, o personagem, apenas respire para cima e para baixo. Então nós vamos estar adicionando animações para nossos jogadores tinham especificamente. E vamos movê-lo assim para cima e para baixo usando animações. Então vamos movê-lo assim e simular uma respiração. Ok, então o que são animações? O que precisamos para eles? E tudo isso esfria as coisas e nossos slides aqui, vamos falar sobre animações de 101. Primeiro de tudo, temos algo chamado controlador animador. E isso permite que você organize e mantenha um conjunto de clipes de animação. Então, o controlador animador é onde mantemos todas as nossas animações armazenadas e fazemos a transição da animação para a outra usando parâmetros que falaremos em apenas um pouco. A próxima coisa é o componente Animator. E sempre que queremos estimar um determinado objeto, ele requer um componente Animator. Dessa forma, podemos adicionar o controlador animador que criamos componente animador 2D. E então podemos ir em frente e criar animações. E animações são várias ações renderizadas uma após a outra. Então, o que eu quero dizer com ações e por que não dizer apenas posição? Bem, como você pode usar animação para modificar a rotação, você pode usar para modificar a posição, escala ,
cor, diferentes booleanos se quiser, você pode fazer muitas coisas com animação, e veremos isso mais tarde. Mas, por enquanto, vamos simplesmente mudar a posição. E, finalmente, fazemos a transição entre animações usando os parâmetros que mencionamos acima. E veremos os diferentes tipos de parâmetros e
também iremos acessá-los a partir do nosso script. Ok, ótimo. Agora vamos voltar para a Unidade e começar a animar o nosso jogador. Então, a primeira coisa que precisamos do que já temos essas duas guias aqui, que é, que são a animação e o inimigo ensinado. Se não os tiver, podemos entrar pela janela. Você pode entrar na animação e inalar. Você pode adicionar a animação e o animador. Ok, ótimo. Então, como começamos a animar? Bem, clicamos no jogador e clicamos aqui no botão Criar. E isso para começar a animar jogador, criar um Animador e um Clipe de Animação. Então, isso criará automaticamente um componente Animator em nosso player. E começará a criar o Eclipse. Então, clique em Criar. Ele precisará de uma determinada pasta. Então vamos criar uma nova pasta aqui. E estes são os bens e o nosso projeto. Então, nova pasta. E isto vai ser chamado de animações. E dentro daqui vamos criar uma pasta para o, eles são animações. E a primeira animação que vamos ter é o ocioso. Nós guardamos isso. E agora temos esta linha do tempo estranha aqui. E antes de falarmos sobre o Tyler, deixa-me mostrar-te o nosso animador. Você pode colocá-lo aqui se quiser ou em qualquer lugar que você quiser. Vamos colocá-lo ao lado da cena do jogo. Então você pode ver como a maneira como manipulamos ou nos movemos no animador, você pode realmente manter pressionado o botão do mouse ou o botão da roda do mouse e você pode se mover, você pode ampliar e diminuir o zoom. Então temos três ou quatro coisas bem aqui. Então, primeiro de tudo, nós temos a entrada, e isso é assim que começamos qualquer ganho, esta é a transição padrão que irá para os oligos. Então, assim que começarmos o jogo ou o jogador começará a animação, então temos qualquer estado. E aqui nós também podemos criar diferentes animações que irão fazer a transição de qualquer estado para qualquer estado entre um e nós temos a saída, então no x. Por enquanto, vamos simplesmente nos concentrar no ocioso. E nós realmente precisamos criar essa animação e adicionar o movimento, essa animação. Então, a maneira como fazemos isso, vamos voltar para a nossa cena, entrar no nosso jogador. E para começar a animar, você pode ver aqui podemos escolher qual animação queremos. Comece a animar. Vamos clicar neste botão vermelho bem aqui. Então, agora, o que quer que
façamos nesta linha do tempo, vamos ser gravados pelo animador. Então, qual é a animação ociosa? Bem, o que eu quero fazer, nós estamos atualmente nossa cabeça está em 2,5, então eu quero mover minha cabeça um pouco para cima e seguida, voltar para baixo a cada 1 segundo ou a cada dois segundos. Então vamos fazer esta linha do tempo aqui menor. Então esta é a 2.5ª marca. Ou 60 segundos. E também temos os quadros aqui. E então esta é a marca de 1 segundo, esta é a 1,3 e esta é a segunda marca. Então, na marca de 2 segundos, vamos mudar isso para 0,5 para 8,72. E você pode ver que nós adicionamos alguns nós aqui. Então este nó original é a posição inicial. Então, se pudermos mover a linha do tempo e ver como a animação parece. Então agora no segundo 0, temos a posição transformada aqui, 2,5. E à medida que nos movemos para a segunda ferramenta, podemos ver que ela se move lentamente até que se torne 2,7, a marca de 2 segundos. E, em seguida, na marca de 4 segundos, queremos voltar para 2,5. Mas um truque muito bacana sempre que você está criando animações e você quer mantê-los o mais suave possível. Você precisa copiar os nós iniciais, copiá-los, ir para a linha do tempo onde você deseja. Então está na marca de 4 segundos e simplesmente colado. Então agora podemos acertar o jogo e podemos ver como nosso jogador respira e sai movendo a cabeça para cima e para baixo. E quando terminar de animar, basta clicar no botão vermelho novamente. E agora temos a animação Barry. Legal. Agora, vamos parar com isso. Guarde isso, e vamos colocar o animador na verdade, eu quero colocá-lo aqui. Então isso pode não parecer muito bom. Então vou tentar o meu melhor. Amplie o máximo possível. Então, agora, quando batemos no jogo, devemos ver que nosso personagem está realmente respirando. Então deixe-me chegar perto de um desses, que não fique estável. Então você pode ver que nós subimos e descemos enquanto respiramos, mas ainda há um problema. Eu acho que você deve ter notado que a animação é um pouco desajeitada. Então, quando jogamos, você pode ver que ele se move para cima e de repente começa a se mover para baixo e não é tão suave quanto queremos, então podemos mudar. Então podemos escolher todos estes,
clique com o botão direito do mouse e ir para a tangente e torná-los lineares. Então agora o movimento é muito mais suave e melhor. Vamos ver isso em ação no nosso jogo. Então agora vamos passar para uma certa referência e você pode ver que respiramos, expiramos, respiramos e expira. E não se preocupe com o corte de armas através dos diferentes objetos. Oh, ok, ótimo. Então o que queremos fazer agora é realmente queremos
criar outra animação para a caminhada. Então, atualmente, estamos simplesmente respirando e saindo. Quando começamos a trabalhar, queremos fazer a transição para outra animação, que é a caminhada. Então, a forma como criamos outra animação, clique no jogador. Deveríamos ver a animação aqui. E se ele não for simplesmente para o console ou qualquer outra guia
e, em seguida, voltar e animação, certifique-se de que você tem o Player ativado. E então vamos clicar aqui e vamos criar um novo clipe. E nós estamos indo para ir para animação player de animação animação. E esta será a caminhada. Então andando, salve. E agora temos uma página em branco para começar a animar. Agora, como vamos animar o trabalho? Claro, isso depende de você, mas se você ainda é um iniciante, você não tem certeza de como animamos as coisas. Vou guiá-lo através do processo. Então o que eu quero fazer é a cada dez quadros, eu quero mover 0,5. Eu quero mover a cabeça 0,5. Então, na marca do período de tempo, oops, deixe-me clicar no registro. No quadro dez vamos para o 2.5. ou 55. E, em seguida, no aqui vamos voltar para 2.5. E então aqui vamos para 2.45. E finalmente, no quadro 0.4. ou 40, copiaremos a posição inicial e colaremos aqui. Então, agora, se batermos no jogo, esta é a nossa caminhada, é um Yankee. Então vamos salvar isso, vamos escolher tudo isso, botão direito em ambas as tangentes e torná-lo linear. Então guarde isso. Vamos tocar no play. Certo, agora temos esse tipo de animação de respiração e caminhada. É mais óbvio que estamos andando, então jogue. E pode não ser tão perceptível. Então respiramos. E quando o, enquanto não criamos a transição. Então, um animador, agora temos essa animação ambulante e podemos realmente criar transição da AIDL clicando com o botão direito sobre ela e fazer uma transição para a caminhada. E a transição de caminhada realmente requer se clicarmos na seta e aqui, essa transição de caminhada requer uma certa condição a ser cumprida. E a forma como criamos condições, como na seção Parâmetros. Então, se você possui camadas, certifique-se de que você está no parâmetro, você pode ir em frente e adicionar um parâmetro. Portanto, o parâmetro pode ser um float ou inteiro. Dessa forma, podemos escolher sempre que este flutuador ou inteiro ultrapassar um certo limite, vamos fazer a transição. Ou pode ser um booleano, ou pode ser um gatilho. Verá mais tarde o que são booleanos e gatilhos. Mas, por enquanto, queremos fazer a transição para o estado Caminhada ou a animação de caminhada sempre que a velocidade do jogador ultrapassar um determinado valor. Então vamos criar um flutuador e vamos chamar isso de velocidade de camada profunda. E agora, em nossa condição aqui, vamos clicar no mais. E a velocidade do jogador pode ser maior ou menor que. Então, quando a velocidade do jogador é maior do que um determinado número. E aqui vamos fazer a transição para o, para a animação ambulante. E da animação de caminhada fará a transição de volta para ocioso. Quando é que nunca? Vamos agora i, se você notou, Eu cliquei na segunda seta. Então esta é a flecha indo em direção à caminhada. Este é o erro indo de caminhar para o meio. E vamos adicionar uma outra condição aqui que sempre que a velocidade do jogador for menor que 0, agora, como vamos realmente fazer a transição? Em primeiro lugar, quais são os valores que precisaremos para fazer a transição? Bem, para conseguir isso entrará em nosso código. E vamos imprimir o nosso movimento. Então, enquanto o nosso movimento, e aqui antes de começar a se mover, podemos imprimir algo para o console clicando no log de depuração. E vamos simplesmente imprimir o movimento para sabermos
qual é a nossa velocidade sempre que andarmos e saberemos quando devemos estar em transição. Então vamos tocar no play. E podemos ver em nosso console aqui você pode ver que nossa animação é atualmente o ocioso. E quando estamos caminhando, deixe-me apenas, oh, há apenas um pequeno problema. Se formos para o console, podemos ver que o movimento é, na verdade, um vetor três. Então, a fim de obter o valor absoluto ou o valor total do vetor, podemos usar a magnitude e isso nos dará a soma de todos os vetores na direção específica que estamos movendo. Então, agora, quando
apertamos play, devemos ver um valor e é 0 porque estamos
parados quando começamos a nos mover, é cerca de 0,3. Então, se o nosso movimento ultrapassar, digamos 0.2. Digamos que se for mais de 0,2, porque nunca vai abaixo de 0,2. Ok, então 0.2. Então, se a velocidade do nosso jogador for maior, vamos voltar para o animador. Se a velocidade do nosso jogador for maior que 0,2, então vamos fazer a transição para a caminhada. E se o nosso, se estamos entrando, nossa velocidade de jogador é menor que 0,2, então vamos fazer a transição de volta para o ocioso. Agora, como vamos realmente definir este parâmetro de velocidade do jogador onde você pode estar confuso agora, mas isso é parte do seu desafio. Seu desafio vai definir o parâmetro V. Agora é sua primeira vez usando animadores e tudo isso. Eu recomendo que você vá em frente, abra a documentação do Unity e
veja as animações do animador e veja como você pode definir parâmetros. Mas eu vou te dizer, antes de tudo, você precisará criar uma referência ao nosso animador criando uma variável de tipo animador. Então, como sempre fazemos, criar uma referência ao animador, torná-lo público, é claro, e colocá-la no inspetor e no nosso jogador. A próxima coisa que você precisa fazer para definir o retardado que criamos como o movimento do nosso jogador e uma dica chegou lhe deu. Aqui está o fluxo ajustado. Então, o que eu recomendo que você faça para completar este desafio, precisamos ir para a documentação e você precisará procurar o animador, definir float e procurar a documentação da unidade lá você vai encontrar como você pode realmente definir o flutuador e será uma referência de string. Portanto, certifique-se de que os dois foram copiados corretamente. E vejo-te daqui a pouco. Ei, bem-vindo de volta. Então, uma pequena observação que eu quero fazer antes de seguir em frente é que talvez isso seja diferente para você. Então eu citei. É por isso que eu fiz o ve horas depuradas para que possamos ver o que a magnitude real e é. Então vai depender do seu jogo. Certo, com essa configuração aqui, vamos criar uma referência ao nosso animador, e vamos criá-la aqui. Então vai ser o público. E ele pode, ele pode falar. E vamos chamar isso de meu animador. E ele pode ser Tor. E aqui embaixo, sempre que estamos
nos movendo, vamos em frente e acessar meu animador, ponto set, whoops, dot set float. Então nós temos o conjunto booleano, nós temos este um gatilho, e nós temos o set float. E aqui precisamos de uma referência. Então, referência de string, vamos para a unidade, para o animador. Copie a velocidade do jogador para que saibamos que está 100% correta. E o valor que vamos dar a este parâmetro float é a magnitude real do ponto do movimento. E vamos em frente e salvar tudo isso agora talvez alguns de vocês possam ter chegado ao ponto bem aqui onde você pode definir o flutuador com o parâmetro certo. E talvez você tenha ficado preso aqui, embora já tenhamos feito isso. Mas se você tem pelo
menos duas tribos procurar por isso no carro alegórico e criar uma referência para o animador. Felicito você por tentar. Todos nós começamos em um certo ponto. Nós nenhum de nós nascemos profissionais. Isso disse, nós guardamos tudo isso de volta em nosso ganho, menos em jogo. E nós estamos agora e o k. Então nós esquecemos de colocar o animador no jogador, então seus egos salvam tudo isso. Agora estamos prontos para jogar, então aperte o play. E agora estamos parados. Nós somos ou então apresentamos sem e quando começamos a andar, oh, lá vai. Então começamos a andar e não é,
não estragar a menos que estejamos realmente perto de certos cubos para que possamos obter uma referência. Então, quando
paramos, podemos ver que respiramos, expiramos. E quando começamos a andar, de alguma forma, leva um pouco de tempo. Mas funciona. Você pode vê-lo no animador e você pode vê-lo no jogo. Agora, por que a transição não está sendo suave o suficiente? Bem, se clicarmos em uma das setas, podemos ver que temos a opção de remover o tempo de saída e temos uma certa duração de transição. Então este testamento faz o que significa. Ele tem o tempo de saída depois de um certo tempo sai. Então vamos desligar isso e a duração da transição, eu recomendo que você colocá-lo para 1,10. Isso tornará a transição muito mais rápida e de caminhar para ocioso, também removerá o tempo de saída e fará a transição 0.01. Vamos salvar isso. E agora devemos ver isso imediatamente. Assim que começamos a andar, vamos para a animação de caminhada. E lá vai você. Quando começamos a andar, quando paramos, estamos ociosos. Não, não é muito óbvio. Precisamos de um ponto de referência. Então, respiramos, expire. Você começa a andar e nós começamos a balançar. Ok, este não é o melhor lugar para fazer isso. Aqui dentro. Você pode ver que estamos caminhando até gays, ótimo. Isso não foi nenhum. O próximo passo é ir em frente e criar uma animação de sprinting, mas não estamos nem correndo. Então é isso que vamos fazer no próximo vídeo. Te vejo então. E não se esqueça de ficar Joel e encenar tudo, comprometer tudo adicionado. Primeiro, animações com um ponto de exclamação porque esta é uma parte muito importante da nossa jornada. Dito isso, no próximo vídeo, vamos começar a correr e te vejo depois.
26. Sprints: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo vamos adicionar este mecânico de impressão. Então, atualmente você pode ver que podemos andar, podemos ficar ociosos, ou podemos começar a correr por aí. Então você pode ver que nossa velocidade é muito maior. Então agora, como nos movemos pelo mundo, mas quando atingimos o CQI e de repente chegamos a um bots underwhelming. Então não vamos perder mais tempo e vamos começar. Oh, ok, então vamos começar com a corrida. Agora, eu acredito que este vídeo será muito fácil para alguns de vocês porque nós já quase cobrimos tudo isso. Então o que vamos fazer é subir
aqui e vamos criar outra variável, e vamos chamar isso de velocidade de corrida. E vai ser em torno de 25F porque será mais rápido do que a nossa velocidade normal. E nós vamos simplesmente ir em frente e tomar uma entrada dentro do movimento. E com base nessa entrada vai mudar o movimento ou vai mudar o que é multiplicado o movimento. Então aqui, se estamos agachando nosso movimento é algo como isso. Então vamos adicionar um, outra condição se e aqui, então isso vai ser se nós entrada ponto get ki. Então isso só voltará a ser verdade enquanto aguentarmos, e é isso que queremos. Então, enquanto estamos segurando um certo código de chave que é a mudança esquerda, então nós vamos obter o nosso movimento e nós vamos ser multiplicá-lo pela velocidade V R1 e vai mudar a condição em perto de F2. Senão, se assim for, agora se entrarmos o, bem, se pressionarmos o deslocamento da bochecha esquerda ou vamos, estamos mantendo pressionado o turno da esquerda. Nosso movimento será multiplicado pela velocidade p Ron. Senão, se estivermos agachados, o nosso movimento será multiplicado pela velocidade da multidão. E então o movimento será multiplicado pela velocidade normal. Então, se estamos apenas de pé. Então vamos em frente e testar isso. Quando apertarmos o play ou antes de fazermos isso, vamos ao jogador. E vamos adicionar um pouco de velocidade do Ron para que seja mais óbvio. Então vamos colocar para 50. Vamos salvar isso e vamos tentar nossas novas velocidades de corrida. Então agora, enquanto estamos nos movendo, você pode ver a velocidade ou nossa velocidade de movimento. Então, agora, quando começarmos a manter o Shift pressionado, você pode ver que é muito mais rápido. Então agora estamos correndo em uma luta. O que é isso? Cerca de 0,8 a 0,9. Muito agradável. Então, este jogo é rápido e você pode ajustar a velocidade de corrida para o desejo do seu coração e não cair da borda. Certo, ótimo, então agora que temos esse Spitzer pronto e mais uma coisa eu esqueci de te mostrar. O problema aqui é que se estamos agachados e nos movendo, temos a velocidade, mas se começarmos a segurar o turno, entramos novamente na super velocidade. Então, a maneira como corrigimos isso é voltarmos ao nosso código. E aqui, se temos a entrada ou se estamos segurando o turno e não estamos agachados, então é falso agachar-se? Então, ambas as condições, e sempre que adicionamos um ponto de exclamação atrás de qualquer booleano, Isso significa que precisamos do reverso. Então, se mantivermos a tecla Shift pressionada e não estivermos agachados, então multiplicaremos a velocidade com a velocidade do Ron. Mas se estamos agachados, então esta condição, toda esta condição é falsa. Então vamos para o outro F, menos que seja o sol, só para ter certeza que não estou mentindo. E nós batemos no play. E agora, quando estamos agachados quando avançamos a uma velocidade lenta e mesmo quando pressionamos o turno da esquerda, nada acontece. Enquanto estamos correndo. Podemos correr, correr, correr, correr. Se atingirmos o CQI, de repente voltamos à nossa velocidade de agachamento. Ok, muito bom. Agora a próxima coisa que queremos fazer é realmente queremos criar uma animação para a nossa corrida. E isso faz parte do seu desafio. Seu desafio será criar uma animação de corrida. Então, a primeira coisa que você precisa fazer é criar uma animação em execução. E, obviamente, você precisará criar uma transição entre a caminhada e a
corrida e certificar-se de que você também cria uma transição de correr para andar. Finalmente, você precisa determinar em que velocidade de movimento deve declarar estar se movendo, a fim de fazer a transição para a corrida. Então vá em frente e crie sua animação. Tente o seu melhor, mesmo que você não tenha certeza do que deve ser, eu vou apenas dar-lhe um pequeno guia. Então o que eu vou fazer é mover a cabeça a cada cinco quadros. 0,1 unidades de unidade absorvidas no quadro 0 terá um 2.5. no quadro, cinco terão um 2.6, então vamos descer para 2.4 e, eventualmente, voltar para 2.5. Então, pause o vídeo agora mesmo e vá criar sua animação em execução. Oh, ok, bem-vindo de volta. Como é que entraste nisso? De volta ao nosso jogador, volta em uma, em nossa animação. Então, a forma como criamos uma nova animação é clicar aqui. Vamos criar um novo clipe. E vamos à animação Claire Animation. E chamaremos isso de corrida. E nós vamos salvar isso. Agora vamos em frente e criar esta animação. Vamos clicar no botão vermelho. Vai para a cabeça. Quem vai mover estas cinco oferendas. E vamos mover isso de 2,5 para 2.6. E, em seguida, no próximo quadro irá movê-lo de volta para baixo para 0,5. E nos próximos quadros de slide, isso irá para 2.4. Então vamos dar uma olhada nisso. Ele se moverá automaticamente para 2,5. Mantenha seus olhos aqui na posição. Então, dos cinco, é 2.6. Em seguida, descemos para 2,5, ele se move para baixo automaticamente. Então, finalmente, estamos em 2.4 e eventualmente vamos voltar ao nosso estado inicial. Então vamos parar a gravação. Vamos tocar no play. E esta é, esta será a nossa animação de corrida agora. É subestimante, mas se clicarmos na cabeça, podemos ver como está se movendo. Ok, ótimo. Então, com isso feito, vamos fazer uma pausa. Isto. A próxima coisa é criar as transições. Então vamos fazer isso um pouco maior. Então vamos nos mover ocioso, vamos colocar a caminhada, e então vamos colocar a corrida aqui, vamos criar a transição de VOCÊ andando para a corrida e, em seguida, da corrida volta para a caminhada irá remover a saída tempo irá colocar a duração da transição para 0,1, fará o mesmo no nosso caminho de volta. E nós vamos definir a condição aqui para ser o discurso do jogador deve ser maior do que, bem, vamos verificar. Vamos para a consola. E agora, enquanto estamos nos movendo, e vamos pegar um pouco de bacia aqui. Oops, então isso está tocando tudo. Você pode ver que a animação não está realmente parando. Então, se formos para o animador, tínhamos clicado no player, podemos ver que já estamos correndo e não estamos parando. Isso é porque a transição não vai voltar atrás. Então vamos nos concentrar em primeiro lugar na corrida. Então, quando estamos correndo, estamos acima dos 0,5 e nunca indo menos de 0,5. Ótimo. Então pare com isso de volta em nossa transição de animação. Ok, então era 0.240 andando e nós vamos para 0, vamos fazer seis. E para a transição de volta da corrida, faremos isso menos de 0,6 para ficar no lado seguro. Agora, de volta ao nosso ganho, precisamos ter certeza de que aquele com quem estamos trabalhando nunca vai acima do limiar e nunca paramos de correr. Ok, então há um pouco de errado, algo errado lá dentro. Então vamos até aumentar um pouco o limiar. Então vamos fazer 0,68. E aqui vamos também fazer 0,68. Agora guardamos tudo isso. Agora voltamos ao nosso jogo e devemos ficar ociosos. Então estamos respirando agora quando começamos a andar, damos para que estejamos trabalhando, estamos trabalhando, estamos trabalhando e não corremos. E quando entramos no turno, começamos a correr. E você pode ver como a animação em execução está funcionando. Agora está um pouco seca. Esquecemos de fazer isso linear. Então de volta ao nosso jogador, escolha, oops, não, não o ND ocioso correndo. Escolha tudo isso. Clique com o botão direito do mouse, vá para o mecanismo e torne-o linear. Então agora temos animação ociosa. Então, enquanto ficamos lá, respiramos para dentro e para fora. Deixe-me fazer isso maior. Então respiramos para dentro e para fora para OK. Então estamos de pé, ampliando, podemos atirar, então vamos começar a nos mover. E enquanto estamos nos movendo, movemos nossa câmera. Mas assim não é perceptível, mas é quando temos um ponto de referência. Como é que atravessamos isso? Então nós nos movemos, temos a animação, e quando começamos a correr, você pode ver que a animação é mais dramática e é até mesmo perceptível enquanto estamos nos movendo, você pode ver a cabeça balançando um pouco. E se você acha que precisa adicionar mais a isso, então vá em frente. Você pode aumentar a oscilação aqui para que você possa fazer isso. Então nós podemos gravar isso e você pode aumentar esses dois, talvez 2.8 e este 12, ou este é o ocioso para a corrida. Você pode aumentar isso para 2,7 talvez, e então levá-lo de volta para 2,3. Então vamos tentar isso. Vamos colocar isso em 2.7. Há muitas maneiras que o frango que este recorde não, não fez. Então 2.72.3 e isso será muito mais dramático. Você vai ver. E agora, quando batemos em jogar, então as animações são puramente baseadas em sua preferência. Então agora você pode ver que a bobagem é muito mais óbvia e você sabe, na verdade, eu acho que vamos mantê-lo assim. Assim, aumentar a animação torna o nosso jogo muito mais realista. Isso foi feito? Podemos finalmente ir e confirmar ou mudar estágio todos os commit, adicionado. Sprinting com animações, cometa tudo isso. E no próximo vídeo vamos estar deslizando o nosso jogador. Então, enquanto estamos correndo, se atingirmos o CQI e começarmos a
agachar-nos, vamos de fato começar a deslizar para baixo com uma certa velocidade. Até lá, vejo-te no próximo vídeo.
27. Deslizamento: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, vamos estar alguns colidindo, fugindo de nossos problemas. Ou seja, então essa foi provavelmente a pior introdução de sempre. Então, de volta ao nosso jogo. Agora, quando corrermos, podemos acertar o CQI e começar a acender. Então não podemos nos mover até que nossas velocidades de deslizamento parem. Podemos ajustar a velocidade de deslizamento. Vamos fazer 60 e enlouquecer com ele. Agora, quando corremos, tivemos o CQI e é super rápido. Então, como podem ver, este é o nosso deslizamento. Também podemos pará-lo depois de um segundo passo, determinamos por nós mesmos. Então, com isso dito, não
vamos perder mais tempo. Este vídeo é longo o suficiente e vamos começar. Oh, ok, então como vamos estar deslizando? Bem, queremos estar deslizando quando estivermos correndo e pressionamos a tecla C. E o que queremos fazer é que realmente queremos começar a deslizar nosso jogador na direção em que ele já está se movendo. E nós não queremos ser capazes de controlar o nosso jogador como ele está deslizando tão bem que estabeleceu, primeiro lugar, verificar ou ter a capacidade de verificar sempre que estamos deslizando ou quero dizer, sempre que estamos correndo. Então a primeira coisa que vamos fazer é criar aqui uma seção para o deslizamento. E vamos criar um booleano público está em execução e vamos defini-lo como falso no início. E agora sempre que estamos pressionando a tecla Shift para baixo
e o movimento do jogador, e aqui vamos definir o está correndo para verdadeiro. Ótimo, se for isso. E quando não estamos correndo no outro vamos definir o está correndo como falso. Certo, ótimo, então agora temos o está funcionando
True e então é falso quando não estamos correndo. Ótimo. A próxima coisa que vamos fazer é verificar se estamos correndo, então queremos ir em frente e pegar o avião em que estamos trabalhando. E o que quero dizer com isso? Por isso, se entrarmos aqui, deixa-me mostrar-te. Então vetor 3. O projeto no plano e o que isso faz é que ele retorna a localização do vetor no plano. Então, se você quiser ir em frente e ler mais sobre
isso, é um pouco confuso honestamente, mas deixe-me apenas dar-lhe a essência de tudo isso. Então pegamos um vetor, que vai ser o vetor dianteiro de nossa cabeça, e vamos usar o vetor normal do plano que queremos deslizar. Então vai ser o ponto vetorial para cima. E isso nos permitirá realmente obter o plano no qual queremos estar deslizando ou o vetor, a direção do vetor que queremos estar deslizando. Desta forma, poderemos adicionar velocidade nessa direção e teremos a velocidade dos slides, mas também teremos que normalizar. Então vamos ter que normalizar este vetor três, a fim de mantê-lo em uma magnitude de um. Então, o que eu quero dizer com isso? Vamos ao nosso calhar. Paint, nosso velho amigo, amigos de infância. Então, o que fazemos quando normalizamos? Então digamos que temos esse vetor aqui em cima e estamos nos movendo nessa direção. Então este será o vetor APP e este será o vetor avançado. E quando criarmos esta projeção no plano vai realmente criar um vetor que é como este. Então será v vetor para a frente. Então, o que fazemos quando
normalizamos, nós realmente criamos um tipo de fator que será apenas um de cada vez. Então isso nos permitirá ter uma velocidade consistente à medida que avançamos. E não será apenas aumentando com base na nossa frente e para cima. Então, se isso não é muito compreendido, você pode ir em frente e ler sobre isso. Não é tão difícil. Não é algo muito longe lá fora. Ele simplesmente nos permite ter nosso vetor sempre apontando na mesma direção. Mas de qualquer forma, vamos implementar o projeto no avião. E com desnormalizado,
vamos manter isso consistente. Então, de volta ao script do jogador, vamos para o, onde devemos estar verificando? Bem, vamos verificar quando começarmos a agachar-nos. Então aqui, se estamos correndo, então vamos criar uma velocidade, ou vamos definir a velocidade para ser o vetor três. E vamos projetar no avião. Então vamos precisar do meu ponto da cabeça da câmera para a frente. E vamos usar os vetores 3.the up. E vamos torná-lo normalizado. E então vamos multiplicá-lo por algum tipo de velocidade de slide que irá criar uma variável para. E, claro, vamos adicionar o ponto de tempo no tempo delta. Então vamos guardar isso. E vamos em frente e criar essa velocidade de slide aparecer. Então vamos fazer disso uma velocidade de deslizamento de flutuação pública, e vamos apenas defini-la. Não sei, talvez dois quando? Talvez 30. Vamos em frente e colocá-lo em 13. Talvez seja muito rápido ou muito lento. Talvez você queira mudá-lo, talvez queira torná-lo muito rápido, então dependerá da sua preferência. Agora vamos testar isso e unidade. Então agora nós temos o está correndo público e nós temos a velocidade de deslizamento. Então, quando
apertarmos Play, podemos realmente ir em frente e verificar se estamos correndo. Então temos o pequeno booleano lá com um, como se chama? Verificando se estamos definidos como verdadeiro e quando paramos de correr, ele volta a falso. Então, agora, quando estamos correndo e atingimos o CQI, você pode ver que deslizamos e oh, para onde nós fomos? Vamos tentar isso mais uma vez. Vamos em frente e fazer deste deslizamento um plus. Então vamos fazer talvez dez. Então dez só para não cairmos da borda imediatamente. Então vamos para a borda e paramos de correr e acertamos o CQI. E como podem ver, continuamos em frente. Então, mesmo que
paremos, continuaremos em frente. Vamos tentar isso mais uma vez. Você pode testar isso em casa, mesmo se você não cutucar sentar aqui. Começamos a deslizar e paramos. E ainda assim continuamos tendo essa velocidade que continua nos puxando para a frente. Então agora precisamos parar essa velocidade. E o nosso, quero dizer, parar o deslizamento. Então, como vamos fazer isso? Bem, vamos criar um temporizador. Assim, a forma como os temporizadores funcionam é, bem criar em primeiro lugar,
um temporizador de controle deslizante de início. Então este será um booleano. Sempre que for verdade, iniciaremos o temporizador deslizante. E então vamos criar duas outras variáveis. Primeiro, eles são os dois, ambos serão carros alegóricos. Então um vai manter o controle de nosso temporizador deslizante atual, e o outro será o tempo máximo de slide, tempo. E vamos apenas definir para dois F. Agora vamos tornar ambos privados, mas por enquanto vamos mantê-los públicos para que possamos sempre vê-los no inspetor e saber o que realmente está acontecendo. Então, sempre que começarmos o deslizamento, vamos definir o tempo de controle deslizante de início como verdadeiro. E então nós vamos começar algum tipo de contador de slides que irá verificar se nossos slides iniciar o temporizador de slide é verdade, então nós vamos estar adicionando ao slide atual, tempo de
controle deslizante para o atual. Vamos fazer deste o temporizador de slides atual. E vai ser para continuar adicionando time.DeltaTatime até atingir um determinado slide Max. E quando chegarmos ao slide smack, vamos redefinir o tempo de controle deslizante atual e vamos parar de deslizar. Então vamos ver como isso vai funcionar. Primeiro de tudo, vamos criar um método aqui abaixo. E vamos chamar esse método de contador de slides de vazio privado. E isso continuará verificando nosso controle deslizante. Então, se quisermos iniciar o temporizador de controle deslizante, então vamos tomar nosso temporizador de slide atual e vamos adicionar com tempo dot delta vezes. Então isto vai continuar a aumentar à medida que continua. E quando é que vamos parar de deslizar enquanto aqui em cima, quando começarmos a agachar-nos? Considerando que é assim aqui, quando paramos de pressionar o CQI ou assim este é o símbolo ou. Ou se o nosso temporizador ligeiro atual é maior do que, então estamos excedendo o tempo leve máximo, então também vamos parar de deslizar. E finalmente, quando iniciamos o temporizador deslizante? Quando é quando começamos a deslizar. Então, aqui, vamos adicionar esses colchetes porque estamos adicionando outra condição. Então aqui, vamos definir o temporizador de controle deslizante de início para Verdadeiro rolamento gelo. E antes de testá-lo,
é claro que precisamos parar o deslizamento aqui. Então, o que devemos fazer quando é parte do seu desafio? Então, quantas vezes você terminou a parada agachada? Então, você precisará antes de tudo, redefinir o controle deslizante de tempo atual de volta para 0. Você precisará redefinir as velocidades, então você precisará configurá-lo para o novo vetor três, ou
seja, 0002, a fim de nos impedir de deslizar ou continuar deslizando para a frente. E, em seguida, você precisa definir o controle deslizante de início como false ou você precisará desligar o temporizador de controle deslizante. Então, três coisas. Redefina o controle deslizante de hora atual, redefina a velocidade de entrada do tempo do controle deslizante. Pause o vídeo agora mesmo e vá fazer o desafio. Ok, bem-vindo de volta. Então, o que vamos fazer aqui? Primeiro de tudo, vamos obter o nosso temporizador de controle deslizante atual. Vamos defini-la como 0. F então tomará nossa velocidade e vamos configurá-lo para um novo vetor três, que vai ser 0, f, 0,
f e 0 foi desativado ou desafio mais difícil. Bem, bom. Isso significa que você tentou e falhou. E agora é isso que estamos fazendo. Então, primeiro de tudo, onde nosso controle deslizante atual redefiniu seu tempo de volta para 0, nossa velocidade está em 000, e nosso temporizador deslizante de início está de volta para falso. Agora, uma última coisa é que nós precisamos realmente estar chamando este pequeno contador. Então, onde vamos chamar isso? Bem, vamos apenas configurá-lo aqui na atualização. Vamos começar, oops, qual, qual era o nome disso mesmo? Então foi este contador de luz. Então n aqui, contador de slides será chamado na atualização. Vamos testar isso e revisaremos nosso código mais uma vez. Então nós jogamos. Definimos para ser dois segundos. Podemos ver que estamos em execução quando começamos a deslizar
terá este pequeno controle deslizante Boolean verificação, certo? Vamos parar. Ok, então vamos redefinir isso de volta para 0. Nossa vida útil máxima será 2n, nossa velocidade de deslizamento. Vamos colocar de volta para cinco. E agora, quando
corremos, tivemos que ver deslizar por dois segundos e então nossa velocidade está de volta para 0. Muito agradável. Então isso está funcionando. Vamos colocar o slide de volta para dez. E vamos ver isso em ação. Então estamos fugindo do monstro e deslizamos para baixo, atiramos nele e então voltamos para cima e depois continuamos correndo, correndo, correndo. Deslizamos e continuamos deslizando na direção. Nós estamos, nós estávamos inicialmente executando. Então vamos ver, estamos correndo. Deslizamos, não podemos mover para a esquerda e para a direita e caímos. Bem, vamos tentar de novo. Assim você pode ver como a vida real deslizando quando você está deslizando,
você não pode se mover para a esquerda e para a direita. Então é exatamente isso que acontece. Corremos, vimos que não podemos nos mover para a esquerda e para a direita até nos levantarmos e depois podemos nos mover de novo. Então, de volta ao nosso código, vamos rever isto para alguns de vocês que não o entenderam completamente. E não há vergonha em não entender isso. Honestamente, até eu, quando escrevi este código, estava um pouco confuso com o que realmente está acontecendo. Então. Vamos tirar alguns momentos para rever o que está acontecendo. Se você já entende como isso funciona, vá em frente e encene tudo que você está no palco. Arquivos, cometa todos estes e aquele mecânico deslizante, comentário, tudo isso. E vamos voltar ao nosso código e ver o que está acontecendo. Então, em primeiro lugar, estamos procurando nossa corrida. Então, se estamos correndo, vamos definir como verdadeiro no movimento. E quando pararmos de correr ou não
corrermos, vamos voltar a ser falso. Isso nos permitirá começar a deslizar se começarmos a agachar. Então, quando começamos a agachar, se estamos correndo, então vamos adicionar uma certa velocidade que está
no plano em que estamos atualmente na direção de. E também adicionamos uma velocidade de deslizamento. Então a maneira como pegamos o avião é usando o vetor da câmera para frente, que é a maneira como estamos olhando. E usando o vetor OP, que é o normal para aquele plano. E aqui também iniciamos um primer deslizante. E o que este temporizador deslizante nos permite fazer é começar a contagem regressiva aqui. Então, se for verdade, começa a contar comigo, sem contar. Assim temporizador deslizante atual vai começar a aumentar cada quadro pelo time.deltaTIME. E quando chega a um determinado limite quando os temporizadores de controle deslizante atual. Então vamos voltar aqui. Quando chega a um determinado limite mais do que o tempo máximo de deslizamento, que podemos determinar a partir do nosso inspetor. Então vamos parar de agachar. E aqui este é o “ou”. Então, se liberarmos o CQI ou o temporizador deslizante atual terminou, vamos parar de agachar e parar de agachar. Reiniciamos o tempo que é de dois segundos agora, ou acima de dois segundos. Então vamos redefinir a velocidade que estamos nos movendo para parar o movimento deslizante. E, finalmente, vamos definir o temporizador de controle deslizante de início de volta para falso, e vamos esperar até começarmos a deslizar novamente. Espero que isto não seja muito complicado. Espero que a minha explicação tenha ajudado um pouco a entender tudo melhor. E na seção que acredito que acabou. E na próxima seção vamos adicionar tiro avançado. Então, vamos adicionar armas melhores ou armas de melhor aparência e vamos adicionar balas de melhor aparência, vamos começar a controlar nossas taxas de tiro, então não terá que sempre pressionar o botão. Teremos como um rifle para que possamos ir e adicionar um pouco de munição, vamos exibir a munição em nossa tela usando a tela. E aprenderemos como podemos capacitá-lo de lado. Para que nenhum. Espero vê-lo no próximo vídeo. Foi uma seção muito divertida. nosso movimento é excelente, e vemo-nos no próximo.
28. SEC 5 - Criação nosso sistema de arma: Bem-vindo de volta meus desenvolvedores de jogos favoritos para uma nova seção e uma nova arma. Então, finalmente, o nosso jogador parece, bem. Nosso jogador tem uma arma tão legal quanto seus olhos. Agora, quando batemos no jogo, temos uma nova pistola que atira o Pulitzer novo. Quão legal é isso? Finalmente, parece que estamos destruindo algo com algo que realmente pode destruir coisas. Então, e agora com nossa nova arma, criamos um novo sistema GUN. Criamos uma nova hierarquia para nossas armas. Com isso dito, não vamos perder mais tempo e vamos para nossas armas legais. Certo, então vamos começar. A primeira coisa que vamos fazer é importar nossas novas armas legais. Vamos entrar nos recursos e abrir essas armas de ficção científica. Aqui, eu recomendei sapato. Primeiro de tudo, confira o readme e foi aqui que consegui todos esses ativos. Eles são completamente gratuitos e você pode ir e verificar o site aqui mesmo. Eles também têm outros ativos muito legais que você pode baixar e até mesmo usar em seu jogo gratuitamente. Vai mostrar-lhes um pouco de amor. Agora, nós simplesmente arrastamos para os nossos bens. Então nós os arrastamos, eles vão começar a importar. Então, podemos ver todos eles simplesmente clicar em Importar e vamos esperar que eles importem. Você não tem que esperar comigo. Vou usar a magia da edição e vejo-te daqui a pouco. Ok, bem-vindo de volta. Foi mais rápido do que eu esperava. Então agora temos essas armas de ficção científica ou aqui. Agora, antes de continuarmos, deixe-me criar uma pasta. E isso será todos os nossos recursos de jogo e colocaremos os efeitos extras dentro do ano. E a qualquer segundo agora, OK, armas de
ficção científica, também dentro dos ativos do jogo ou caixa. Então vamos para o nosso ativo de jogo e vamos olhar para essas armas de ficção científica no pacote base. Podemos ver que temos uma espingarda de atirador, uma pústula, pesada, e os Prefabs para tudo isso. Então vamos pegar nossa pistola e vamos adicioná-los em nossa cena. Então esta é a nossa pistolinha
minúscula agora. Então eu acho que nós provavelmente vamos aumentar a escala para dois por dois e torná-la um pouco maior, talvez até torná-la maior do que isso. Atualmente é muito pequeno, mas parece muito legal. Então, agora que temos a pistola talvez vai até torná-la maior, vamos em frente e adicioná-la ao nosso jogo aqui, então em nossas mãos de jogadores. Então, primeiro de tudo, nós temos a cabeça e nós fomos, vamos criar um objeto de jogo vazio aqui, e nós vamos chamá-lo de armas. E então vamos colocar a arma sob as armas e vamos
desligá-la por enquanto porque vamos usar esta pistola bem aqui. E a primeira coisa que vamos fazer é remover esta bota dela. E primeiro precisamos ir para pré-fabs desempacotar completamente. E agora vamos para os nossos pré-fabs. E vamos pegar a bala V aqui e vamos em frente e arrastá-lo direto para as balas. E, na verdade, nossos prefabs precisam de um pouco de organização. Então vamos criar uma pasta de balas aqui, e então vamos criar outra pasta para o que devemos chamá-los, os fatos. E colocaremos a água,
o gás, a arma, o músculo, e o impacto da bala e o lado dos efeitos. Ok, ótimo. Agora que temos a bala, vamos apagar. Só precisamos da pedra. E vamos mudar o nome para postal, simplesmente pistola. E em armas. E vamos em frente e criar um objeto de jogo. E chamaremos isso de pistola. Então, onde ele está atualmente? Então está lá e vamos em frente e colocar o correio sob a pistola na verdade, que é nomeado como o corpo da pistola ou pré-fabricada. E vamos em frente e redefinir a posição desta pistola. Vamos colocar a visão do jogo bem ao nosso lado, e agora vamos ser capazes de ver o que nosso jogador C. Então vamos colocar a pistola, então a posição da câmera está aqui e a posição do nosso jogador está aqui. Então vamos definir a posição do jogador para 00 e a posição da câmera deve estar na cabeça. Então, vamos colocá-lo no, como um filho da cabeça irá redefinir sua posição e, em seguida, vamos removê-lo da criança. Agora precisamos ajustar a posição da pistola com base nisso. Então as armas aqui, a pistola está aqui. E vamos mover esta pistola para trás um pouco e depois movê-la para cima. E vamos para a direita. E agora continue ajustando a pistola e até parecer bom o suficiente. E agora, eu acho que isso é bom o suficiente. Então agora é aqui que a nossa pistola vai ser assim que as nossas pistolas vão ficar. Agora você pode ajustá-lo, talvez possamos até torná-lo um pouco maior. Então vamos para a pistola pré-fabricada e talvez três por três. Assim é muito melhor. Podemos até redefinir a posição dele. E agora podemos modificar diretamente a partir da pistola. Então, sim, isso parece legal. E vamos descer um pouco. Então, sim, é assim que queremos a nossa perseguição. Olha, talvez um pouco mais para baixo e um pouco para a frente. Estou ajustando. Certo, ótimo, então vamos guardar isso. E agora de volta ao nosso jogo aqui, então vamos jogar. E agora, ainda começa a atirar. As balas são muito estranhas, mas lidaremos com isso mais tarde. E se você tem cinco posições não estão no lugar certo, precisamos realmente movê-lo. Então vamos mover isso para cima. Para trás, bem, para trás e vamos colocá-lo aqui. Mais tarde será realmente mudar a posição do wafer funciona inteiramente. Mas, por enquanto, vamos ficar com ele. Tínhamos brincado e todos nós pudemos atirar nossas balas. E o fogo parece legal agora com a nova arma. Muito agradável. Agora, a próxima coisa que vamos fazer é realmente
mover todo o nosso sistema de tiro em seu, em um script separado. Agora, novamente, poderíamos ter feito isso desde o início, mas eu queria mostrar como, às vezes, sempre que você começa a criar mecânicas mais profundas em seu jogo, você começa a mudar de um único script para fazer tudo em um script separado para criação mais detalhada. Então aqui vamos clicar com o botão direito do mouse e vamos criar um novo script. Então, um novo script C-sharp. E vamos chamá-lo de sistema de chicletes. E vamos esperar que ele compile. Por que você continua abrindo o Visual Studio e clique duas vezes em Khan System. E aqui vamos mover a filmagem. Então vai descer aqui. Vamos mover todo este método de tiro do jogador. Então vamos escolher tudo isso. Corte, usando o Controle X e vamos movê-lo para o sistema GUN. E como podem ver, há muitas coisas que precisamos mudar. Então, a primeira coisa é a cabeça da câmera. Então vamos em frente e mover isso. E aqui em cima, vamos ver onde está nossa cabeça de câmera. Então deve, deve ser removido aqui. E cabeça de câmera, onde está? A câmera teve um duplo clique nisso. Usamos em outro lugar? Então vamos ver, nós usamos isso sempre que queremos projetar. Então vamos mantê-lo aqui e vamos simplesmente copiar isto, colocá-lo dentro do nosso sistema de armas. Então isso é um pouco complicado, mas confie em mim, vai pagar dividendos. Guarde isso. Então agora nosso chapéu de câmera está bom. Precisamos de uma posição distante, então aqui, enquanto nossa posição de fogo, usamos em algum lugar? Então, não, nós não usamos a posição cinco em qualquer lugar. Então podemos cortar isto daqui e colocá-lo dentro do nosso sistema GUN. E a próxima coisa que vamos fazer, precisamos de um buraco de bala. Então acho que vamos precisar de tudo isso, então vamos em frente e colocá-los aqui. E o que mais precisamos? Vamos salvar tudo isso. O que mais precisamos? Precisamos da bala. Sim, isso foi previsível. Então a bala usaremos a bala em outro lugar? Não, não temos. Então também vamos cortar a bala. Então agora nosso jogador não está mais preocupado com a carenagem e o tiroteio ou o sistema GUN é responsável por tudo o resto. Ok, ótimo. Então, uma atualização, vamos simplesmente chamar a filmagem. E agora é hora de entrar em nosso espectro na Unidade. Aguarde isso para compilar e armas, vamos em frente e adicionar o sistema GUN à pistola porque cada arma terá seu próprio sistema KM. Agora temos a cabeça da minha câmara. Vamos em frente e adicionar a câmera tinha posição de fogo def é o flash focinho e prefabs e fatos Prefabs ir para trás para a arma para que nenhum pistão. Então o flash da arma, a bala, toda a visão vazamento de água, e agora é hora da bala. E falando em balas, está na hora do seu desafio. E seu desafio será preparar a bala da pústula. Então, operações antes de fazermos isso, desculpe. Então já tiramos a bala da loja e fizemos uma pré-fabricada. Então seu trabalho será adicionar um corpo rígido à bala,
adicionar o script ou o controlador de balas, se bem me lembro, é
assim que se chama. E configurar a velocidade e certificar-se de que tudo funciona. Pause o vídeo agora mesmo e vá configurar o PESTEL. Oh, ok, bem-vindo de volta. Então, em bala, então temos essas pessoas aqui. Então vamos adicionar um corpo rígido a ele. Nós vamos, nós vamos congelar as rotações. Vamos adicionar o controlador de bala aqui. E o que mais deveríamos acrescentar? Deveríamos ir até a pistola e adicionar este boletim aqui. Nós também queremos ir em frente e colocar a bala. Precisamos adicionar o corpo rígido. Precisamos mudar a bala que viveu dois, e vamos fazer a velocidade de cerca de 250. Vamos dizer isso, deixe-o jogar e vamos ver se está funcionando. Então, agora vamos filmar. E a bala está mesmo a ser criada? Não consigo vê-lo. Não parece estar funcionando bem. Pelo menos o tiroteio está funcionando. As balas Hall, os buracos de bala estão sendo criados, a água algo está sendo criado. O flash do focinho está funcionando, mas a bala, vamos colocar a bala aqui, então é muito pequena. E vamos em frente e mudamos. Então vamos fazer três por três por três. Vês? Sim, isso parece certo. Então vamos aplicar isso. E deletado de arsine. Aperte Play. E agora a nossa pistola atira esta pequena bala branca bem aqui que podemos ver voando. Um ótimo, então agora temos a bala. E uma última coisa que eu queria fazer é tocar Play e vamos olhar para isso de novo. Então, quando estamos nos movendo, você pode ver a bala à direita e à esquerda da arma. E isso é porque a bala não é uma criança daquela arma. Então vamos criança para o cone, assim como fizemos com o flash do focinho. E aqui onde estamos instanciando a bala, vamos adicionar o pai e vamos torná-lo na posição mais distante. Vamos guardar isso. E agora nossas balas devem ser mais realistas. Então agora atire um movimento livre para a esquerda e para a direita. A bala não vai a todo lugar e você pode ver esta pequena bala branca. Podemos até torná-lo mais lento depende de suas preferências. Vou fazer 1-20 e estamos basicamente acabados. É isso. Era tudo o que precisávamos fazer. No próximo vídeo. Vamos controlar as nossas taxas de disparo, por isso vamos poder ter a arma GOP, mas não vamos adicionar a espingarda ainda. Vejo você no próximo vídeo. Oh, antes de
irmos, precisamos ir ao Masters e fazer nossas mudanças e nossos arquivos são muito grandes, então precisamos ir para os ativos. E vamos clicar com o botão direito aqui, ignorar. E tudo por baixo dos bens. Exemplos afetam exemplos. Por que eles me dizem um caseiro porque nós criamos um novo arquivo. E novamente, vamos clicar com o botão direito aqui e vamos ignorar tudo sob as armas de ficção científica porque eles são muito grandes de um arquivo. Então encenar tudo isso, comprometer, tudo isso. Adicionado minha primeira pistola Cy5 legal no novo sistema GUN. Comprometa tudo isso. E vejo-te no próximo vídeo.
29. Controlando nossa taxa de captura: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos adicionar, primeiro lugar, disparo automático. Vamos aprender sobre corotinas. E finalmente vamos adicionar um tempo entre os tiros. Então vamos tornar isto mais excitante. Vamos colocar o tempo entre os tiros para 0. Quando apertamos o jogo, podemos realmente manter pressionado o botão do mouse e você pode ver que podemos criar muitos fótons. Isso não é prático, porque geralmente as armas não disparam garrafas infinitas em um segundo. Então nós adicionamos um tempo entre os tiros. Então agora, por exemplo, podemos configurá-lo para 0.05. e mesmo quando pressionamos o botão do mouse, leva 0.5. segundos para começar a filmar novamente. E isso é tudo o que fizemos. Então não vamos perder mais tempo. E vamos começar. Ok, então vamos começar a controlar a nossa taxa de disparo. A primeira coisa que vamos fazer é ir em frente e criar duas variáveis. A primeira variável vai ser um booleano que vai nos
dizer se podemos realmente pode disparar automaticamente. O próximo será um Booleano privado, esse é o tiroteio. Então, quais são essas duas variáveis que não podem disparar serão verdadeiras se tivermos uma espingarda que pode disparar automaticamente, ou seriam falsas se não pudermos Fogo de Água. E o tiro será na verdade a entrada a partir do qual vamos determinar se estamos realmente usando o botão do mouse para baixo ou uma outra importação. Então, em vez disso aqui vamos colocar o tiroteio e o tiroteio será criado por você. Sim, é um desafio no início de um vídeo, o pior tipo de desafios. Então verifique se há condição de fogo automático antes de atirar e permitir que o jogador segure o botão do mouse para atirar se fogo
automático é verdadeiro, definindo o booleano de tiro como a entrada. Então já cobrimos a última parte. Então, se o fogo automático estiver ligado, então você terá algum tipo de entrada para o tiroteio. Se os incêndios de então você terá um tipo diferente de entrada para o tiroteio. Se você se sentir confiante o suficiente para sair e encontrar uma solução por conta própria, pause o vídeo e vá, se não, aqui está uma dica. Olhe para cima, pegue o botão do mouse. Dito isso, pausar o vídeo agora e ir fazer cada Harlan. Oh, ok, bem-vindo de volta. Então, aqui vamos seguir em frente e criar uma condição “if”. E se puder, fogo
automático tem então vamos definir o tiroteio como a entrada aparece. Não, oh sim. Trabalho. Então, ponto de entrada, obter o botão do mouse. E se você olhar para ele, ele retorna quando o botão dado moles é pressionado e isso é exatamente o que queremos. Por isso, se for mantida, vamos partilhar. Senão. O tiro vai ser igual à entrada que obter botão do mouse para baixo, assim como fizemos anteriormente. E agora, vamos salvar tudo isso agora o tiroteio vai depender se podemos disparar automaticamente. Então vamos entrar em unidade no sistema GUN para o nosso pistão. Teremos a opção de ordenar arquivo. Vamos abrir o jogador para que possamos ver nossa pistola e ação. Então, armas, pistola não pode disparar, acertar play. E agora vamos ver o que acontece quando nós, whoa, ok, nós podemos longe, tanto
quanto nós quisermos. Mas como você pode ver, isso não é muito prático porque nós queremos, mesmo que possamos disparar automaticamente, nós também queremos ter algum tipo de regras sobre o disparo automático. Então deixe-me escrever meu nome aqui, meu código. Ok, de qualquer maneira, então vamos colocar uma restrição no nosso tiroteio. A primeira coisa que precisamos fazer é criar uma variável aqui que será chamada pronta para filmar. E essa variável será proprietária. Esta variável será a variável que nos permitirá disparar. Portanto, o disparo deve ser pressionado ou a entrada deve estar disponível. E devemos estar prontos para filmar. E pronto para atirar será sempre o, ou no início será verdade. Mas quando começarmos a filmar, o pronto para atirar será igual a falso. Agora, como é que vamos voltar a ser verdade? Agora você pode estar dizendo talvez no final da filmagem ou algo assim. Mas não, nós queremos realmente transformá-los de volta a verdade depois de um certo período de tempo. E a maneira como adiamos a mudança de algo em nosso jogo é usar os revestimentos. Talvez já tenha ouvido falar de corotinas e talvez não, mas vamos explicá-las completamente. Então, o que faz uma co-rotina? É um método que pode suspender a execução de instruções até que certas condições sejam atendidas. Essas suspensões são conhecidas como curadas, então nosso nariz como rendimento. Não sei como estou escrevendo esses slides. De qualquer forma, isto é gasto suspensões são conhecidos como rendimento. Em nosso exemplo, passaremos o tempo até que nosso jogador esteja pronto para atirar novamente. Então, basicamente, o que vamos fazer é definir o pronto para atirar dois de volta
para verdadeiro depois de uma certa condição ser atendida usando o rendimento. Então vamos em frente e criar uma codificação. Agora. Não, aqui não, mas obrigado. De qualquer forma, vamos criar um tribunal, e a forma como fazemos isso está aqui. A co-rotina é do enumerador tipo II. E você não precisa se preocupar muito com isso. Se você quiser aprofundar as pesquisas na documentação do Unity, vamos redefinir a foto. E aqui, a primeira coisa que fazemos é nos render. Então, antes, deixe-me apenas mostrar-lhe que ele está pedindo para nós para um certo retorno porque nem todos chamados Path retornaram o valor. Então, a maneira como nós retornamos é na verdade nós digitamos o retorno de rendimento mu. E aqui podemos fazer várias coisas. Então podemos esperar até quatro segundos onde esperar por coisas diferentes. O que vamos fazer é esperar quatro segundos. E dentro daqui podemos simplesmente escrever dois F para esperar dois segundos ou três, ou quatro. Mas porque cada arma terá seu próprio tempo até que esteja pronta para atirar novamente. Então a pistola terá um certo tempo. Um atirador, por exemplo, precisará de mais tempo até que seja reiniciado. Então o que vamos fazer é criar um tempo entre os tiros porque cada estado terá seu próprio tempo entre os tiros. Vamos clicar duas vezes, vamos copiar isso vai criar aqui. Então, o que? Vamos criar um carro alegórico público, o tempo entre as filmagens. E agora aqui, depois de esperarmos o tempo entre os tiros, vamos então definir a visão pronta para atirar de volta à verdade. Então vamos salvar isso e agora vamos voltar para a Unidade. Vamos esperar que ele compile. Terá o tempo entre os tiros. Vamos ajustá-lo para três, só para que você entenda como tudo isso está funcionando. Então, três segundos, Isso é um pouco de um longo tempo, mas isso é para o propósito de teste. Então devemos, não podemos atirar se você me ouvir clicar. Então estamos filmando com tiros. Ele não atira. Temos de esperar três segundos e não está a disparar. Y é isso. Porque cometemos o maior erro possível depois que
deveríamos, precisamos chamar o rodapé. Então, a maneira, então a maneira como chamamos a rotina de pontuação é realmente ir em frente e começar um Curtin e nós chamamos a reinicialização. E é isso. Vamos rever o código logo depois de testarmos tudo. Então, aperte o play. E não podemos atirar mais até três segundos se passarem. Devemos então 12312312, você pode me ouvir clicando no mouse tanto quanto eu posso, mas não está funcionando. Então, vamos adicionar um uso prático para isso. Digamos que não podemos disparar. E a pistola que teremos talvez um tiro de, não
tenho certeza de quanto, então talvez 0,2. Então agora você pode ver que nosso tiroteio enquanto eu estou segurando é muito mais controlável. E isso nos permitirá ter,
bem, esses tipos de tiroteio. Ótimo. Então agora que estão filmando está funcionando, tudo está funcionando. Deixe-me rever o código mais uma vez e um enumerador de olhos. Então, o que estão cortejando rotinas de pontuação são métodos que funcionam somente depois de um certo tempo. Então, se você quiser gastar a execução de certas ações exatamente como estamos fazendo agora. Queremos o nosso pronto para filmar, para esperar alguns segundos, talvez, até que ele volte a ser verdade. Usamos Coubertin. Então aqui, nós criamos uma co-rotina e uma qualidade é sempre do tipo i enumerador. Demos o nome de tiro de reinicialização. E sempre que criamos um método do tipo enumerador de olhos, sempre
precisamos ter esse retorno de rendimento novo, e então escolhemos se queremos esperar quatro segundos ou esperar até que outras coisas. Agora, principalmente neste curso estamos em quase todos os lugares vai usar esperar quatro segundos. Então não se preocupe com outras coisas. Se você precisar, apenas saiba que você tem a opção de ir e ter diferentes tipos de retorno. Então, como cada arma teria seu próprio tempo para esperar entre tiros, criamos uma variável que é pública que podemos mudar do Inspetor. E então, quando nós rendemos retorno e esperar pelos segundos de um certo tempo entre os tiros, então o pronto para atirar será ajustado de volta para verdadeiro. E como nota final, o que mais deveríamos estar falando? Bem, este tiroteio aqui, eu acho que é bastante simples e pronto. Então vamos para a nossa árvore de origem. Vamos pegar tudo isso e nos comprometemos. E agora temos controle sobre nossa taxa de disparo. Comprometa tudo isso. E é isso. Era tudo o que precisávamos. No próximo vídeo, vamos adicionar munições, então não teremos mais liberdade para filmar o quanto quisermos. Por mais legal que isso pareça, adicionar munição vai ser realmente mais divertido e um pouco de suspense para o nosso jogo. Vemo-nos no próximo vídeo.
30. Como adicionar amostras: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, como você pode ver, temos balas disponíveis, o total de balas, o tamanho do carregador, e um certo tempo real. Então, quando
acertamos o jogo, podemos ver que podemos atirar balas até que as balas disponíveis sejam 0 e não podemos mais atirar. Quando clicamos no R, Não
podemos atirar até esperar dois segundos. E agora podemos atirar de novo. E nós podemos, claro que eu, está tentando nossos inimigos. Agora podemos recarregar e esperar dois segundos e então podemos atirar. Então não vamos perder mais tempo e vamos começar com esta nova mecânica dinâmica. Então, adicionando um sistema de bala ou munição. Então, primeiro de tudo, vamos em frente e remover a lata de fogo automático porque as pistolas não disparam automaticamente e o tempo entre os tiros, vamos fazer 0,1 porque não queremos ficar esperando o dia todo. Ok, ótimo. Agora, para começar, primeiro lugar, vamos precisar, claro, para ir em frente e criar a quantidade de balas disponíveis. Então vamos criar um int público e vai ser
as balas disponíveis para que eles estão disponíveis. Ok, então talvez desfecho o sal disponível. A próxima coisa que faremos é quando quisermos filmar. Se estamos atirando e estamos prontos para atirar, e temos balas suficientes disponíveis. Isso significa que as balas estão disponíveis são maiores que 0. Então vamos filmar. E cada vez que você atirar, nós vamos, é claro, reduzir a quantidade de balas disponíveis. Então menos menos e nunca fizemos isso antes, mas menos significa que estamos reduzindo apenas um. Então vamos colocar isso de volta aqui. E ótimo. Então agora isso é exatamente o que você quer. Ok, então vamos salvar essa unidade de back-end. E eu não tenho certeza se você notou ou eu apenas olhei para ele como se não fosse nada? Mas não fizemos isso antes, mas criamos um inteiro. Então inteiros não são como flutuadores, eles não, não
são como 0.1 ou 0.5 ou 2.7. Eles são 12345 ou minus1, minus2, e assim por diante. Então inteiros, basicamente. Agora, de volta ao nosso jogo, balas disponíveis, vamos fazer cinco Save que teve jogo. E nós podemos realmente olhar no inspetor 12341 e então nós devemos
, não, nós não podemos atirar mais porque não há mais balas disponíveis. Agora, o que é um bom sistema de munição sem uma recarga? Vamos em frente e criar uma maneira de recarregar. Então a primeira coisa que vamos fazer é criar um inteiro público. E isto vai ser o total de balas que temos. Vamos criar um tamanho de revista porque, é claro, conservar o tamanho da revista, ok, ótimo. E realmente sabe o quê? Porque estes são todos iguais. Eles são inteiros, os inteiros são todos públicos. Vamos simplesmente colocá-los um ao lado do outro. Então temos as balas disponíveis, a quantidade total de balas e o tamanho do carregador. Agora, dentro do começo, vamos vender tudo isso. A quantidade total de balas será reduzida pelo tamanho do carregador. Porque sempre que começamos a segurar uma arma, em primeiro lugar, pegamos todas as balas e enchemos o tamanho do pente para que a quantidade total de balas seja reduzida pelo tamanho do pente. Então pegamos as balas disponíveis. E, claro, assim que começarmos o jogo, tamanho da
nossa revista ou as balas disponíveis serão o tamanho máximo. Agora, nós queremos começar a recarregar, mas antes de fazer isso, nós realmente queremos criar um gerente de armas, porque mais tarde
teremos muitas coisas que queremos gerenciar em nossas armas. Então vamos começar criando um gerente de armas. E vamos em frente e gerar esse método. Então gere um gerente. E aqui nós vamos verificar se um
ponto de entrada obter chave para baixo usando um código de chave que é o r, porque nós sempre recarregar o são e e as balas disponíveis são menores que o tamanho do carregador. Então o que isso significa é que se as balas disponíveis forem menores do que os solos do pente e atingirmos as arcas, então vamos recarregar. Então, basicamente, isso aqui garante que não recarregamos se tivermos uma revista completa. Então, a próxima coisa que vamos fazer é
criar a recarga e vamos em frente e criá-la sob a filmagem. Então, vazio privado, recarregar. E aqui vamos, em primeiro lugar, calcular as balas que precisamos adicionar. Então, não balas para adicionar. E será igual ao tamanho do carregador menos as balas disponíveis. Digamos que queremos recarregar antes que a nossa revista esteja vazia. Então pegamos o tamanho da revista, que é sempre constante. Removemos as balas disponíveis. E então essas são as balas que precisarão adicionar. A próxima coisa que vamos fazer, vamos verificar se o total de balas que
temos é maior do que as balas que precisamos adicionar. Então vamos, primeiro de tudo, pegar o total de balas. E, claro, vamos reduzi-los pelas balas que queremos acrescentar. Opa. E então queremos pegar as balas disponíveis e
vamos torná-las iguais ao tamanho do carregador. Então, o que estamos fazendo aqui? Vamos parar por um momento. Calculamos a quantidade de balas que precisamos adicionar. É o tamanho da revista que é sempre constante, digamos 30 volts por revista. E reduzimos as balas que estão dentro do pente. Então pegamos o total de balas e verificamos se há mais do que as balas que precisamos adicionar, o que é ótimo. Vamos reduzir o total de balas pelas balas para adicionar, e vamos definir as balas disponíveis para o tamanho do carregador. Então, basicamente, nós recarregamos. Mas o que acontece se as balas ou o total de balas são menores do que as balas que precisarão adicionar. Bem, nesse caso, sabemos que as balas a adicionar sempre serão menores que o tamanho do carregador. Então, pegaremos as balas disponíveis e adicionaremos a elas o total de balas. E nós também, antes que
esqueçamos, precisamos ajustar o total de balas para 0. Então o que acontece aqui, se a quantidade total de balas for menor do que as balas que precisamos adicionar, então vamos simplesmente pegar todas as balas que sobrarem. Vamos colocá-los nas balas disponíveis e então vamos ajustar a bala ou o total de balas que temos para 0, e é isso. Então vamos salvar tudo isso e vamos passar do recarregamento. Então temos um monte de coisas novas aqui. Então as balas disponíveis serão 0, o tamanho máximo de uma pistola deve ser 10, e o total de balas terá para, digamos que são 18, só para que possamos testar nosso sistema. Então, vamos jogar. E olhamos para as balas disponíveis ou não, 10, o tamanho da revista T é 10. E porque reduzimos o total de balas pelo tamanho do carregador no início, então agora o total de balas restantes ou oito. Então começamos a atirar, atirar, atirar. E como podem ver, as balas estão disponíveis ou duas. Agora, se recarregarmos, vamos ver o que acontece. Bem, nós adicionamos os oito que estavam
no total de balas para as duas balas disponíveis, e agora não temos nada. Então, quando atiramos de novo, recarregamos e nada acontece porque não há mais balas totais. Vamos tentar uma experiência diferente. E o que mais deveríamos testar aqui? Eu não tenho certeza. Vamos fazer este 26. Isso está em jogo. E vejamos, 84. E vamos precisar, isso vai se tornar dez. Certo, ótimo, então vou recarregar o sistema, mas agora há um pequeno problema se começarmos a recarregar e filmar. E podemos recarregar enquanto disparamos e podemos recarregar enquanto recarregamos. E este é um grande problema FET, você vai precisar resolver o coz, é parte do seu desafio. E seu desafio é criar um revestimento de recarga. Então, a primeira coisa que você precisa fazer é criar um flutuador para o tempo real. Então você precisará criar um booleano que verifica se todos nós recarregamos. Você precisará criar também uma co-rotina em que aguarda
em tempo real e, em seguida, redefine o recarregamento. Finalmente, se todos recarregarmos, certifiquem-se de que não podemos disparar. Porque, claro, sempre
que estamos recarregando, isso significa que não há balas e não queremos atirar. E, claro, a recarga não é instantânea. Mais tarde, adicionaremos emissões ao nosso recarregamento. Ok, então eu sei que você acabou de aprender co-rotina e corotinas geralmente são muito complicadas, especialmente quando você começa a aprendê-las. Então eu recomendo esse sapato agora, mesmo que você pense que você não tem idéia, volte, assista o vídeo anterior, veja como estamos criando o numerador e como estamos usando o retorno de rendimento. E tente fazer o seu melhor, porque mesmo se você tentar um novo fracasso miseravelmente,
quando, quando você me ver fazer o desafio, será apenas um pouco mais fácil da próxima vez que você tentar criar um revestimento. Pause o vídeo agora mesmo e vá fazer o desafio. Oh, ok, bem-vindo de volta. Então aqui, vamos primeiro criar uma variável que é o float público, em tempo real. E então vamos criar um booleano privado. Vai haver v0 recarregando. E essa é a próxima coisa que vamos fazer é ir em frente e criar um enumerador de olhos aqui. Então eu enumerador e vamos chamá-lo de recarga. Porque já temos um método de recarga. Vamos chamar isso de recarga de cortejamento. Oops. E aqui vamos simplesmente ceder, retornar. Novo peso quatro, oops, o que isso espera quatro segundos. E vai ser o tempo real. É assim tão simples. E quando esperamos os segundos para recarregar, vamos definir o
recarregamento, carregando de volta para falso. E quando recarregarmos aqui, vamos, depois de definir tudo, a recarga, recarga, quero dizer, vai ser igual a verdadeiro. E vamos começar o frio. Comece a co-rotina e como se chama? Recarregar co-rotina, fechar tudo isso. E finalmente, o que foi? Precisamos ter certeza de que não podemos atirar, então não podemos atirar enquanto o tiroteio aqui, então verificamos e não estamos recarregando, então podemos atirar.
31. Como exibir a mãe: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos mergulhar na tela novamente. Então, o que fizemos, criamos uma GUI. Então, vamos clicar na nossa pistola. Certo, então temos o total de balas de 26. Vamos fazer este 30 e o tamanho máximo é dez. Então agora, quando batemos em Play, você pode ver que ele não é apenas renderizado no inspetor, mas também é renderizado em nossa tela, então temos 20 balas restantes e toda vez que você atira uma bala, tudo é atualizado. Nós recarregamos. Temos certeza de novo, recarregamos e tudo funciona perfeitamente bem. Então, neste vídeo vamos investigar como criar fontes, como adicionar imagens, como manipular textos usando código. E vai ser muito divertido e excitante. Então não vamos perder mais tempo e vamos começar. Oh, ok, então vamos voltar para o nosso campus. E se você se lembra, o campus era um enorme quadrado branco
no ano que pressionamos hoje para poder editar. Então a tela é basicamente onde podemos colocar todas as imagens e textos que queremos. E a primeira coisa que vamos colocar lá é a imagem de uma bala para representar a munição. Então vamos em frente e ir para os ativos e talvez para os ativos do jogo ou não, vamos manter isso em ativos. Crie uma pasta, e estas serão as nossas imagens. Vamos ver os recursos e tirar a foto da bala que nos dei. Então esta imagem, eu realmente fui em frente e usei o Photoshop a fim de remover o fundo. Então vamos para o padrão e vamos torná-lo um sprite 2D. Agora em nossa tela, sim, aplique isso. Na nossa tela. Vamos clicar com o botão direito do mouse. E, na verdade, vamos abrir. Clique com o botão direito do mouse, vá para u I, e vamos em frente e criar uma imagem. Agora esta imagem vai ser chamada de imagem bala. E vamos em frente e movê-lo para cá. E vamos colocar a imagem de origem como balas, ou simplesmente arrastar o sangue para a posição. E agora temos uma bala na tela. Vamos colocar a vista do jogo ao nosso lado para vermos onde está a bala e o tamanho que devemos fazer. E, claro, tudo isso é baseado em sua preferência. Então você escolhe o tamanho que você quer fazer sua bala. Se quisermos fazer isso maior, basta manter pressionada uma das bordas, mantenha pressionada Alt e expandida. Então, ou você pode até mesmo configurá-lo para seu tamanho nativo, o
que não é a melhor idéia, mas pelo menos parece meio bom. E vamos ver aqui, são 800 por 600. Vamos em frente e podemos dividir isso por dois e dividir isso por dois também sei, mas ainda grande. Vamos novamente dividir isso por dois e isso por dois para que possamos sempre manter o tamanho nativo. Ok, então eu acho que este é um bom tamanho para todas as balas. A próxima coisa que vamos fazer, vamos baixar algo chamado teste de malha de texto. E nós usamos a tecnologia deve texto muito pero, a fim criar nossas próprias fontes e adicionar mais sabor ao texto em nosso jogo. Então, para fazer isso, basta ir para o Gerenciador de Pacotes. Eu já o tenho. Então aqui, vá para o registro Unity e você deve encontrar o texto mesh pro baixado ou atualizado e importar tudo. E é isso. É tão simples assim. Ok, então agora que temos nossa imagem configurada, é hora de adicionar um pouco de texto. Então vamos para a tela. Vamos clicar com o botão direito aqui, e vamos para u I, e vamos adicionar a malha de texto pero. Então, clique nisso. E agora vamos ampliar só um pouquinho. E vamos arrastar isto para perto da nossa bala. E isso representará as balas que
temos atualmente e as balas que são deixadas no pente. Então podemos ir em frente e fazer um monte de coisas aqui. Podemos mudar o alinhamento. Podemos alterar o alinhamento também na horizontal. Podemos torná-lo ousado. Podemos alterar o tamanho da fonte. Podemos fazer muitas coisas. Então vamos fazer isso um pouco maior. Por isso, mostra claramente. E a coisa legal sobre texto barra pro e por que estamos realmente usando isso é porque deixe-me mover isso um pouco para a esquerda. Na verdade, eu quero fazer isso talvez dividido por 1,5 e este também dividido por 1,5. Então esta é a nossa bala bem aqui. E a coisa legal sobre o texto mesh pro é que nós podemos realmente adicionar nossa própria fonte e um ótimo recurso que você pode usar para
obter os melhores telefones é usar o phone.com. E você pode procurar e usar esta fonte aqui. Então vamos entrar e isso é, você pode usar qualquer telefone que você quiser. Mas eu descobri que esta é a fonte mais legal procurando para o nosso consistente. Então vamos para os recursos. Eu fui jogar RG bem aqui. Não queremos usar o 3d1. Vamos simplesmente arrastar isso para a interface do usuário. E mudamos o nome de imagens para o seu olho. Padrão representa o que vamos fazer neste arquivo. Então vamos para a janela. Vamos para o texto mesh pro, e vamos clicar no criador do ativo de fonte. Então pegue a jaqueta de orgia jogo econ e para o arquivo fonte fonte e clique em Gerar formado Atlas. Isso será aberto automaticamente. Não tenho certeza se vai acontecer com você. Isto é muito irritante. Vamos salvar isso e vamos salvá-lo dentro do arquivo UI. Então clique em salvar. E agora abrirá de novo. Irritantemente, Vamos mover a orgia jogabilidade para o ativo fonte em nosso pro de malha de texto. E agora vamos ter este texto aqui na fonte do chiclete play. Então vamos mudar isso para algo para representar nossas balas. Então, será 100 por 100. Claro, vamos mudar tudo isso dinamicamente do nosso código. Vamos fazer isso um pouco maior. Vamos aumentar o tamanho da fonte. E isso é puramente baseado em sua preferência e quanto você quer realmente. Eu tenho todo o seu texto, então eu vou multiplicar isso novamente por 1.5 porque eu sinto que é um pouco pequeno. Ok, então isso parece muito legal. Vamos ver isso no nosso jogo. Whoa, quão legal é isso? Certo, agora temos as balas representadas aqui. E o que, eu realmente queria apenas ajustar isso um pouco à minha própria preferência e você pode fazer o que quiser. Ok, ótimo. Então agora temos esta bala aqui. Temos os textos representando o tamanho da revista e as balas disponíveis. Então vamos em frente e começar a mudar tudo isso dinamicamente. Isso foi deslocado do texto para o texto das balas. Oh, ok, ótimo. Vamos em frente e entrar em nossos roteiros. Clique com o botão direito do mouse aqui, e vamos criar um script C-sharp que chamará o controlador de tela de interface do usuário e certifique-se de escrevê-lo corretamente. Espero que tenha feito. E o controlador de tela de interface do usuário. Ok, ótimo. E vamos em frente e adicionar a extremidade do controlador de tela de interface do usuário scam ao nosso campus. Então agora o nosso Canvas Controller tem este script bem aqui. Muito bom. Agora, a próxima coisa que vamos fazer é abrir o script, clicar duas vezes nele, abri-lo. E aqui vamos adicionar uma única variável que vai ser chamada de malha de texto público pero. Mas como você pode ver, nós não temos ele disponível porque nós não temos a biblioteca para ele. E a forma como podemos adicionar a biblioteca para ela está aqui. Vamos adicionar um novo namespace usando o DMP pro. E agora, quando queremos criar uma variável, podemos realmente ir em frente e criar uma GUI de condicional de malha de texto. E vamos chamar isso de mensagem de munição. Oh, ok, ótimo. Agora, de volta ao nosso sistema de armas aqui em cima, vamos criar uma referência a este controlador, mas não da maneira que normalmente fazemos. Então aqui sob a minha câmera à frente, nós vamos criar um controlador privado você é tela. E vamos chamar isso de minha tela de interface do usuário. E geralmente sabemos que sempre que queremos obter uma referência a um objeto que criamos e tornamos público. Em seguida, colocamos no inspetor. Mas desta vez vamos usar um método diferente. Nós vamos em frente e começar realmente a encontrar o objeto em nosso mundo e então nós vamos obter a referência a ele. Então, a maneira como fazemos isso é criar minha tela de interface do usuário e estamos escrevendo aqui encontrar objeto do tipo. E isso vai encontrar todos os objetos do tipo que lhe damos. Então, ele vai ser o controlador de interface do usuário. E não vai haver nenhum outro controlador de tela de interface do usuário. E agora o que isso faz é que ele vai realmente ir em frente e olhar para a UE, qualquer objeto que tem UI Canvas controlador sobre ele em nossa cena e obter uma referência para. Então, agora temos. Em nossas mãos. A próxima coisa que vamos fazer é atualizar, ligar, algo que é o texto de atualização de munição. E o que esse método fará, vamos em frente e criado, vamos copiar o nome. Vai estar na parte inferior do nosso roteiro. E aqui vamos criar um vazio privado e atualizar texto. E aqui vamos acessar meu controlador de tela de interface do usuário. Vamos acessar o texto de munição e vamos definir o texto. E serão as balas disponíveis. Além disso, vamos adicionar este símbolo de divisão e o tamanho da revista. Ok, então vamos guardar isso. Então, o que estamos fazendo aqui? A primeira coisa que fizemos foi criar uma variável,
enquanto que, por isso, criamos uma variável privada para a tela de interface do usuário. É do tipo UI Canvas controlador porque ele tem o script nele. Nós então temos uma referência a ele, encontrando o objeto do jogo em nosso mundo, esta é uma maneira diferente de realmente obter uma referência. É melhor, talvez mais eficiente? Não tenho certeza se você está falando sobre a velocidade em que ele encontra o objeto, mas é necessário aqui porque, uh, talvez nós tenhamos um tipo diferente de tela e outra cena. Portanto, é melhor encontrar uma tela do que realmente referenciá-la em um objeto. E finalmente, dentro da atualização, criamos um método ou estamos chamando um método que é a munição de atualização. E o que ele faz é, na verdade, continuar atualizando a munição ou definindo o texto do texto de munição no meu campus de interface do usuário. Então, o que as munições enviam? Bem, eu acho que é bastante óbvio que a variável aqui vai realmente ser o texto com bala. Então o texto da bala, oops, o texto da bala é o texto da munição. Portanto, isso será atualizado toda vez que devemos fazê-lo e assim por diante. Então vamos testar isso e ver se funciona. Então, clicamos no jogo. E aí você pode ver, deixe-me ver o jogador. Então, agora, sempre que atiramos, o quão legal é isso? Então agora temos um URI e para alguns, oh, eu esqueci, por que não podia atirar. E agora podemos filmar e recarregar e podemos ver todo o texto sendo atualizado. Então isso é super, super legal, muito legal. Acho que vou fazer a bala um pouco menor porque é enorme e tela. Então, sim, lá vamos nós. Acho que é o suficiente. Tão grande. Agora a última coisa que queremos fazer é realmente queremos colocar todas as balas disponíveis ao nosso lado na interface do usuário, mas eu não estou me sentindo bem hoje, então eu vou te dar um desafio para você fazer isso. Veja o que eu fiz lá. Então exiba o total de balas sobre. Crie uma variável para a quantidade total de texto AMOLED. Então você vai fazer que inveja controlador UI, em seguida, definir a quantidade total de texto munição no texto da interface do usuário. E, claro, você vai usá-lo ao longo, através do método de texto AML atualização que criamos e sistema Egon. E eu vou te dar uma pequena dica porque você pode chegar a este problema. Você precisará usar as duas strings para converter qualquer variável em uma string. Então, como a munição disponível vai ser um inteiro, você precisará convertê-lo em uma string usando o ponto toString. Pause o vídeo agora mesmo e vá fazer o desafio. Ok, bem-vindo de volta. Então, em nossa tela de interface do usuário, vamos criar o texto de munição total. Vamos guardar isso. E a unidade, vamos seguir em frente e pegar este texto com bala. Vamos duplicá-lo. E nós vamos colocar este 100000 vai torná-lo um pouco menor. E nós vamos colocar para baixo o tamanho da fonte porque ele não tem que ser tão grande quanto o resto deles. Então, se você tem melhores habilidades de interface do usuário do que
eu, eu realmente recomendo que para ir em frente e criar seu próprio tipo de estilo, porque eu honestamente ter notado nessas coisas, Eu geralmente evitar a criação de UI. Não sou bom com cores e tudo isso. Então agora vamos em frente e mudar isso para um texto total de marcadores. Guarde isso. Eu sou mais do que um por que isso não mudou? Ok. Então eu sou mais de uma barra de programação desenvolvimento design barra de jogos. Na verdade, não vou entrar em tudo isso. Mas de qualquer maneira, vamos agora ir em frente e atualizar texto, que é na verdade a parte mais fácil no sistema de armas. E vamos rolar para baixo e atualizar o texto de munição. Vamos acessar a tela de interface do usuário. Vamos acessar o texto de munição total. Vamos definir este texto e vamos obter
o total de balas e convertê-los em uma string, e é isso. E agora salvamos tudo isso. Nós salvamos o controlador de interface do usuário. De volta ao nosso jogo. Precisamos de fazer referência. Portanto, o texto total de marcadores é referenciado. Agora, quando acertamos o jogo, devemos ver que a quantidade total de balas é 16. E quando devemos, agora devemos, quando recarregamos, não
devemos ter dez por dez e o montante total deve ser 120. Está bem. Então, quanto temos amatura? Não, acho que a matemática estava certa nisso. Só estou muito cansada. Então, com isso feito, vamos salvar tudo isso. E vamos ver talvez o texto mush pro precisa ser ignorado. Então ignore abaixo do texto mesh pro ou K E o que mais? Certo, não se preocupe. Esses arquivos são pequenos. Vamos encenar tudo isso. Comprometa nossas mudanças. E nós vamos chamar isso exibido a munição usando
o papel de malha de texto como um profissional. Ok, então espero que ninguém veja isso. Então, como vocês podem ver agora,
essas são todas as entradas que criamos e adicionamos muitas coisas, obviamente, mas nosso projeto está ganhando vida e ainda temos muito a cobrir. Então isso é muito excitante. No próximo vídeo, vamos faíscar apontando para o local usando nossa arma. E com isso dito, te
vejo no próximo vídeo.
32. Como apontar o sinal: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, vamos estar mirando para baixo. Então, o que eu quero dizer com isso? Agora estão ao nosso lado, atira ele recarrega. E se quisermos ampliar um pouco para mais precisão, e agora podemos fazer isso. Então, vamos aprender como podemos mover nossa
posição de armas como queremos começar a apontar para o local para mais precisão. Então não vamos perder mais tempo e vamos começar. Então, qual é o esquema do cólon? Então nosso objetivo é, sempre que pressionamos o botão mais esquerdo, queremos colocar nossa arma bem no meio e na frente de nós. Então, o que quero dizer com isso, deixe-me falar do jogo aqui. E sempre que pressionarmos o botão esquerdo do mouse, quero mover a posição da arma. Então deixe-me escolher a arma aqui. Então o nosso pistão na verdade, e eu quero movê-los para o 000, então ele vai estar bem na nossa frente, exatamente assim. Então, o que devemos fazer para fazer isso? Primeiro, precisamos criar uma posição aqui que nos
permita mover a arma para essa posição. Então a maneira que vamos fazer isso é
criar um objeto de jogo vazio na pistola. Assim será no meio. E vamos chamar isso de posição AIM. E nós vamos não ter certeza disso do nosso pistão. E nós vamos colocá-lo no 00. Assim, este será o destino que se foram precisa mover
para uma ordem para estar no meio. Então vamos guardar isso. A próxima coisa que vamos fazer é criar um,
uma referência a ele em nosso sistema. Então vamos mover aparecer e vamos em frente e criar a seção de mira de argônio. E vamos criar uma transformação pública. E esta será a nossa posição de mira. A próxima coisa que vamos fazer é definir a velocidade de mira. Então a que velocidade vamos nos mover
da direita da esquerda porque não queremos que seja instantâneo. Queremos ter uma certa velocidade. Então vamos criar um soldado que não queremos
ser capazes de determinar isso pelo inspetor. Este será um valor definido. Vamos chamar isso de velocidade de mira. E vamos apenas definir para F. E agora vamos para o nosso inspetor e com a nossa pistola. Vamos esperar por isso. E eles agora na pistola, vamos em frente e dar a posição AIM como a posição bem am. Ótima. E a próxima coisa que vamos fazer é entrar no nosso gerente de armas. E aqui vamos verificar se há uma certa entrada, que é claro que vai ser o botão do mouse. E ele irá verificar se há o botão direito do mouse. E sempre que pressionamos o botão direito do mouse, vamos nos mover. Nossas armas estão atiradas em direção à posição de AIM, e isso é realmente uma função. Então aqui temos algo chamado o vetor três pontos mover em direção. E o que isso faz, ele retorna uma nova posição, é claro, mas o que ele faz é calcular uma posição entre os dois pontos especificados, que são o atual e um determinado alvo. E move-o à velocidade de um delta máximo que lhe damos. Então vamos em frente e implementar isso. Mas na verdade faz parte do seu desafio. Então seu desafio é aplicar o movimento para, então certifique-se de entender como o método funciona a partir dos cães, determinou qual é a corrente e quais são as posições alvo, e então aplicá-los ao método com o delta distância máxima. Então, com isso dito, pausar o vídeo agora e ir fazer o desafio. Oh, ok, bem-vindo de volta. Então, porque esse movimento em direção retorna uma determinada posição, então nós vamos acessar a transformação do argônio. E nós vamos definir sua posição para o refator 3. O movido em direção e o que devemos estar adicionando aqui? Então, qual é a posição atual? Enquanto a posição atual é a posição do ponto de transformação. Então esta é a posição da nossa arma. Em seguida, queremos avançar em direção ao alvo, que é a posição AIM, posição ponto. E, finalmente, queremos movê-lo na velocidade da velocidade AME, mas é vezes tempo, tempo delta. Então vamos guardar isso. E vamos testar isso e nosso ganho de unidade. Então, quando apertamos play, devemos ver que sempre que tínhamos o botão direito do mouse, nós movemos são ido para o centro. Como você pode ver, algo está definitivamente errado aqui. Então a posição de disparo não está na sua posição correta e não podemos nos mover foram para trás. Então vamos consertar tudo isso. Agora, o problema da posição de disparo é que na verdade não é um filho da pistola. Então, sempre que estamos nos movendo, na verdade não está se movendo, mas nós. Então vamos em frente e criança a posição de disparo até a pústula. E isso deve tornar tudo isso muito mais fácil. Então, agora, quando nos movemos, devemos, sempre que a arma estiver à nossa frente. Muito agradável. E a outra coisa que você quer consertar como nós realmente queremos que nossa arma esteja voltando. Então, para fazer isso, em primeiro lugar, precisaremos de uma referência. E aqui também, a posição inicial das armas. E isso pode ser um soldado. Então, o vetor privado três pontos se foi. Início é aquele ponto que eu tripulado espaço, posição inicial. E vamos defini-la no início. Então aqui, em algum lugar. Vamos colocá-lo aqui. Assim, a posição inicial do canhão será igual à posição do ponto de transformação. É tão simples assim. E finalmente, aqui, se estamos pressionando o botão GetMax, um, que significa o mouse direito ou
o sim, o botão direito do mouse ou então vamos copiar tudo isso. E eu vou te dar alguns segundos para você completar isso se você ainda não fez o desafio. Então esta é a sua chance. O tempo do K acabou. Então, o que deveríamos estar fazendo aqui? Assim, a posição atual será a posição transformada e a posição alvo será a posição inicial do canhão. Então vamos guardar isso. E porque já é um vetor três, não
precisamos realmente colocar na posição de ponto. Então, como a posição AIM foi uma transformação, é por isso que adicionamos a posição de ponto dois. Só queria deixar isso claro se alguns de vocês ainda estão confusos. Então, de volta ao nosso jogo, vamos jogar. E o, algo obviamente está errado. Então nossa arma está agindo não como uma arma de verdade, então ainda podemos atirar em coisas. Ele aponta corretamente. Mas por alguma razão, quando soltamos o botão esquerdo do mouse, ele meio que se move em direção a algum lugar e na verdade está se movendo. Onde está o nosso jogador de resultados de arma? Então ele está realmente tentando se mover para
a posição em que estava originalmente e você não pode culpá-lo. Por que é isso? Bem, porque aqui podemos ver que estamos nos movendo para fora da posição de ponto de transformação. Se não estiver pressionando nenhum botão do mouse, volte para a posição inicial do gon, que determinamos assim, e é tudo para movê-lo em uma determinada velocidade de mira. Nossa arma está sempre tentando voltar para a posição inicial da arma. Então, como é que vamos resolver isto? Bem, na verdade é muito fácil. A única coisa que precisamos fazer é mudar a posição transformada, que é a posição espacial mundial, em sua posição local. Então vamos primeiro mudar o gon, começar posição para a posição local. E esta é a posição da transformação em relação à transformação dos pais. Com esse Don, também precisamos mudar a posição transformada da posição normal para a posição local. E também precisamos mudar este aqui. Vamos guardar tudo isso no nosso jogo. E agora devemos ter uma arma funcionando corretamente e não uma que esteja flutuando por aí. Então, sim, o argônio está conosco. E quando apertamos o botão mais à esquerda ou o botão direito do mouse, podemos ver que estamos mirando para baixo e tudo parece estar funcionando corretamente. Então, com isso feito agora temos nossa arma apontando para o local. Podemos aplicar isto a qualquer arma do nosso jogo. E a próxima coisa óbvia a fazer é realmente ampliar um pouco. E é isso que vamos fazer no próximo vídeo. Então, vejo-te depois.
33. Zoom com FOV: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos melhorar a nossa mecânica de mira, não só movendo a nossa chegada ao centro, mas também apontando para o local corretamente. Então agora ampliamos sempre que pressionamos o botão direito do mouse e, como você pode ver quando o soltamos,
ele não aumenta mais o zoom. E agora temos armas mais precisas. Com isso dito, não vamos perder mais tempo e vamos começar. Oh, ok, então como é que vamos estar a aproximar? E o que não é um 4V? Bem, se formos para nossa câmera principal e aqui podemos ver que temos um campo de visão. E se tentarmos diminuí-la, você pode ver que estamos ampliando e nós, se tentarmos aumentá-la, você pode ver que estamos diminuindo o zoom. E isso é o que vamos estar tentando manipular em nosso código a fim de zoom n Sempre que terminarmos de lado com a nossa lacuna. Então vamos colocar isso de volta para 60, e vamos salvar tudo isso. E agora vamos abrir nosso código. E nós estamos realmente indo para ir para o nosso movimento de câmera. Então aqui nós vamos estar acessando o F0 v E nós vamos estar manipulando ou ampliando e diminuindo usando diferentes métodos e assim por diante. Então a primeira coisa que vamos fazer é herdar. Vamos criar um carro alegórico privado. E este vai ser o motor de arranque para V e o alvo 4V. Agora estes vão ser privados porque vamos usar métodos para mudá-los. E agora aqui vamos criar um carro alegórico público. E esta vai ser a velocidade FOB. Então isso representará a que velocidade o FOB estará ampliando e diminuindo. E vamos usar um método semelhante a mais movimento em direção, mas será diferente. E finalmente, vamos obter uma referência à nossa câmera, a fim de acessar o 4V. Agora, nós aprendemos ao longo das pontuações como, primeiro lugar, obter uma referência usando uma variável pública. Aprendemos como encontrar um objeto de jogo, mas e se quisermos acessar um jogo ou um componente que já está no objeto no qual temos nosso script. Então temos os movimentos da câmera e queremos acessar o componente do Cameron aqui. Portanto, há uma maneira muito simples de fazer isso. Então, primeiro de tudo, vamos fazer disso uma câmera privada porque estamos realmente acessando o componente da câmera e vamos chamar isso de minha câmera. E a maneira como obtemos um componente é entrarmos aqui e diremos que minha câmera é igual para obter o componente do tipo câmera. E isso é, então o que isso faz, digamos que temos o movimento da câmera, que é o script no objeto da câmera principal. E este objeto principal da câmera tem componentes, e um deles é a câmera. Então o que isso faz é aqui, no início, assim que começamos temos o componente da câmera que está no objeto do jogo da nossa câmera principal. Então esta é uma maneira muito mais fácil e é semelhante a definir objeto, mas ele só funciona se realmente tivermos um componente do tipo câmera em nosso objeto de jogo. Ok, então com isso feito, vamos em frente e começar. Vamos definir a partida ou 4V. Então, o início para v será, naturalmente, o meu campo de ponto de vista câmera. Então, já está lá. E então vamos definir o alvo I 4V como o início da taxa sempre que realmente começar o jogo. Agora, como vamos mudar o 4V? Bem, aqui e atualização tardia, vamos estar interpolando o campo de
visão da câmera para o campo de visão do alvo e o que está interpolando. Bem, deixa-me mostrar-te aqui. Então vamos usar algo chamado o ponto F matemático. E o que isso faz é interpolar ou retorna o resultado flutuante entre a interpolação de dois valores. Então nós temos o valor inicial de um, que vai ser o campo de visão da nossa câmera. Vamos ter o valor final, que é o alvo de 4V. E então vamos interpolar estes usando algum tipo de valor, que será, claro, o campo de sua velocidade que criamos. E o que significa interpolação? Bem, isso significa que nós nos movemos para ou não realmente faltou obras. Não é o jeito certo de dizer. Então deixa-me mostrar-te aqui. Então vamos usar tinta. Então, indo em direção, digamos que temos um alvo aqui. E a maneira como nos movemos é que realmente vamos para esta posição usando viagens constantes. Então essas distâncias são as mesmas e continuamos nos movendo até chegarmos à interpolação alvo. Por outro lado, como temos um valor aqui, queremos chegar a esse valor aqui. Então começamos movendo este espaço. Nós então nos movemos
para este espaço, para este, para este e isto e a distância continua ficando menor até finalmente chegarmos ao nosso destino. Então isso funciona melhor sempre que estamos trabalhando com zoom e este MOOC funciona melhor sempre que temos posições que queremos mudar. Não queremos realmente abrandar à medida que avançamos, chegamos ao nosso objetivo. Então, com isso explicado, não, não salve essa obra-prima. De volta ao nosso guião. Vamos pegar minha câmera FOB. E vamos criar um mapa f lóbulo. E aqui vamos definir o flutuador ou o valor inicial no ponto da câmera do microfone. Campo de visão, que é o valor inicial. Vamos então definir o FOB alvo como o valor alvo. E nós vamos fazer isso a uma velocidade do F0 v vezes tempo, oops, tempo, ponto delta tempo. Ok, ótimo. Mas ainda não terminamos porque isso não fará nada. Atualmente, o alvo de um v é a inicialização 0V e O Startup 0V é a câmera para v. Então isso significa que não estamos fazendo nada. Vamos criar dois métodos aqui. O primeiro será um vazio público, x2, n e seu público porque nós vamos ser x acessá-lo a partir do sistema de ve gone. E este método vai tomar em um parâmetro que é o zoom alvo float. E aqui vamos mudar o alvo de 0V e para o alvo x2. E também vamos criar um método para reduzir o zoom. Então isso vai ser um zoom de vazio público. E isso irá simplesmente redefinir a apatia alvo e para o início de 4V. E é isso. Agora, vamos criar um método e o sistema GUN que não irá realmente um método. Vamos checar nosso gerente de armas para algum tipo de entrada. E quando fazemos isso que entrada vamos acessar o Considerando que V ampliando. E nós vamos definir um certo alvo, zoom para ele. E então, quando lançamos a entrada set, vamos diminuir o zoom. E faz parte do teu desafio. Então seus desafios para terminar de ampliar e reduzir. Então, a primeira coisa que você precisa fazer é criar uma variável de quantidade de zoom que será única para Africano porque, por exemplo, Pasteur zoom em uma certa distância, então você tem, por exemplo, snipers que podem ampliar ainda mais do que isso. E talvez você tenha um grande atirador que amplia todo o caminho. Então a próxima coisa que você precisa fazer é no gerente de armas, verificar para parar o mais abotoado para cima ou para baixo. E com base nisso, você precisará ampliar e reduzir e, finalmente, encontrar a câmera move objeto, assim como fizemos anteriormente. Então, vamos precisar encontrar o objeto em cada condição e acessar o método nele. Então pausar o vídeo agora mesmo e ir fazer o desafio, mesmo que seja um pensamento, especialmente a última parte. Oh, ok, bem-vindo de volta. Então a primeira coisa que vamos fazer é manter a variável aqui para
que seja um float público, quantidade de zoom superior. E vamos guardar isso. Vamos colocá-lo no inspetor e porque é parte da mira vai mantê-lo aqui. E aqui vamos verificar se temos o ponto de entrada,
obter o botão do mouse para baixo. Isso significa que estamos pressionando o botão direito do mouse para baixo. Vamos encontrar o objeto do tipo. E é claro que vamos encontrar o movimento da câmera. E nós vamos estar ampliando. E porque ele leva em um parâmetro, se nós não dar-lhe um parâmetro, ele vai nos dizer que há um erro e nós precisamos atribuir um parâmetro que é, naturalmente, o zoom out. E se usarmos a entrada, enquanto que o ponto de entrada obter botão do mouse para cima. Então, quando
soltarmos o botão um do mouse , queremos, vamos copiar isso, colocá-lo aqui. E nós estamos realmente indo para ser zoom fora. E se você não pode usar o zoom out e zoom in, certifique-se de que temos esses dois públicos. Então é a primeira vez que estamos acessando um determinado método de um script diferente, eu acredito se eu não estou confundindo. Então, se você pelo menos tem que criar estes para verificar para eles e a quantidade de zoom, eu parabenizá-lo se você foi até o fim e descobriu como fazer isso, você é incrível. Continue com o ótimo trabalho. Então, com isso feito, vamos salvar isso. E vamos nos certificar pela última vez quando diminuirmos. Então vamos ver o quanto queremos apontar para baixo o site é 40, sem quarenta demais, eu acho que de 60 a talvez 55 para uma arma é suficiente. Então vamos repor isso na nossa pistola. Vamos fazer a quantidade de zoom, o 55. Então, agora, quando
pressionamos play, podemos e quando apontamos no local com o botão direito do mouse rota, devemos estar ampliando apenas um pouco. E deixe-me deixar isso mais óbvio ou vamos fazer 50. E você pode ver como a interpolação funciona. Não avançamos para o valor. Nós realmente zoom lentamente em até chegar ao valor final ou o alvo 4V. Se isso ainda não está claro, deixe-me fazer 40. E agora, quando apertamos o play, podemos ampliar o site e você pode ver como ele muda lentamente. Mesmo depois de alguns segundos, ainda
estamos ampliando um pouco. Então, com isso feito, espero que tenham gostado deste vídeo. Espero que tenha gostado desta seção. E na próxima seção vamos adicionar não apenas culpa,
não apenas por esses inimigos simples, essas esferas estranhas. E aqui estamos realmente indo para adicionar grandes inimigos, inimigos assustadores, e acima de tudo inimigos inteligentes que vão persegui-la, perseguir nosso jogador ao redor e atirar nele e machucá-lo. Então o que isso disse, eu espero que você tenha gostado deste vídeo e não vamos esquecer de encenar nossos arquivos ou encenar tudo isso. E vamos dizer que criamos e mira mecânica com zoom. E vamos cometer nossas mudanças. E com isso, te vejo na próxima seção e no próximo vídeo.
34. SEC 6 — animando nossos Enemies: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Sim, este é um rosto revelado. Não, na verdade, adicionámos dois novos demónios ao nosso mundo e eles não ficam ali a olhar para nós. Eles na verdade, oh, e a propósito, nós tornamos nosso playground maior. E quando batemos no jogo, esses demônios voam por aí e eles estão sempre olhando para nós, olhando para ele, ele está sempre olhando para nós e pulando para cima e para baixo. Então, o que também criamos é esse demônio que podemos atirar. Onde está aquele demônio? Então ele Xin olhando para nós onde Z. E agora podemos atirar nele enquanto ele está se movendo e eles não são páreo para nós. Então, neste vídeo, nós vamos criar os inimigos demoníacos. Vamos adicionar um pouco de movimento dinâmico a eles. E não vamos perder mais tempo e vamos começar. Ok, então atualmente nossos inimigos são apenas esferas e eles são muito chatos e muito estáticos. Então vamos mudar isso muito rápido. Primeiro, vamos adicionar um pouco de demônios ao nosso jogo. Então, atualmente, vamos estar usando o daemon de cacau e é um monstro do jogo fazer maternal se você já jogou,
ele é muito legal e muito assustador. E o que vamos usar é, na verdade,
deste site que é chamado de esboço Fab.com. E é um site muito bom se você quiser baixar modelos 3D. É por criadores de V às
quatro, não sei quem é. Então você pode ir em frente e baixar o modelo ou usar o que eu forneci nos recursos. Então simplesmente arraste este arquivo aqui e certifique-se de descompactá-lo. Primeiro de tudo, arraste-o para os nossos recursos de jogo. E agora nós podemos clicar duas vezes aqui, e nós realmente temos um par de texturas que nós vamos adicionar a um material especificamente para este demônio e simplesmente arrastar este objeto em heap. Então, atualmente, nosso demônio é muito, muito pequeno. Então o que vamos fazer é aumentar a escala dele para 200 em todos os lados. Então 200 x 200 no y e 200 no zcat. Então agora temos um grande monstro gigante. E, mas ele atualmente não tem nenhuma cor e não tem texturas. Então, vamos entrar aqui. Vamos duplicar o material que já está no objeto. E este é o material que vamos usar neste demónio. Então clique neles. Você pode ver que ele tem um renderizador de malha e simplesmente arraste este material aqui. E agora podemos começar a modificar o material. Então a primeira coisa que vamos fazer é adicionar esta carga e M no mapa normal. Então você pode ver imediatamente ele recebe mais texturas sobre ele. Clique em fixo. Agora, a próxima coisa vamos adicionar o A, que é a ocasião. Então, aqui mesmo. Então agora você pode mudar isso, movê-lo para cima e para baixo dependendo de como você quer que ele pareça. E finalmente, vá em frente e adicione o cacau, o M no albedo bem aqui, e teremos o nosso monstro em seguida. Então vamos adicionar um pouco de missão a ele e também adicionar o Eu estou aqui. Então agora o nosso monstro é muito mais brilhante, mas ele é muito brilhante. Então o que você pode fazer é você pode brincar com o metal, você pode brincar com a suavidade. E você pode brincar por aqui. Você pode fazer isso sozinho e verificar como você quer que seu demônio pareça. Então eu vou deixá-lo um pouco mais escuro. E sim, então isso parece bom o suficiente para mim. Você também pode mudar, oops, você também pode mudar as cores sobre a emissão, tornando mais vermelho ou mantendo y depende de como você quer que seu demônio para olhar. Você também pode brincar e ver o que funciona para você. Mas agora se clicarmos no jogo, podemos atirar por aí. Mas se atirarmos em nosso demônio, bem, nada acontece. E isso é porque ele não tem nenhum colisor com ele. E a maneira como podemos adicionar um colisor é indo aqui para adicionar componente. Podemos procurar pelo colisor de malha. E podemos realmente adicionar o colisor que está com este objeto jogo. Então, em vez de simplesmente adicionar um líder esférico ou um coloidal quadrado, podemos adicionar este colisor de malha, que é específico para este daemon de forma. E finalmente, precisamos marcá-lo como inimigo. Então isso mudou o nome dele para o corpo do demônio da carga. E agora, quando
acertarmos o Play, podemos filmar o Daemon e ele morre. Muito agradável. Agora, a próxima coisa que vamos fazer é adicionar um pouco de movimento ou Neiman. Então, para fazer isso, vamos primeiro criar um objeto de jogo vazio. E aqui vamos chamar isso de “Cuco, cuco daemon”. E vamos colocar o objeto nessa carga demônio
demônio demônio e colocá-lo sob os inimigos. E vamos apagar nossas esferas. Não precisamos mais deles. A próxima coisa que vamos fazer é adicionar um animador aqui. E vamos começar a animar o nosso edema. Então, clique no demônio cacau, Ir para a animação e criar uma animação quatro, e ir para o arquivo de recursos do seu projeto. Então, em animações, vamos criar uma nova pasta que não é a animação do player. Então nova pasta, Esta será a animação demoníaca, animações demoníacas. E aqui vamos simplesmente criar um que está ocioso. Então animação ociosa, se isso, e isso será basicamente a animação ociosa. E agora temos o animador e um animador no componente animador do demônio do cacau. Agora queremos criar uma animação que mova nosso demônio para cima e para baixo. Então clique de volta na carga demônio tem animação, criar um novo clipe. E este será o, vamos chamá-lo de animação em movimento. E vamos guardar isso. Ótima. Então agora temos o movimento, vamos clicar no botão vermelho e vamos movê-lo para cima a cada 1 segundo. E vamos ver quanto devemos movê-lo para cima. Então eu acho que esta é uma altura apropriada. E depois na marca de 2 segundos, ele vai voltar para baixo. Então vamos olhar para a animação. Ele se move para cima, ele se move para baixo. Vamos guardar isso. E vamos fazer ambos lineares. Então vamos olhar para a animação que temos. Então ele se move para cima e para baixo. É um pouco peculiar. Você pode alterá-lo e brincar com ele dependendo da sua preferência. Ok, ótimo, tão bem que nenhum, é hora de realmente acionar essas animações e criar transições. Então vamos em frente e criar uma transição aqui do petróleo para o movimento. Vamos, na verdade, colocá-lo assim e mover a saída sobre qualquer estado. Então agora temos movimento e ocioso, e vamos criar realmente um booleano. E aqui isso vai ser chamado de parâmetro move. E aqui vamos adicioná-lo removerá qualquer tempo de saída e removeremos a duração da transição. E vamos adicionar a condição aqui para mover é definida como verdadeira. A próxima coisa que vamos fazer é ir para o demônio cacarejador. Vamos adicionar um componente aqui, e vamos criar um script que chamará o inimigo de movimento básico. E quando escrevemos aqui, podemos criar um novo script. Então crie um anúncio. E vamos esperar que ele se compile. E isso abrirá automaticamente por algum motivo. E então teremos um ativo do roteiro. Então, basta arrastá-lo para os nossos scripts aqui. E o Visual Studio abre novamente. Então, volta um roteiro R. Vamos clicar duas vezes no movimento básico inimigo. E aqui nós vamos, é claro, em
primeiro lugar, ir em frente e criar um Animator. E ele pode ser Tor, e vamos chamar isso de meu animador. E ele pode torr. Ok, então vamos guardar isso. Agora vamos obter os componentes do meu animador é igual ao componente get e animador. E isso porque o animador está na verdade no mesmo objeto de jogo do nosso script. E a próxima coisa que vamos fazer aqui e começar, vamos pegar meu animador e vamos definir o booleano. E este booleano vai ser a referência de string. Sempre que temos uma referência de string, nós sempre vamos e copiá-lo com base em aqui. E vamos definir o valor para ele, o que é verdade. Então vamos salvar isso e vamos
testar isso e ver como nosso demônio parece e taxas realmente funcionando. Então, vamos jogar. E podemos ver que nosso demônio está se movendo para cima e para baixo, cima e para baixo, e podemos atirar nele e matá-lo. Ok, ótimo. A próxima coisa que queremos fazer é realmente queremos que este demônio esteja
olhando para o nosso jogador enquanto ele está se movendo para cima e para baixo. Então, a maneira como fazemos isso é entrarmos em nosso roteiro. Vamos criar uma transformação aqui. E vai ser o nosso jogador. E não queremos sempre designar o jogador. Então o que vamos fazer é, e aqui vamos pegar este jogador e vamos encontrar o objeto do tipo. E o nosso jogador é do tipo jogador porque ele tem o roteiro nele. E nós vamos acessar a transformação desse objeto. Então agora pegamos este jogador, temos os objetos de encontrar e temos eixo X, o transporte deste objeto de jogo. A próxima coisa que queremos fazer como uma atualização, nós realmente queremos começar a olhar para este jogador. Então já cobrimos a procura. Então Transformar ponto olhar para e nós vamos dar-lhe o transporte jogador. Vamos guardar isso. E vamos olhar para o nosso daemon agora mesmo. Então ele deve estar olhando para nós enquanto ele está se movendo para cima e para baixo. Então começamos de novo, vemos que ele está realmente olhando para nós, mas não tenho certeza se é óbvio ou não. Sim, é. Então, enquanto nos movemos, o demônio está sempre olhando para o jogador e podemos destruí-lo. Vamos ver isso de novo, porque é muito intimidante. Então, nossa movimentação nosso demônio voa ao redor e ele até vai em direção e ele sentiu, oh meu Deus, o que é isso? Então ele está mudando de posição com base em onde nosso jogador está se movendo. Então vamos ver. E sim, isso parece assustador como o inferno. Agora o que podemos fazer é seguir em frente e aplicar o movimento raiz. E vamos ver isso de novo. Então agora nosso Neiman deve ficar no lugar e não deve estar quebrando nosso jogo. Oh, eu estava realmente apavorado lá. Ok, ótimo. Agora temos nosso demônio se movendo para cima e para baixo, mas queremos talvez adicionar um pouco mais de animações ao nosso demônio. Então vai ser parte do seu desafio. Então você está desafiado a ser criar uma animação rotativa. Então crie uma animação rotativa para o inimigo. Você pode ir em frente e duplicar o demônio cacarejar. Você cria um booleano para acionar essa animação. Crie duas variáveis booleanas para escolher entre mover, entre mover e girar e o script. E, em seguida, defina as animações desejadas no início. Espero que tenha conseguido o desafio, o que precisa fazer. Então você precisará criar dois booleanos em seu script. E para cada um, você será capaz de escolher entre o inspetor se este demônio que estaremos voando ou se movendo ou ele estará girando ao redor. Pause o vídeo agora mesmo e vá fazer o desafio. Ok, como você se saiu com isso? Então vamos pegar nosso demônio Kochab. Vamos duplicá-los. E vamos trazê-lo para cá. E vamos mover este lá para fora. E vamos pegar este e criar um pouco de animação para ele. Então vamos para animações e criar um novo clipe. Chamaremos isso em ativos, animações, animações demoníacas e Rotating. Então vamos criar a rotação e vamos começar por, vamos olhar para ele a partir do, daqui de cima. Então agora vamos em frente e começar a gravar na 2.5ª marca. Vamos transferi-lo para cá. Em seguida, na marca de 1 segundo vai movê-lo para cá. No aqui. Vamos movê-lo para cá. E aqui, vamos movê-lo para cá e talvez um pouco para cima. Finalmente na v2 30, então 2,5 segundos, vamos colocá-lo de volta à sua posição original. E agora isso pode ser um pouco rápido, então vamos jogar. Vamos ver como isso parece. E sim, meio rápido, mas parece bom o suficiente. Então, clicando com o botão direito aqui, ambos os motores os tornam lineares. E agora nosso movimento é um bot peculiar, mas é meio humilhante, diminuir que mesmo um verbo. Talvez possamos torná-los um pouco maiores para dobrarmos o tempo. Então agora ele é um pouco mais lento e mais fácil de acertar. Vamos guardar isso. E agora precisamos realmente
determinar se esse demônio estaremos voando, se movendo ou girando. Então, um animador, vamos adicionar isso aqui. Vamos criar outro booleano, e vamos chamar isso de rotação. E vamos criar uma transição do ídolo para a rotação. E vamos adicionar irá remover o tempo de saída. Vamos remover a transição. E vamos adicionar a condição de que a rotação agora deve ser verdadeira. Vamos guardar isso. Back-end nossos roteiros aqui. Vamos criar dois Booleans. E eles vão, naturalmente, ser bool público. E vamos criar um movimento e girar. E aqui vamos definir o animador não só para ser fiel quando quisermos nos mover, mas para nos mover. E o segundo seria a parede do meu animador, e vai ser V. Vamos copiar isto. Então o script palavra por palavra clique duas vezes em girar, copiá-lo, colocá-lo aqui, e esta será a rotação. Agora temos esses booleanos que nosso público pode mudá-los diretamente do demônio. Então, se você clicar aqui, podemos escolher o demônio para mover e este demônio para girar. Vamos guardar isso. E agora esse demônio vai girar e esse demônio vai se mover porque nós os colocamos bem aqui. Então, quando o filme for verdadeiro, este será verdadeiro e este será falso. E aqui será falso. Então nosso comportamento ou o comportamento de nosso animador dependerá desses booleanos que criamos e aqui, então de volta ao nosso jogo, nós nos certificamos de que este seja girado. Este é um movimento. Vamos tocar no play. E agora temos esse demônio girando e voando ao redor e olhando para nós o todo, OK. Acho que precisamos de tornar o nosso parque um pouco maior. Então vamos fazer 20 por 20. Então temos muito espaço para mover e isso mudou esses dois porque, por que não? E vamos também mover estes. Então vamos mover isso também. E vamos parar de segurar a tela. Mova isso lá em cima. Mova isso lá para cima, e mova esses quatro cubos aqui para o canto do, Ok, ótimo, então guarde isso de volta no nosso jogo. E agora temos um playground maior para brincar e espero que não caia. E estes são os demônios que jogam por aí para que possamos atirar em um deles. Podemos até ampliar com nosso novo mecânico. E por que ele não está morrendo? Ok, nós não batemos nele. Ok, ótimo. Agora temos inimigos mais assustadores, inimigos dinâmicos. No próximo vídeo, vamos começar a criar inimigos inteligentes. O que isso disse, espero que você tenha gostado do vídeo e não vamos esquecer de cometer nossas mudanças não comprometidas. Vamos ver, talvez não precisemos do PNG real. Então clique com o botão direito aqui, e vamos em frente e ignorar a linha demônio, monstro. Ok, encenar tudo isso. Mudanças comprometidas, adicionou um demônio assustador, monstro, monstro. Comente que e com isso dito, próximo vídeo será os inimigos inteligentes. E vemo-nos lá.
35. Guarde inimigos: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, adicionamos mais um inimigo, mas este não é um inimigo qualquer. Se você clicar nele, você pode ver que ele é um inimigo inteligente com um script inimigo e um agente de malha nav. Então, o que acontece quando batermos no Play? Podemos ver que ele começa a se mover sozinho e ele está realmente guardando o avião inteiro. Não estamos fazendo nada, então nem estamos jogando. Você pode ver que não estamos tocando o teclado, não fazendo nada, apenas comprei, cuidando de nossa própria vida. Enquanto nosso pequeno inimigo verde aqui está andando por aí com seu olhar ameaçadoramente verde, tentando nos encontrar. Então, com isso dito, não
vamos perder mais tempo. E vamos criar um pouco de nós, ok, então agora queremos criar um inimigo que
na verdade estará guardando em todos os lugares por aqui no avião. Agora, a primeira coisa que precisamos abordar é como nosso inimigo ou qualquer objeto, sabe onde ele deve estar andando e guardando. Bem, há uma ferramenta muito poderosa na unidade que é chamado de agente de malha suficiente. Então deixe-me mostrar o que é isso. Então vamos para a janela e clique em navegação. Então você terá essa aba estranha bem aqui que vai se abrir. Então simplesmente disquete ao lado da iluminação. E agora deixe-me explicar o que significa essa navegação. Então, primeiro de tudo, vamos ao agente. Este é o agente que poderemos andar pelo mundo que criamos para ele. Portanto, ele tem uma altura de passo para que você possa aumentar o passo que o agente pode caminhar. Vamos redefinir isso. Você pode aumentar a altura do seu agente. Você também pode alterar o raio e assim por diante e assim por diante. E isso determinará como, qual é o ângulo em que o agente pode andar. A próxima coisa que temos a área. Não tenho certeza do que são. Isto é para cálculos mais complicados, não se preocupe, não vamos encontrá-los. E nós temos o assado. E esta é a parte mais importante da navegação, é que nos permite criar o mundo em torno do qual nosso jogador será capaz ou não nosso jogador realmente nosso agente, que será nosso inimigo, foi capaz de andar. Então, como vamos criar essa primeira coisa que precisamos para entrar no meio ambiente. E precisaremos escolher todos os nossos cubos. E precisamos ir ao inspetor e torná-los todos não estáticos. Você precisa torná-los de navegação estática. Então isso vai dizer a navegação ou nav malha que esses objetos não se moverão em nosso mundo. E nós não queremos esbarrar em. A próxima coisa que faremos é clicar no avião e fazer uma pilha justa. E agora que configuramos isso, vamos para a navegação e vamos bater bacon aqui. Então espere alguns segundos. E como podem ver agora, todo o
nosso avião tornou-se esta cor azul brilhante e esta praga azul. cor azul brilhante representa toda a área em que um agente de malha nav será capaz de andar. Então, quem é o nosso agente de malha nervosa? Quem é esse? Vamos em frente e criá-lo. Então vá para o objeto 3D, crie um cilindro. E vamos redefinir a posição dele. Então, onde você está? Reiniciar a posição? E vamos colocá-lo aqui. E vamos ampliar e dar uma olhada neles. Então este será o nosso inimigo. Inimigo tão inteligente, que é chamado de inimigo inteligente. E vamos aumentar seu Y 22. E agora, na verdade, isso está fazendo 1.6. E vamos movê-lo para baixo só um pouquinho. Agora vamos adicionar um componente chamado agente de navegação Nash. Então procure por agente e terá o agente de purê de navegação aqui. Então, como você pode ver, é o humanóide, que é um suficiente agentes de malha. Então, de volta ao agente de navegação, o humanóide, podemos criar vários agentes. Mas, por enquanto, vamos ficar com este. E como podem ver, ele tem uma certa velocidade, uma certa velocidade angular. Ele também tem, tem um monte de coisas acontecendo para ele que nós não estaremos incomodando. Vamos manter tudo como está, talvez aumente a velocidade um pouco mais tarde. Agora, vamos entrar na codificação do nosso inimigo inteligente. Então, e nossos roteiros, vamos criar um script C-sharp que é chamado de IA inimiga. E agora o Visual Studio abre sozinho. Veja, eu prevejo essas coisas. Então o inimigo AI, ele compila. Vamos adicioná-lo ao inimigo inteligente. Bem, o Visual Studio abre sozinho. Não, não aconteceu. E agora clique duas vezes em IA inimiga. Então, o que vamos fazer aqui? Primeiro, vamos ter uma referência ao agente de malha suficiente. Mas se você tentar isso agora você pode ver que
não há nada correspondente a uma malha de navegação. Isso é porque precisamos adicionar a biblioteca. Então, usando Unity motor ponto AI. Ótimo. Então agora vamos ser capazes de criar uma variável que é do tipo nav agente de malha. Vamos chamá-lo de meu agente. E também vamos criar uma camada. Então máscara de camada pública. E isto vai ser chamado o que é terra. E descobriremos mais tarde por que vamos usar isso. Na verdade, você vai usar isso em qualquer desafio. Ok, vamos continuar. No início, vamos obter os componentes. Então meu agente é igual a obter componente, e vai ser o agente de malha de navegação. Então agora temos uma referência a ele, e agora nosso agente pode realmente executar várias tarefas e uma delas estará indo para um determinado destino. Então, antes de
continuarmos, precisamos criar o destino para ele. Então vamos criar um vetor público três. E isso vai ser chamado de ponto de destino também irá criar um booleano para verificar se já dissemos o destino. Então Destino definido. E isto será falso se não encontrarmos um destino e verdadeiro quando encontrarmos um. E finalmente, vamos criar uma gama em que o nosso agente pode andar. Então, alcance do destino. Então, é isso mesmo? Destino, destino. Ok, então agora que temos tudo isso atualizado, vamos começar a jardinagem. Então estaremos jardinando ou nosso inimigo estará guardando. Vamos gerar esse método. E dentro da guarda, vamos procurar um certo ponto de destino. Então, se não definimos um determinado destino, então vamos ser procurar ou procurar ou procurar destino. E vamos em frente e gerar esse método novamente. E o que vamos fazer enquanto procuramos? Bem, vamos criar um ponto aleatório na nossa malha de navegação. E até esse ponto, nosso agente vai andar, como criamos pontos aleatórios enquanto vamos criar um carro alegórico? Vai ser chamado de posição aleatória x_hat. E é claro que só teremos posições sobre isso. X e y permanecerão iguais. Então, a maneira como fazemos isso é realmente maduro intervalo de pontos aleatórios. E alguns de vocês podem encontrar esse problema. Alguns de vocês podem não ter esse problema, mas às vezes aleatório é inequívoco. Isso significa que não tem certeza se ele está usando o mecanismo Unity aleatório ou o sistema aleatório. Portanto, há duas soluções. Podemos apagar este sistema aqui, mas não recomendo. Ou podemos ir em frente e clicar com o botão direito aqui. Ele nos oferecerá uma solução e irá simplesmente verificar se estamos usando a unidade que criou lá em cima. Faixa de pontos Então, está funcionando agora? Sim, está funcionando. E a maneira como usamos intervalo, nós realmente definir o valor mínimo que queremos e o valor máximo que queremos. E este intervalo de pontos aleatórios retornará algum flutuador aleatório dentro desses dois valores. Então, qual é o nosso mínimo e máximo? Bem, é o intervalo de destino e na verdade menos intervalo de destino e mais intervalo de destino. E vamos remover o plus porque é positivo, será positivo. E o, a posição aleatória x, copie isto e cola-o aqui e altere isto para x e o resto é o mesmo. Então vamos chamar isso de criar um aleatório, criar, um ponto aleatório para o nosso agente caminhar. Ótimo, agora temos dois pontos aleatórios no SAT e X. A próxima coisa que precisamos fazer é criar o ponto de destino. Então, ponto de destino. Será igual a um novo vetor. Três abrirá os colchetes e
apertaremos Enter porque isso será capaz de ter um longo vetor três. Então, a primeira coisa que vamos obter a posição transformada, mas x. e vamos adicionar com a posição aleatória X que criamos sobre. A próxima coisa que estamos tomando a posição transformada ponto y, e ele vai permanecer o mesmo. E finalmente, vamos pegar a transformação que posição ponto z, e vamos adicionar a ela a posição aleatória x que encontramos. Um ótimo, então o que fizemos aqui? Primeiro de tudo, começamos a jardinagem na atualização vai, claro, adicionar mais a isso. Se nos protegermos, verificamos se não temos um destino, começaremos a procurar um destino. Vamos criar um ponto aleatório, e então vamos definir o destino. Então nós dissemos o destino usando nossa posição atual mais a posição aleatória x que encontramos. Agora aqui, quando finalmente encontrarmos um destino, vamos definir o destino definido, oops, como verdadeiro. Então esta não é a maneira exata que vamos fazer isso, mas por enquanto vamos mantê-lo assim. Então, se não estamos procurando um destino, isso significa que o destino definido é verdadeiro. Vamos levar o agente e definir o destino para ele. Assim, você pode ver que ele define ou atualiza o destino, acionando
assim o cálculo para um novo caminho. Então vamos colocá-lo aqui e vamos dar-lhe o ponto de destino. Então vamos salvar isso e vamos em frente e ver se nosso inimigo realmente anda. E antes de continuarmos, vamos ao ponto em que nossos materiais estão no material do Inimigo para ele. Então ele parece um pouco mais inimigo. E vamos colocar o jogo aqui, então temos um bom olho no nosso inimigo. E vamos aumentar o alcance para 100. Exceto que tivemos jogo. E vamos ver se ele se mexe. E como podem ver, nosso inimigo tem aleatório,
tem um ponto de destino aleatório para o qual ele está caminhando. Então vamos aumentar a velocidade ou OK, então ele acabou, então ele parou. Como você pode ver, a navegação está realmente funcionando. Agora, qual é o próximo passo? O próximo passo é realmente determinar se estamos ou se o destino que estabelecemos está realmente no chão. E para fazer isso, vou lançar um desafio. Seu desafio é verificar o terreno usando o reelenco. Então, depois de definir nosso destino, verifique se ele está na camada do solo antes de se mudar para lá. E vou lhe dar uma pequena dica sobre a direção do reelenco. Use d menos vector de ponto de transformação como sua direção de reconversão. Então, depois de definir o ponto de destino, crie um re-cast a partir dele com uma pequena distância máxima. E verifique se ele está realmente no chão usando a máscara de camada que criamos. Então, com isso dito, pausar o vídeo agora e ir fazer o desafio. Gaye, bem-vinda de volta. Então, antes de fazermos isto, deixa-me apagar isto por enquanto. Nós vamos criar uma condição if que verifica 40, o ponto de física re-cast. E aqui vamos primeiro criar o ponto de origem, que é o ponto de destino. Vamos usar a direção que te falei, que é a transferência ou a transformação de menos. Mas para cima, assim podemos olhar para baixo ou lançar matriz para baixo. A distância máxima será de dois f, acho que é suficiente. E nós vamos dar-lhe a camada como o, o que é terra. Então o chão, é claro, o que é terra será colocado no inspetor. E aqui, se atingirmos o chão, então vamos definir o destino definido como igual verdadeiro. Ok, ótimo. Vamos salvar isso de volta em unidade. O que é terra? Bem, é terra, ok, mas agora nada vai mudar porque nós apenas fazemos isso como uma medida de precaução para o nosso jogador ou para o nosso agente não cair do limite do mundo. E vamos aumentar a velocidade para talvez sete. Ok, então agora o que queremos fazer é que queremos chegar
ao destino e então queremos começar a procurar novamente por um novo destino. Então, a maneira como fazemos isso é subirmos aqui. E na guarda, vamos criar um vetor três. E vai ser a distância até ao destino. E será igual à posição transformada. Então, a posição do nosso personagem atual para o pote de destino. E quando essa distância for menor do que um determinado valor, queremos definir o destino definido de volta como falso, que significa que chegamos ao nosso destino e agora precisamos procurar um novo. Então vamos criar uma condição “if”. Se a distância para o destino é inferior a um f. Então estamos basicamente lá. Vamos definir o destino, voltar para falso e começar a procurar novamente. E o que está me dizendo que esse erro não pode ser aplicado a um vetor 30. Ok, então precisamos fazer isso uma magnitude. E funciona muito bem. Então guarde isso. E de volta ao nosso jogo, vamos ver nosso inimigo guardando uma ação. Então vamos definir o jogo e aqui vamos jogar. E agora devemos ver nosso inimigo apenas passeando e se movendo quando ele chegar ao seu destino. Eventualmente, vamos torná-lo um pouco mais rápido. Então está fazendo dez, então ele chegou ao destino, ele continua indo. Ele deve chegar a um certo ponto. E então, sim, como podem ver, criamos um inimigo inteligente. E mesmo quando ele esbarra em algo, ele então percebeu isso e então começa a se mover novamente. Sério, quão legal é isso? Ele tem a mente de sua casa. Na verdade, não estamos a fazer nada. Estamos presos e, de novo, nem
estamos filmando nada. Então vamos vê-lo andando por aí sendo um chique com sua inteligência artificial inteligente. E assim, então eu espero que você tenha gostado do vídeo. O próximo vídeo, nós estamos realmente vai ser não só jardinagem com o nosso inimigo, vai realmente perseguir o jogador quando ele começa a ace em uma determinada área, bem perto do inimigo. Então, o que isso disse, eu espero que você tenha gostado do vídeo e não vamos esquecer de encenar ou comprometer todos os nossos arquivos. Encenar tudo. E vamos chamar isso de criado um inimigo inteligente que protege a malha de navegação. Comente isso. E vejo-te no próximo.
36. Jogador de perseguição: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, nós realmente adicionamos a capacidade para o nosso jogador nos perseguir. Então aqui temos o alcance de perseguição que podemos ajustar com essa pequena esfera legal que criamos. E quando jogamos nosso inimigo mina seu próprio negócio, onde ele está? Ele cuida de seus próprios negócios lá, mas se tentarmos nos aproximar, ele se vira e começa a nos perseguir. Ele quer um pedaço desta torta e não morre. Tentamos atirar nele, ele não morre, mas não faz ideia de quais espaços pessoais. Então não vamos perder mais tempo e vamos tentar obter uma ordem de restrição. Então queremos que o nosso jogador, ou quero dizer, nosso inimigo comece a perseguir o nosso jogador quando chegarmos perto o suficiente, porque no momento que acabamos de colocar isto veio aqui, acertou o jogo. Se nos aproximarmos do inimigo
, ele não reage. Claro, mais tarde seremos capazes de atirar nele e matá-lo. Mas só por agora queremos vê-lo andar por aí. Então, como vamos fazer isso? Primeiro de tudo, precisamos ir ao nosso inimigo e acabar aqui, ou aqui. Vamos em frente e criar uma transformação pública. E chamaremos isso de “o jogador”. E o que vamos fazer no início é que vamos realmente encontrar este jogador. Então mais é igual para encontrar objetos do tipo, que é jogador, jogador. E isso é tudo o que precisamos. Oh, não, na verdade porque sua transformação, precisamos tê-lo como um transporte. A próxima coisa que vamos fazer é criar um par de variáveis aqui para a perseguição. Então vamos em frente e chamar isso de perseguição. E este aqui será o guarda. Então, perseguindo, o que precisamos para perseguir? Em primeiro lugar, precisamos de um campo de perseguição porque só perseguimos algo quando está em um certo alcance, cadeias de busca alcançam. E também vamos criar um booleano que irá verificar se o jogador é realmente o alcance da indústria, tão público, ou vamos torná-lo privado mais tarde. Mas, por enquanto, vamos mantê-lo como público para que possamos vê-lo no inspetor e no jogador em campo de perseguição. Ok, ótimo. Agora, a próxima coisa que precisamos para criar um sistema que nos permitirá realmente verificar ao nosso redor e ver que o jogador está em um determinado intervalo. E o que podemos usar é na verdade algo chamado medo dos cheques. E o que isso faz é que ele retorna verdadeiro se qualquer colisor sobrepõe a esfera definida pela posição e raio nas coordenadas do mundo. O que tudo isso significa? Então física ponto esfera checa cria uma esfera
no centro de uma determinada posição que damos com um certo raio que lhe damos e procura uma certa máscara de camada e é usado e ignora os outros colisadores nesta esfera de verificação . Então isto é o que vamos usar para verificar a esfera. E não quis dizer que não conheci o que vamos usar. É o que você vai usar em seu desafio. Seu desafio é verificar se o jogador está ao alcance. Usando o medo cex para verificar se o jogador está ao alcance. Então vou te dar algumas dicas. Então use a posição do inimigo como origem. Você usa o intervalo de perseguição como raio e cria uma camada de jogador para as esferas Máscara de camada. E, claro, você precisa atribuir a camada de jogador para o jogador. Com isso dito, pausar o vídeo agora e ir fazer o desafio. Ok, bem-vindo de volta. Então a primeira coisa que vamos fazer é inhere irá criar o que é Player. E a próxima coisa vamos entrar em atualização. E aqui não vamos apenas vigiar. Agora vamos criar um jogador no alcance de perseguição, enquanto que ele assim jogador e mudar Chase alcance será igual ao ponto física verifica o medo. E aqui estamos em primeiro lugar, eu disse a vocês que o centro será a posição transformada ou a posição do inimigo. O raio seria o campo de perseguição, e só vamos perseguir o que é o Player? Ótima. Então aqui, a próxima coisa não será sempre guardando. Então, só se o jogador não está no alcance de chinks, então estaremos guardando. E o que faremos aqui é remover todos esses espaços. Então, estaremos vigiando. Senão. Se, senão, se o jogador não é chinks alcance, então estaremos perseguindo o jogador ou o inimigo vai perseguir o jogador. Ou quer saber? Vamos, bem, o que é isso? Então, a fim de mantermos consistentes, guardando prata, estamos perseguindo o jogador. Então isso vai manter a consistência e você vai saber por que mais tarde nós escrevemos. Sway. Mas por enquanto, vamos em frente e criar o jogador perseguidor e vamos gerá-lo. Então gerar método, e eu quero movê-lo sob guarda. Então vamos olhar para isso. E, e sim, entre a guarda e a busca pelo destino. Então vamos em frente e remover isso, e remover este pequeno espaço aqui. E aqui, o que vamos fazer é muito complicado porque vamos simplesmente definir o destino do meu agente. E vai ser a posição do jogador. Sim, é isso. Ótima. Então, agora, se formos para o nosso jogo, vamos para o inimigo inteligente. E aqui vamos descer e ver o que é o jogador ou não criamos a camada. Então camadas, editar camadas, e vamos criar a camada player. De volta ao nosso jogador. Ele agora é um jogador. Sim. Mudou as crianças. Onde é que está? Para onde foi o nosso pequeno Gung-ho e tudo mais? Então, por alguma razão, aparentemente, não podemos ver o jogador. Por que é isso? Bem, porque o misturado aqui não nos permite ver o Jogador O. E antes de continuarmos, vamos ter certeza de que os olhos não são o jogador, eles são invisíveis. Ok, então com isso tudo feito, vamos voltar para o nosso inimigo inteligente. Agora o jogador só está sendo perseguido. E vamos dar-lhe o jogador. Então, dê-lhe o jogador aqui. O que mais deveríamos estar fazendo? O? Portanto, isto é apenas para verificar o alcance 40. Chase alcance. Qual é o alcance de perseguição? Bem, o campo de perseguição será talvez vamos fazer 40 ou 20, ou 30, vamos fazer 30. Não tenho certeza do que é isso. Então aperte o play, Ops, aperte o play. E agora vamos ver o que acontece. Então nosso inimigo está se movendo por lá. Então definitivamente não estamos no campo de perseguição ou se ou não está funcionando. Então, quando chegarmos perto de Wo, você pode ver que ele está realmente bem. Está bem. Está bem. Está bem. Está bem. Está bem. Então ele agora está perseguindo um então se nós fugirmos um pouco, ok? Então ele não está mais nos perseguindo. Muito agradável e não foram. Então vamos, eu quero matar aquele inimigo lá. E ele não está morrendo porque ele está longe demais para nosso reelenco consertar isso mais tarde em nosso jogo. Mas, de qualquer forma, mais uma coisa que eu queria acrescentar é que nós realmente queremos
tentar e visualizar a perseguição que era o alcance de perseguição. Então a maneira como estamos fazendo isso é usando algo chamado o vazio
privado em aparelhos de desenho, em gizmos de desenho selecionados. E o que isso faz é que nos permite desenhar algo nos aparelhos. E se você se lembra do que são aparelhos, é a coisa que me irritou alguns vídeos atrás. Então está aqui. Estes são todos os ícones que estão na tela. Então, por exemplo, onde está a câmera? Então, a câmera, vamos ver se ampliamos um pouco. Então, como podem ver, estes dois são o aparelho, então se aumentarmos o tamanho, ok, então estes são muito grandes. Você pode ver que a câmera e os pequenos holofotes aqui aumentam de tamanho. Podemos diminuir de tamanho. Podemos desligar os ícones 3D, e esses são os aparelhos. Então vamos usar isso para desenhar um pequeno fio em torno do campo de perseguição. Então, a maneira como fazemos isso é ir para os aparelhos. Nós escolhemos a cor e você pode escolher a cor que queremos usando ponto colorido. E eu vou deixar o campo de perseguição amarelo. E nós vamos escrever o ponto gizmos desenhar esfera de arame porque estamos usando uma esfera. Então esta será a posição transformada, que é a origem ou o centro, e o raio será o alcance da perseguição. Então veja como isso seria legal agora. Então, de volta ao nosso jogo, nós devemos ver e somos inimigos inteligentes, ok, então este é o alcance Chase e agora você pode ajustá-lo no Sure, lazer. E vamos em frente e tornar isto privado aqui. Inimigo AI, vamos tornar isto privado. Nós não vamos usá-lo ou necessário mais. Só queríamos ter a certeza de que estamos a ser perseguidos. Então, de volta ao nosso jogo, este é o nosso alcance. Nós batemos em play e tudo deve estar funcionando completamente bem quando chegarmos perto, podemos ver que ele começa a nos perseguir. Muito agradável. Vamos em frente e cometer tudo isso. Então, aqui atrás, URL de teste. Vamos dizer que aqui criamos um i que persegue o borrão dentro de um certo alcance. Tenho certeza que fiz uns erros de digitação idiotas, então cometa tudo isso. Ótima. No próximo vídeo, nós vamos realmente estar atacando o jogador em um certo alcance. Então, com isso feito, espero que tenha gostado do vídeo e te vejo no próximo.
37. Ataque de intervalo: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos adicionar um ataque ao inimigo. Normalmente, nas minhas apresentações, começo mostrando o que fizemos. Mas como é tão divertido neste vídeo, eu vou mantê-lo como uma surpresa até você chegar ao fim. E com isso dito, não
vamos perder mais tempo e vamos começar. Ok, então agora, nossos inimigos simplesmente seguem nosso jogador e ele guarda o mundo ao seu redor. O que queremos é que queremos que o inimigo comece a atacar quando nós, quando ele chegar a um certo alcance do nosso jogador depois de persegui-lo por um pouco. Então vamos para o nosso código. E aqui vamos criar um par de variáveis. Então, em primeiro lugar, vamos chamar isso de ataque. E aqui vamos criar um carro alegórico público a essa distância. E nós também vamos criar um volume privado para garantir que o jogador e alcance, ok, ótimo, estamos feitos. Está na hora do seu desafio. Então sim, assim que começarmos o vídeo você tem um desafio. Portanto, verifique os jogadores e o alcance de ataque e crie declarações de torção para verificar se a IA inimiga dentro da atualização está guardando, perseguindo ou atacando. Pause o vídeo agora mesmo e vá em frente e faça tudo isso. Ok, bem-vindo de volta. Então, como você se saiu com isso? Nós já fizemos tudo isso. Então o jogador agora precisa estar
no campo de ataque e vamos criar um ponto físico verifica o medo. E agora a transformação, a posição do inimigo permanecerá no centro. Claro, o alcance de ataque será o raio e o que é jogador? Então, qual é o jogador? O que é amor? E a próxima coisa que vamos fazer é mudar aqui algumas coisas. Então, primeiro de tudo, nós vamos verificar aqui se nós não estamos na taxa de mudança no perseguição e nós não estamos na faixa de ataque,
mas nós não estamos no alcance de ataque de camada profunda, então nós vamos começar a jardinagem. Mas se estivermos acorrentados no campo de perseguição e não estivermos no campo de ataque do jogador, então começaremos a perseguir o jogador. E, na verdade, acho que nem precisamos disso
aqui porque estamos sendo meticulosos com nossas condições. Vamos adicionar um espaço aqui. E finalmente, se estamos no campo de perseguição do jogador, e onde isso termina? Estamos no jogador ao alcance da tecnologia, então vamos atacar o jogador. Ok, então espero que você tenha tudo isso sólido para os cegos. Não te disse que precisaríamos remover os “L”. Você pode mantê-lo, você pode criar diferentes tipos. Se está funcionando, então é bom. Você não tem que fazer exatamente isso. Então agora vamos em frente e criar o método de ataque. Assim, irá gerar o método de atacar um jogador. E aqui nós vamos, antes de tudo, eu quero movê-lo. Então vamos movê-lo para a busca do destino. Então, estamos guardando, perseguindo e então, ok, então atacando aqui, vamos adicionar um espaço. E nós simplesmente vamos, primeiro lugar, nós vamos pegar nosso nav, nosso agente, e vamos definir o destino como a posição do ponto de transformação. E o que isso faz é parar o jogador, ou quero dizer o agente, que é o inimigo em suas trilhas. E então seremos capazes de começar a disparar o projétil que irá criar. E mais uma coisa que vamos fazer é precisamos realmente pegar a transformação e vamos olhar para o jogador. Então queremos ser capazes de olhar para o jogador quando queremos começar a atacá-lo. Isso é óbvio. A próxima coisa que queremos fazer é criar algum tipo de projétil para atacar. Nosso jogador com terá diferentes tipos de ataque. Mas agora vamos criar algum tipo de projétil ou talvez uma granada de algum tipo. Vamos ser demitidos do nosso inimigo e acertar o jogador e esmagar chapéu. Então vamos em frente e fazer isso. Então, de volta ao nosso jogo. E vamos em frente e criar um objeto de jogo vazio. E vamos redefinir sua posição. Para que possamos vê-lo aqui. E vamos chamar isso de granada. E nós vamos criar um objeto 3D, que é uma esfera como seu filho. E também vamos criar um material
aqui que vamos duplicar do material da bala. Vamos adicioná-lo à criança ou à esfera bem aqui. Vamos chamar isso de talvez NMI, material de bala NMI. Sim, claro. Por que não material de bala tão inimigo? E vamos mudar a cor para talvez azul. E vamos fazer isso também azul. Certo, então agora temos esse azul ou atirando no nosso jogador. E nós vamos realmente ir em frente e remover o colisor de esfera daqui, pode ser adicionado imediatamente. Não, vamos remover o colisor de esfera daqui. E vamos adicioná-lo à granada, o pai. Então isso nos ajudará a ter um melhor controle de nossos objetos de jogo. Então agora temos esse medo. É exatamente a mesma forma de texto imediatamente, mas é sobre o pai. Também queremos adicionar um corpo rígido. Então agora ele terá, será afetado pela gravidade, mas não só isso, seremos capazes de adicionar forças a ele. E nós, o que mais você quer fazer é que nós realmente queremos ir em frente e criar um rastro para esta granada. Sim, vai ser muito fixe. Então, antes de fazermos isso, vamos para as nossas prefabs e as nossas balas. Vamos em frente e uma pré-fabricada, esta bala de granada. Então, na granada. Vamos em frente e adicionar um componente, e vamos adicionar um renderizador de trilha. Então clique duas vezes na granada. E aqui o, nós podemos realmente mudar os materiais, então nós vamos escolher para tê-lo ops, não,
este é um material, então este é o material da bala inimiga. E agora, quando nos movemos, você pode ver que criamos uma trilha atrás de nós e podemos fazer muitas coisas. Então eu recomendo que você tome o seu tempo e brinque com todas essas opções e veja o que, qual você mais gosta. Então, em primeiro lugar, vamos reduzir o tempo. Então vamos ver 0,06 também. Há um monte de coisas que podemos ajustar por aqui para que possamos fazer isso um pouco menor. Na verdade, quer saber? Deixe-me abrir isso por conta própria para que possamos brincar e vê-lo. E do jeito que fazemos isso, vamos salvar isso e clicar duas vezes, enquanto as balas pré-fabricadas, então clique duas vezes na granada e agora vamos brincar com ela. E aqui por nossa conta ou não aplicamos. Sinto muito por isso, desculpe por isso assim. E agora temos um Trail Renderer. Então agora podemos nos ajustar aqui para que possamos fazer isso menor e vamos aumentar o tempo. Então vamos fazer cinco, mantê-lo em cinco para que não saia imediatamente. Então agora podemos criar esta trilha aqui mesmo. Podemos ajustá-lo para que possamos clicar duas vezes aqui e talvez torná-lo menor como ele vai. E vamos apenas criar a linha reta novamente. Então agora você pode ver que temos esse efeito bonito e talvez torná-lo um pouco menor. Podemos até ajustar a forma como vai para cima e para baixo. Então, como você pode ver, estamos criando essa trilha que está parecendo muito agradável, não
terá como cinco segundos. Então vamos mantê-lo em um segundo. Então é isso, por exemplo. E não vai desaparecer assim que quisermos. E o que mais deveríamos mudar aqui? Então eu acho que é isso. Então nós só queremos ajustar a largura e queremos ajustar o tempo. Então esta é a nossa bala enquanto se move. E não, eu acho que a trilha é EBIT longa, claro que vai mudá-lo mais tarde quando começamos a jogá-los. Mas sim. Então devemos a bala e lá vai ela através de boo, boo. Oh, ok. Talvez menos seja melhor. Ok, ótimo. Então esta é a nossa bala. Isto é, esta é a bala inimiga, a granada inimiga, se você fosse, se você quiser. E a próxima coisa que vamos fazer é ir para o script inimigo inteligente. E no jogador de ataque vai querer realmente instanciar quando estamos no alcance. Então, quando queremos atacar, queremos ir em frente e instanciar um O, para que não tenhamos uma referência. Então vamos em frente e criar uma referência aqui. Então este vai ser um objeto de jogo público. E vai ser o projétil de ataque. E lemos projetor, projétil de ataque. E aqui embaixo vamos pegar o projétil. Então, qual projetor traseiro? Vai estar na posição transform.py. E a rotação será a identidade do quaternion. E vamos usar este quaternion, essa identidade porque já estamos olhando para o jogador. Então agora vamos salvar isso e vamos também visualizar isso. Então aqui no OnDraw gizmo select, vamos escolher a cor do ponto do gizmos para ser igual a cor do ponto lido, eu acho que sim, vermelho é uma boa ocasião de atacar. Então gizmos copiam isso, é o mesmo. Copie isso, cole aqui. Certo, então aqui está o alcance de ataque. Agora, enquanto muda de alcance, alcance de
ataque, é negativo. Então agora este será o campo de ataque. Então vamos testar isso. Nós batemos no play. Chegamos perto do inimigo. Ele vai em nossa direção e então ele pára. Então, quando vamos para a cena, você pode ver que ele pára assim que o jogador entra no campo de ataque e assistir. Além disso, o problema é que não atribuímos nada. Sim. Então, mas de volta ao jogador aqui, o projétil de ataque, vamos dar-lhe a granada. Ok, então vamos guardar isso. Vamos remover a granada. Nós aplicamos todas as mudanças? Sim. Então vamos remover a granada para da nossa cena, exceto que tinha Play. E agora eu não acho que isso vai ser visível , então obviamente, você está bem? Oh, meu Deus. Acho que o meu jogo está prestes a falhar. Então, como você pode ver, ele tem um pouco de trilhas. Talvez possamos mudá-lo. Whoa, sério, vamos lá, olha. Até andar sobre eles. Quão legal é isso? E tudo está caindo. Então, com isso feito no próximo vídeo, nós realmente vamos ajustar esses projéteis e talvez parar os movimentos jurados. Então, obviamente, precisamos ajustar a direção e precisamos adicionar algum tipo de força da norma. Então eu não estava esperando isso honestamente quando eu tentei por conta própria e não foi tão legal. Então, com isso dito, te
vejo no próximo vídeo.
38. Projétil inimigos: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, nós realmente corrigimos nossos inimigos incorruptíveis, habilidades de arremesso careca. Então agora ele simplesmente joga em nós e em um certo ritmo e com grande precisão. Eu poderia acrescentar para que ele atira ou aspecto, nós ainda podemos holandeses m. Então neste vídeo nós vamos estar aumentando nossa IA vai reduzir a quantidade de balas que ele pode bem, ok, jogar em nós. E também irá direcioná-los para o nosso jogador. Com isso dito, não vamos perder mais tempo e vamos começar. Ok, então o primeiro passo que
queremos fazer é realmente queremos ir para a granada aqui. Ou, na verdade, vamos para os scripts e vamos em frente e criar um controlador de projéteis inimigo. Então vamos criar um controlador de arquivo de projeto inimigo. Pressione Enter. Sim, claro. E espere que ele compile. E agora vamos em frente e vamos para as nossas balas, abrir a granada. Volte para o roteiro, e vamos anexar isso. Vamos fazer este rasto um pouco menor e prender o projétil inimigo aqui. Então, por favor, deixe-me adicioná-lo em algum lugar aqui. Então, tudo bem. Agora temos esse controle de projéteis inimigo ligado à nossa granada ou à granada inimiga. Vamos clicar duas vezes e abrir isso. Então aqui o que nós vamos fazer é realmente ir em frente e adicionar um par de forças à nossa bala para fazê-lo saltar em direção ao jogador. Então, para adicionar forças terá de acessar o corpo rígido. Porque nós vamos usar este ponto corpo rígido adicionar força. E faz exatamente o que diz. Acrescenta uma força ao corpo rígido. Você pode escolher a quantidade de força que deseja adicionar com um fator de três. E você pode escolher o modo do quarto ano da força. Vamos adicionar uma força de impulso. Então deixe a força estar com você, e vamos começar isso. Primeiro de tudo, obtemos uma referência ao corpo para
que possamos ir em frente e criar um corpo rígido e nós tê-lo como um componente. Então, meu corpo rígido, podemos acessá-lo imediatamente. E vamos criar um público. Na verdade, vamos criar duas variáveis aqui. Então um deles será a força aplicada e um deles será a força avançada. Então isso, essas duas forças serão adicionadas ao nosso projétil e ele vai saltar em uma certa direção, que deve ser o jogador. Então, e aqui, primeiro de tudo, nós vamos obter os componentes do meu corpo rígido será igual ao componente get e o corpo rígido. Então agora temos acesso. E a próxima coisa que vamos fazer dentro do início, vamos criar um método que irá lançar granadas. E vamos em frente e gerar esse método. Assim que esta granada ou este projétil for instanciado, vamos imediatamente em frente e adicionar uma força ao meu corpo rígido ponto adicionar uma força e o ponto de transformação para a frente. Então, na direção da frente vezes a força para a frente. E vai ser um modo de força de impulso. Então é um impulso, modo de
força, impulso de ponto. Então não é contínuo. Ajuste, acerta a bola e depois voa para longe na direção que ela precisa ir. E a direção é calculada pela unidade é física. E aqui vamos adicionar uma força, então na direção de cima u e multiplicado pela força também, também será um impulso de força. Vamos guardar isso. E agora vamos em frente e atribuir essa força para cima e para a frente. E aqui vamos fazer a força AP
por volta das oito e a força para a frente por volta dos 32. Vamos salvar isso, e vamos tentar isso. Agora. Obviamente, isso não vai funcionar. Enquanto r pequenos munchkins, então ele dispara bolas incríveis. Então tem bolas são realmente algo para se ver, mas isso não é o que queremos. Queremos consertar duas coisas aqui. Então, em primeiro lugar, queremos mudar a direção. E em segundo lugar, queremos realmente controlar a quantidade de disparo de nossas bolas. Então vamos em frente e mostrar-lhe um desafio. Então o seu desafio é controlar a taxa de disparo do nosso inimigo. Então, crie uma co-rotina que esperaremos por um certo tempo antes de estar pronta para arquivar. Se você já sabe como fazer isso e já fizemos isso, pause o vídeo agora e vá fazer o desafio. Se não, deixa-me dar-te alguns eventos. Então crie um tempo de ataque e crie um booleano para verificar se o inimigo está pronto para disparar. Pause o vídeo agora mesmo e vá fazer o desafio. Oh, ok, bem-vindo de volta. Então vamos para o inimigo. E aqui vamos criar o primeiro de tudo, o tempo de ataque. Então vai ser um carro alegórico público, que
possamos ajustá-lo se quisermos. E então nós vamos adicionar um, onde está o booleano aqui eu me lembro. Então vamos adicionar um pronto também na Tech. Guarde isso. Agora vamos em frente e criar um revestimento. Assim, a co-rotina vai esperar o tempo de ataque termine e, em seguida, ele irá definir o ataque pronto de volta para verdadeiro. Então, onde devemos colocá-lo? Vamos colocá-lo aqui. Então eu enumerador. Então eu enumerador, e vamos chamar isso de “reset tack”. E aqui vamos render retorno, novo, esperar quatro segundos, e vai ser o tempo takt. E quando terminarmos este ataque, o tempo vai definir o pronto para atacar de volta à verdade. E onde vamos definir isso para falso e Cove a co-rotina? Bem, e aqui depois de
instanciarmos, vamos seguir em frente e como se chamava? O pronto para atacar. Pronto para atacar será igual a falso. E então nós vamos começar, iniciar o revestimento e vai ser o ataque de reset. E como passo final, é claro, precisamos tornar impossível que nosso inimigo seja
capaz de atirar a menos que ele esteja pronto para atirar. Então vamos em frente e criar esta condição aqui que define o aluguel, nos
permite apenas instanciar quando estivermos prontos para atacar. Então vamos voltar ao nosso jogo e aqui, vamos para o nosso inimigo inteligente. E vamos fazer com que o tempo de ataque seja o nosso primeiro round. Então isso deve estar limitando nosso ataque ou os ataques do inimigo. Então vamos jogar. Chegamos perto do inimigo. Ele olha para nós e não atira nada. Então, o que dá, eu acho que é porque estão prontos para atacar já é falso. Então, aqui em cima, vamos em frente e definir o pronto
para atacar para ser verdadeiro no início como seu valor padrão. E agora vamos começar o jogo. Jogar. Vamos, aperte o play. E nossos inimigos devem estar atirando quando chegarmos perto. Oh, OK, ótimo. Mas algo ainda está errado. Então parece que ele não está atirando em nós. Ele está atirando em uma direção estranha. Então vamos mudar isso. Vamos entrar em nossos roteiros. E aqui, eu não acho que deveria ser quaternion. Acho que deveria ser. Vamos mudar isso para a transformação, a rotação local. Então isso vai definitivamente, oops, rotação local. Então, desta forma, ele definitivamente estará apontando para nós. Então agora batemos em jogo e quaternion que a identidade é geralmente para a posição do mundo, ok, então a rotação do mundo. Então agora você pode ver que ele realmente atirou em nós e então algo estranho acontece. Então vamos tentar de novo. Chegamos perto e não, ele atirou um em nossa direção, mas algo está errado, então algo não está funcionando. E alguns deles estão atirando muito estranhamente e alguns deles não estão funcionando. Então agora o problema é, é que nossa granada antes que ele realmente lançou palavras são jogador está ficando preso pelo colisor no inimigo. Agora podemos remover o colisor do inimigo, mas como vamos matá-lo? Então o que vamos fazer é criar uma camada aqui. Então vamos editar as camadas, vamos criar um inimigo pero jet tátil. E uma coisa muito legal sobre essas camadas é que podemos realmente ir para as configurações do projeto. E vamos desencaixar aqui. Vamos para a nossa física. E aqui você pode ver que temos essa matriz grande. E o que esta matriz nos permite fazer é impedir que certas camadas interajam com outras camadas. Então, por exemplo, temos o projeto inimigo aqui, e ele interage com tudo. E como nosso inimigo inteligente está na camada padrão, podemos ir em frente e desligar. Vamos desligar tudo e manter a interação apenas com o chão, com o jogador e com outros projéteis inimigos. Então vamos guardar isso. E agora acredito que se tocarmos isso, dissemos que a granada é o projétil inimigo. Não, não fizemos. Então camada e projéteis, sim, mudou crianças. Vamos jogar. E agora, quando nos aproximamos do inimigo, ele atira diretamente em nós e
não há nada que dê errado com o movimento do projetor. Ótimo. Com isso feito, eu vou, vamos nos certificar que talvez alguns de vocês vão encontrar esse problema. Vá se você não pode ver as balas, vá para a máscara de abate e certifique-se de que o inimigo é, bem o projétil inimigo você pode vê-lo, não é invisível. Então, com isso dito, espero que tenham gostado do vídeo. E o próximo será adicionando um enorme monstros assustadores com um enorme robô. Talvez o robô não seja tão grande. Mas de qualquer forma, espero que tenha gostado do vídeo e te vejo no próximo.
39. Jogador de Melee (parte 1): Bem-vindo de volta meus colegas desenvolvedores de jogos em um vídeo muito longo, mas vai valer 100% porque agora
não temos apenas um cilindro estúpido que está andando por aí tentando nos matar. Temos um robô muito legal e complicado, e também temos um monstro assustador muito legal. Quando batermos no jogo. Vamos ver que estes monstros andam por aí. Ele nos persegue, nos bate, e se fugirmos, ele continua jardinando até nos encontrar de novo. Pare com isso. Então ele nos encontra de novo e começa a bater-nos de novo. Podemos atirar nele e matá-lo. Também temos este robô andando por aqui. Então, se ele nos encontrar um começo atirando em nós também, e nós não adicionamos a habilidade de destruí-lo, mas nós vamos mais tarde. Então não vamos perder mais tempo. Este vídeo é longo o suficiente, mas como você viu, vale muito a pena. Agora temos monstros da vida real e nosso playground. Com isso dito, não vamos perder mais tempo e vamos começar. Oh, ok, então o que vamos fazer neste vídeo? Vamos adicionar a habilidade de nosso inimigo nos atacar corpo a corpo. Então, podemos fazer isso com este pequeno cilindro aqui ou podemos ir em frente e adicionar um enfarte assustador. Então, a maneira como vamos fazer isso é a menos que vá à loja de ativos da
Unity e procure a criatura fantástica. Número um, é um ativo gratuito no co-chefe da Unity Asset Store e adicionado aos seus ativos. E deve aparecer. Então, e você também precisa se certificar de que você está conectado ou então isso não estará funcionando. Então, sempre que você adicioná-lo aos seus ativos e entrar em seu gerenciador
de pacotes, certifique-se de que você está nos meus ativos e você terá a criatura fantástica com isso. Vá em frente e importe. E sim, importa tudo. Então está sob o nome verdadeiro horror, algo assim. Então espere por isso em Port au. Ok, bem-vindo de volta. Então temos esta verdadeira criatura horrorosa aqui. Então vamos arrastá-lo e colocá-lo sob os ativos do jogo ou caso. Então aqui, vamos entrar na criatura do horror. E você pode ver que temos muitas coisas aqui. Então este monstro realmente vem com suas próprias animações, com seu próprio colisor de malha e com seus próprios scripts. Então vamos para a pré-fabricada. E este é o monstro que vamos adicionar. Então, antes de fazer isso, vamos em frente e criar um objeto de jogo vazio. E chamaremos isso de monstro. E vamos redefinir a posição. Coloque-o aqui, e vamos em frente e adicione a pré-fabricada. Portanto, certifique-se de que você está nas prefabs e vá em frente e adicione o THC como a criança do monstro. Então agora temos o monstrinho bem aqui. Então, como você pode ver, ele tem um controlador animador, um controlador de personagem e animador e alguns scripts. Então você precisará remover tudo isso. Mas antes de fazermos isso, desculpe, você precisa ir ao pré-fabricar e desempacotar completamente. Então agora você pode ir em frente e remover todos os componentes que estão no. Criança. E então vá para o monstro e termine aqui. Vamos em frente e vamos para a HCI. Vamos redefinir a posição do nosso monstro. E no monstro aqui, vamos em frente e adicionar um componente. Primeiro de tudo, vamos adicionar um colisor de malha. Então este colisor de malha irá adicionar um colisor ao nosso monstro. E como podem ver, o colisor de malha é o contrário. Isso é por causa da rotação do nosso filho. Assim disse a rotação para 0, e agora o colisor de malha deve ser exatamente sobre o monstro. Então agora você pode ver visivelmente como este colisor de malha funciona, é
claro que vai levá-lo mais tarde como um inimigo. Mas por enquanto, adicionaremos outro componente e será o inimigo. Ai também irá em frente e adicionar nav agente mash. O que mais deveríamos acrescentar? Vejamos, este é o nosso agente de malha suficiente. E também adicionaremos um animador porque estaremos animando nosso inimigo mais tarde. Então, o que é terra? Vamos colocar isso como o chão. O que é o jogador vai colocar isso como o jogador, vai dar-lhe o jogador transformar. Nós, ele tem destino vai definir um certo alcance que talvez vai perseguir vai mudar mais tarde. Vamos ver, adicionamos um campo de perseguição. E antes de fazermos isso, nós realmente queremos ir em frente e escalar esse inimigo. Então deixe-me colocar isso de volta para 0 antes de fazer isso. E tudo isso, reinicie-o. E vamos definir a escala para,
digamos, talvez oito por oito. Então agora temos um grande monstro gigante. E se essas linhas verdes estão te incomodando,
você pode realmente ir em frente e fechar isso. E temos o nosso monstro. Como, quão legal é isso? Então, com isso feito, vamos continuar. Então agora vamos em frente e aumentar o alcance da perseguição. Então vamos torná-lo tão grande, talvez maior. O alcance de ataque deve ser um pouco menor. Então, como este inimigo não vai disparar nada a um certo alcance, você só estará nos atacando usando suas garras. E vamos fazer isso daqui a pouco. Vamos também para o agente de malha NAV e precisamos ter certeza de que é um grande, podemos até aumentar o, aumentar o raio aqui para encher todo
o monstro e talvez apenas dar-lhe um pouco de calor. Ok, ótimo. Então agora temos um monstro enorme. Vamos fazer o raio um, na verdade. E a próxima coisa que vamos fazer, vamos marcá-lo como inimigo. Então, adicionamos a etiqueta inimiga aqui. E o que mais deveríamos fazer? Precisamos criar um animador para o nosso inimigo. E não precisamos adicionar nenhum projétil, mas isso nos dará um pequeno problema mais tarde. Então, para adicionar as animações ao nosso inimigo conjunto, precisamos primeiro entrar em nossas animações. Crie uma pasta aqui, e chamaremos isso de animações monstruosas. E vamos em frente e criar um controlador animador. E chamaremos isso de monstro. E agora queremos ir em frente e obter as animações que são fornecidas com o monstro. Agora, se formos para onde z, então para as verdadeiras criaturas de horror dentro daqui, você pode ver que ele tem todas essas animações e você pode verificá-las. Vamos ver se isso aparece aqui. Vamos colocá-los aqui em cima. Então esta é a árvore das animações, e obviamente é super complicada. E esse inimigo realmente vem com seu próprio roteiro e tudo isso. Mas queremos mudar as coisas. Então tudo em tudo o que precisamos é a animação de caminhada e animação de ataque V. Então nosso inimigo estará andando por aí. E enquanto ele está andando por aí, quando ele encontrar o jogador, ele vai chegar perto dele ou persegui-lo. E quando ele estiver no campo de ataque, você começará a acariciá-lo. Então vamos procurar a animação ambulante. Torne todos estes símbolos menores usando o controle deslizante aqui. E vamos ver. Então vamos começar a andar e vamos duplicar a caminhada. E depois levaremos isto. E vamos para o nosso, onde estão nossas animações e arrastá-lo para a animação monstro. Então, sempre que você quiser usar uma das animações aqui,
certifique-se de que deve duplicá-lo e, em seguida, defina-o em sua própria pasta de animação. Agora vamos entrar em nossas animações monstruosas. Vá para o Monster. E aqui vamos adicionar a animação de caminhada. Então este será o nosso estado padrão, padrão para o monstro. E vamos para o monstro. Vamos dar o controlador. Então controlador monstro será o controlador do nosso monstro. E também precisamos ter certeza de que dissemos o avatar e aqui. Então clique no pequeno círculo e aqui e escolha o THC seis avatar. Então, clique duas vezes sobre isso. E o que isso faz é realmente permitir que a animação ambulante para ir e lidar com todas as diferentes peças do nosso inimigo. Então vamos voltar aqui e olhar para o nosso inimigo. Você pode ver que ele tem a armadura de arco no topo do que é tão rude. Você pode ver que ele tem pernas dianteiras. Pernas dianteiras, certo? Ele tem a chave e todos os sauditas. Vamos voltar aqui. Então o avatar nos permite realmente controlar isso. Então agora vamos jogar e ver como o nosso inimigo se parece. Então vamos ver. Sim, ele está andando por aí, mas parece estar fazendo a Caminhada da Lua. Se nos aproximarmos dele,
ele olha para nós e caminha em direção ao jogador, carenagem Nas. Então agora, como você viu, espere, deixe-me tentar isso mais uma vez. Vamos ver, ele está andando em sua casa, e isso é porque o intervalo de destino é 0. Então vamos fazer 100 por cima. E agora ele anda ao redor do mundo, mas em um ritmo muito lento. Então, se nos aproximarmos dele, ele começa a caminhar em nossa direção. Vamos abrir o agente de malha de navegação de muffin e talvez fazer este dez. Então vamos ver como isso parece. Sim, então nosso inimigo está andando pelo mundo. Onde é que ele está? Ok, legal. Então você pode ver que nosso inimigo anda por aí. Ele patrulha em todos os lugares, e ele também persegue o nosso jogador sempre que nos aproximamos. Então, obviamente, há algumas coisas que precisamos consertar. Então nós apenas casualmente andamos através dos nossos cubos bem aqui. Mas não se preocupe com isso por enquanto, vamos em frente e implementar o ataque quando ele chegar ao jogador. Então vamos colocar isso de volta para dez, para dez. E vamos colocar o intervalo de destino em 100. Então, o que vamos fazer agora? Vamos usar a animação de ataque fornecida a nós no jogo. Mas antes de fazermos isso, precisamos ter certeza de que este é um, principalmente
um atacante e não apenas um lançamento de projétil. Então, para fazer isso, precisamos ir para nossos roteiros. E aqui vamos criar o ataque corpo a corpo. Então vamos chamá-lo de Malaio. E vamos criar um booleano público que será o atacante malaio. Portanto, isto irá certificar-se de que o nosso inimigo é um atacante corpo a corpo. Volte aqui e verifique o ataque malaio. Certo, ótimo, então guarde isso. E vamos para o inimigo inteligente e certificamo-nos de que ele não é um mero atacante. Ok, ótimo. Agora, de volta aqui, o que vamos fazer é realmente ir em frente e criar um caminho. E vamos parar de atacar um jogador de lançar ou instanciar as granadas. Se ele é um homem, o atacante, então se Meli atacar a verdade, isso significa que toda
esta condição aqui é falsa e toda esta condição não vai funcionar. Por isso, não vamos instanciar. Vamos fazer outra coisa. Estaremos acionando uma animação sempre que quisermos atacar. Então a primeira coisa que precisamos fazer é obter
a animação e isso vai ser parte do seu desafio. Seu desafio é adicionar a animação de ataque. Então deixe-me mostrar-lhe isso em Unity. Vamos para a verdadeira criatura do horror. Você pode entrar aqui. Vamos clicar duas vezes aqui para que você possa ver que ele tem vários ataques para que um abra a pré-visualização e nós inhere. Então ele tem esse ataque, ele tem o ataque para, e ele tem os ataques três. Então vamos usar o ataque três porque é com as duas mãos e é muito poderoso. Ele também tem um golpe de poder. O. Então, foi aqui que o atingimos. Ok, ótimo. Então vamos usar o ataque três, certificar-nos de que deve duplicá-lo. E deixe-me voltar ao Desafio. Então adicione a animação de ataque no animador monstro, faça a transição possível com um gatilho. Então aprendemos o que é um booleano. Aprendemos a usar um carro alegórico e agora é hora de um gatilho para você descobrir. Em seguida, adicione um tempo de saída para a transição de volta. Então você criará uma transição de caminhar para atacar. E isso não deve ter tempo extra nem tempo de transição. Você então criará uma transição de volta do ataque e para a caminhada. E isso deve ter uma hora de saída. E digo-te porquê mais tarde. E, em seguida, use o gatilho definido para acionar a animação se o inimigo for um atacante corpo a corpo. Então você precisará obter uma referência ao Animator. E em sua IA, um script, você não precisará configurá-lo. E então você precisará realmente acionar quando atacarmos, se formos um atacante corpo a corpo. Então pausar o vídeo agora mesmo e ir adicionar a animação ou a animação de ataque ao nosso inimigo. Ok, bem-vindo de volta. Então vamos primeiro duplicar o ataque três, e vamos adicioná-lo às animações monstro e ir para o Animator. E vamos adicionar este aqui. Então vamos criar uma transição da caminhada para o ataque. E como eu disse, precisamos remover o tempo de saída. E vamos apenas definir a transição para 0. Mudaremos isso mais tarde com base na aparência do nosso jogo. Agora precisamos adicionar a condição para fazer isso aqui. Clique neste mais agora, clique no gatilho e chamaremos isso de ataque. Então agora temos um gatilho que irá disparar. Então adicione uma condição para atacar. A próxima coisa que vamos fazer é criar uma transição de volta de atacar para andar. E vamos manter estes como estão bem aqui. E vamos guardar isso. Agora precisamos entrar no nosso código. E aqui vamos criar uma referência ao nosso animador. Então nosso animador chamará isso de meu animador. E no início, vamos conseguir os componentes. Então meu animador será igual ao animador componente get. E é isso. Agora podemos encontrar um problema aqui. E esse problema é que o inimigo inteligente não tem realmente nenhum animador nele. Então, se virmos esse problema, vamos corrigi-lo, corrigi-lo. Mas mais tarde neste vídeo, nós realmente vamos trocar o cilindro inimigo inteligente para um robô mais olhando. Então o que eles fizeram, o que eles fazem. Então este é o agressor malaio. E vamos entrar aqui. Então, se estamos prontos para atacar, então, se estamos prontos para atacar e somos um atacante corpo a corpo, então vamos pegar meu animador. Vamos acionar o gatilho. E esse gatilho vai ser chamado de ataque. Agora esta é uma referência de string, mas ataque deve ser uma palavra muito fácil de lembrar. Então vamos ter certeza que é o mesmo. E por que eu te digo isso? Sempre precisa ter certeza de que a referência da string está correta porque ela não aparece como um erro. Então você não tem idéia por que algo pode não estar funcionando. E confie em mim, leva muito tempo para descobrir que você escreveu uma carta errada e aqui, então eu sempre tento copiar uma referência de string. Isso foi feito? E vamos testar isso e ver se funciona. Então, de volta à nossa cena, temos brincadeira.
40. Jogador de Melee (parte 2): Veja se funciona. Então, de volta à nossa cena, jogamos os nossos inimigos a andar por aí, ele encontra-nos, persegue-nos, e começa a bater-nos. Oh, ok, muito bom. Mas como você pode ver, é um pouco peculiar, então ele é um pouco estranho com seu ataque. Então vamos colocar o animador aqui para que possamos vê-lo. Então você pode ver que ele está voltando e agora ele começa a andar novamente Normalmente encontrando seus destinos e assim por diante. Então nos aproximamos. Ele nos persegue, ele começa a bater em nós. E o outro inimigo também está aqui. Então pare com isso. E vamos ver o que parece ser o problema. Então eu acho que isso só precisa de um pouco de ajuste na animação. Portanto, certifique-se de que a transição aqui é 0,25. Mantenha-o, dê o tempo de saída como está, pois o tempo de saída é calculado quando a animação termina. E aqui, talvez devêssemos o tempo de transição para 0,25. Vamos poupar isso. Vamos tentar de novo. Queremos que a animação seja suave, mas então ele caminha em nossa direção e sim, sim, sim, então agora você pode ver que a animação está parecendo muito agradável e podemos matá-lo também porque ele é nosso inimigo. Então, a última coisa que eu quero fazer é realmente eu quero criar um método aqui que eu vou chamar o dano malaio vazio
público. E nós vamos preencher isso mais tarde. Mas se o nosso jogador é um campo de ataque, então vamos danificar o jogador mais tarde e mais tarde. Quero dizer, na próxima seção, quando vamos adicionar o sistema de saúde ao nosso jogador e ao nosso inimigo. Então, com isso feito, o próximo passo é realmente ir em frente e adicionar o botão de função aqui. Então vamos esperar por isso para compilar. Ok, ótimo. próximo passo é adicionar o robô. Então vamos entrar em nossos recursos e deixe-me mostrar onde consegui meus robôs. Então eu fui para o 3D.com livre e encontrei este robô de aparência legal. Agora é de graça. Você pode baixá-lo, baixá-lo como unidade, ou você pode ir em frente e usar os recursos. Este também é um site muito bom se você quiser encontrar ativos 3D bacanas para adicionar ao seu jogo. Então, em nossos recursos, vamos para o robô e você terá este tipo de pacote Unity. Então, basta arrastá-lo para a Unidade. E não, deixa-me ir ao meu projecto. E agora vamos voltar aos recursos. Arrastar nosso robô. Onde devemos colocá-lo em unidade e colocá-lo dentro de bens e importar tudo isso. Então agora isso está importando e OK, então de volta aos ativos, temos essa combinação de pescoço. Walker simplesmente arrastá-lo para os ativos do jogo. Então, dentro dos ativos do jogo, teremos nossa malha de pescoço Walker que é clicar duas vezes e ver o que temos aqui. Então vamos fazer isso um pouco maior. Então, basicamente, vamos fazer o mesmo que fizemos com o monstro. Então, primeiro de tudo, nós vamos, vamos duplicar o inimigo inteligente. E vamos desligar este por agora, e vamos ter este e aqui. Então deixe-me fechar esta ferramenta. Este será o inimigo robô. E aqui, vamos ver o que temos. Então temos tudo isso. Nós não precisaremos estar precisando da cápsula, não
vai precisar do cilindro não vai precisar do renderizador de malha. E só precisamos da IA inimiga e da malha de navegação. Então agora vamos pegar este robô e colocá-lo sob o inimigo robô. Vamos olhar para isso ou agradável. Então este é o nosso inimigo robô que está esmagado. E ele está esmagado porque tem uma escala de 1,6. Então vamos abaixar isso e agora temos esse robô não esmagado. A próxima coisa que vamos fazer é ir em frente e desempacotar completamente a pré-fabricada, vamos mover este robô um pouco para o chão. Então, sim, isso parece bom. Claro que vamos remover o animador aqui e vamos acessá-lo no pai. E ele não é um atacante masculino e ele terá uma granada. Então este inimigo parece bom. A próxima coisa que vamos fazer é ir em frente e usar todas as animações que temos para o nosso robô. Então, vamos dar o passeio. E vamos ver, vamos fazer isso menor. E não, isso não ajudou nada. Precisamos torná-lo ainda menor. Então aqui em baixo você pode ver que estas são todas as malhas para as pernas e assim por diante. E agora vamos para o, vamos para as animações perto. Vamos criar uma pasta. Chamaremos isso de animações robóticas. E se você sentir a verdade, pode ir em frente e fazer isso por conta própria. Encorajo-vos a irem em frente e a fazerem isto. Já aprendemos como podemos criar animações para que você esteja seguro. Isso mudou este nome longo para o corpo do robô, e vamos mudar isso para o robô monstro. Então, corpo de robô, animação de robô. Vamos criar um controlador animador. Vamos chamar isso de robô. E vamos em frente e adicionar isso aqui. Então, quando colocarmos o robô e o emissor, nós o teremos. Nós também precisaremos adicionar o, é
claro, avatar aqui para o animador vai salvar isso. Agora vamos ver o pergaminho para baixo. Vamos para o Walker e novo, vamos procurar algum tipo de salto. Nós nos arriscamos. Temos muitas animações aqui. Então, se você quiser ir e procurar todos eles, eu o encorajo se você pode criar animações melhores, eu só quero fazer o básico aqui e nós podemos querer,
então vamos tocar em play, vamos olhar para isso. Então, sim, parece legal. Ou a caminhada para a frente ou sim, eu gosto deste mais sem alma. Duplicar este. E vamos arrastá-lo para as animações dos robôs. E vamos colocar o animador aqui em cima. E onde estamos? Então vamos colocar as animações inimigas aqui. Então agora devemos ver quando batemos em Play que nosso robô está andando. Então vamos nos certificar disso. E enquanto ele está se movendo e andando e ele vem até mim e ele começa a atirar em mim, então Oh, pare, pare, pare. Está bem. Então, pelo menos, ele está meio que andando. Então vamos voltar e ver o que está acontecendo. E aqui nós jogamos. Vamos olhar para o nosso robô. Ok, então ele estava andando, não estava? Eu só o vi pesando. Ele nem está ativando a animação. Então, por que isso? Certo, então esse é o problema. É muito simples. Precisamos ir à animação aqui e ter certeza de que está em loop. Então, agora, quando batermos no jogo, o robô estará andando e ele está fazendo algum tipo de andar estranho. Então, a fim de consertar isso, vamos para o robô. Acho que é sobre a rotação. Então, algum problema estranho de rotação. E vamos ver, vamos ver, talvez a rotação dele deva estar no y, assim. Então vamos colocá-lo em 90 graus, exceto que tinha jogo. E o robô está caminhando na direção certa. Então agora temos esses dois monstros e eles realmente atiram em nós. Mas nós vamos mudar o tiroteio agora da caminhada porque atualmente ele ainda está andando e isso realmente nos tira do jogo quando ele faz isso. Então o que vamos fazer é entrar novamente no robô. Então, onde Z aqui, vamos ver, ele tem o ataque em algum lugar. Tão ocioso para, sim, este parece o que vamos usar para o ataque. Vamos duplicar isso, e vamos movê-lo para a nossa animação robô. Esse vídeo é um pouco longo, eu sei, mas estamos fazendo as coisas meticulosamente. Então isso moveu o backup do animador para cá. Vamos adicionar o ocioso. Então este será usado para o ataque. Vamos criar uma transição, uma transição de volta que já fizemos tudo isso,
removerá o tempo de saída e adicionaremos um gatilho que chamará também o ataque. Então manteremos o mesmo e adicionaremos uma condição aqui. Eles estão em condições de atacar? Muito agradável. E as animações seriam 0,5. O que mais deveríamos fazer? Oh, ok, então o que nós também precisamos fazer aqui é realmente queremos mudar
a posição a partir da qual o robô está atirando em nós. Então, agora, quando apertamos play, vamos ver se a animação funciona. Além disso, ele não é um atacante corpo a corpo. Então, se você chegar perto. Ele ainda está na estranha animação de é, porque ele não é um atacante corpo a corpo. Ele não está indo para a animação aqui. Então o que podemos fazer é simplesmente copiar isso e colocá-lo aqui. Então, agora vamos voltar aqui. E você sempre pode mudar isso, mas vamos ver. Então, vamos jogar. O robô caminhará em nossa direção e agora ele está lá e atirando em nós. Mas o que queremos fazer é mudar o tiroteio do,
bem, o que quer que isto não seja para o robô e começa a disparar do chapéu. Então, para fazer isso, podemos ir ao robô e clicar com o botão direito aqui. E vamos em frente e criar uma criança vazia e chamaremos esta posição de fogo D. E, na verdade, vai ser muito simples. Vamos para as animações do nosso robô. E eles agora. Então vamos esperar por isso. Ok, então você pode ver que esta animação é extremamente complicada. Então vamos escolher o ocioso e vamos ver se podemos realmente, ok, então podemos jogar isso. Vamos mover a posição de fogo para a cabeça. Vamos ter certeza que é da cabeça e vamos movê-lo na frente dele. Ok, então vamos guardar isso. E agora vamos para o nosso roteiro. E em vez dos dissidentes Considerando, então em vez da posição transformada, vamos atirar isso de uma posição de fogo, mas quem precisa ir em frente e criar uma posição por fogo aqui. Então apareça entrar. Vamos criar uma transformação ou uma transformação pública. Dot posição de fogo, opt posição de fogo. E nós vamos estar compartilhando da posição distante. Enquanto o nosso jogador de ataque aqui, vai ser a posição de fogo. E a rotação será a rotação da posição distante. Ou podemos mantê-lo como o normal. E precisamos ter certeza de que a posição do arquivo também está olhando para o nosso jogador. Então aqui, antes de atacarmos, precisamos ter certeza de que a posição de fogo está olhando para o jogador. E agora de volta ao nosso jogo. Vamos voltar daqui, porque isso é muito complicado. E quando
jogarmos, devemos ver isso. Vamos nos certificar, antes de tudo, que ele nos bata. Ok, então qual é o profissional para não atribuirmos a posição de fogo. Então vamos atribuir a posição de fogo. Guarde isso no nosso jogo. Esperemos que não será um problema para o nosso inimigo porco do, então agora e ele está atirando, mas ele não está atirando corretamente. Na verdade, está indo em outra direção, mesmo que estejamos dizendo isso para nos assegurar na cara. Então, qual é o problema? Então talvez seja por causa da direção. Então vamos ver. Então vamos tentar v rotação normal. Guarde isso no nosso jogo. Então talvez porque o, oops, então talvez porque o jogador já está olhando para nós ou vamos ver, hey robô, atire em mim. Sim, agora está funcionando. Então o robô está atirando em nós. E por que esse era o problema? Bem, porque antes de usarmos uma posição distante, usamos a rotação local de toda a transformação do jogador. Mas agora porque a posição do arquivo também está olhando para o jogador e é um filho do, um grande inimigo, queremos realmente usar a rotação da posição de fogo tão bem que para baixo. Espero que tenha gostado do vídeo e gostado da seção. Na próxima seção, obviamente
vamos adicionar um sistema de saúde ao inimigo. Então nós simplesmente não o destruímos. Vamos adicionar um sistema,
um sistema de saúde ao jogador para que não o destruamos imediatamente também. Então vamos ter um pouco de saúde e também vamos aprender como podemos exibir tudo isso em nossa tela exatamente como fizemos com nossa bala. Bem, dito isso, espero que tenha gostado de tudo isso e vamos nos inscrever. Está bem. Então alguns arquivos ou muito grande, vamos precisar remover o vamos ver, vamos ignorar tudo sob ativos e pescoço malha Walker. E também vamos ignorar tudo sob a verdadeira criatura do horror. Ok, encenar tudo isso. Tenho certeza que são. Está bem. Então vamos em frente e adicionamos um monstro e um robô. Então este foi um vídeo muito divertido. É um pouco longo, mas espero que tenha gostado e te vejo no próximo.
41. SEC 7 - sistema de saúde inimigas: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, criamos um sistema de saúde para os inimigos. Agora, quando queremos atirar no nosso grande inimigo aqui, ele toma vários tiros. Ele tem esse efeito sanguíneo, e também adicionamos um dano ao argônio. Então nem todas as armas funcionam da mesma forma. Então este inimigo e lá também, como você pode ver, seu sangue de louvor por todo o lugar e eventualmente ele morre. Então não vamos perder mais tempo e vamos começar. Certo, então, sempre que quisermos atirar em um inimigo, digamos que temos esse inimigo aqui. Então, sempre que atiramos nele, ele morre imediatamente. E sempre que devemos esses inimigos, eles também morrem imediatamente. E este inimigo aqui não está morrendo, e ele está flutuando. Então vamos em frente e consertar isso. Não consertamos da última vez. Então Pack e nosso inimigo robô, vamos em frente e porque ele tem muitos colisores, Vamos simplesmente adicionar um, onde está? Então vamos adicionar um colisor de esfera a ele. Você pode adicionar qualquer esfera que você quiser ou qualquer colisor Eu sou lingote que você quer. Então vamos adicionar um colisor de esfera. Vamos aumentar o raio e movê-lo para cima para que seja por aqui. E a razão pela qual ele está de pé é por causa do deixe-me mostrar-lhe a malha de navegação. Então, atualmente, se subirmos o robô, você pode ver que a malha suficiente do cilindro anterior ainda está aqui. Então, a maneira como corrigimos isso, vamos mover o deslocamento da base um pouco. E vamos em frente e aumentar o, Talvez devêssemos torná-lo 0. E vamos em frente e aumentar a altura. Então vamos girar a esfera de raio, aumentar o raio, aumentar a altura, e isso deve fazer o truque. Talvez devêssemos aumentar um pouco mais. Então vamos mover o deslocamento da base um pouco para cima. Vamos guardar isso. E agora, quando entramos em nosso modo de jogo, não os
marcamos como inimigos. Então agora ele caminha no chão. Quando atirarmos nele, ele deve ser marcado como inimigo. Quando atirarmos nele, ele será destruído. Está bem, mas isto não é suficiente. Queremos criar um tipo de sistema para a
saúde do inimigo para que possamos realmente atirar nele e tirar um pouco de saúde e então ele deve morrer. Então vamos em frente e fazer isso. Vamos fazer isso um pouco maior, e vamos entrar em nossos ativos e em nossos roteiros. E aqui nós queremos criar um script C-sharp que vai ser chamado de sistema de saúde inimigo. Então, saúde inimiga, vamos ter certeza, ok, então sistema de saúde inimigo, vamos clicar duas vezes no sistema de saúde inimigo. E o que vamos fazer aqui? Então, a primeira coisa que vamos dar a cada inimigo a sua própria saúde. Então vamos criar um público, e ele vai ser um inteiro porque a saúde não é um flutuador, é geralmente um inteiro. Então, quantos acertos este inimigo pode aguentar? Então, acabe. Vamos criar isso como a saúde atual. E vamos em frente e definir para cinco, então nunca é 0. Então, a próxima coisa que vamos fazer, vamos dar o início e a atualização por enquanto, talvez não vamos usá-los. Então o que vamos fazer aqui é criar um método que é o vazio público, sofrer danos. E isso nos permitirá sofrer danos. Então este é, este método será chamado toda vez que nosso inimigo for atingido. Então vamos reduzir a saúde atual em um. Então, como lembramos, o menos significa que reduzimos um da nossa saúde atual. E então, se nossa saúde atual for menor ou igual a 0, então menor ou igual a 0. Então vamos destruir o inimigo. Destruir veio objeto. Certo, então palha, um objeto de jogo, salve tudo isso. Depois de acabarmos de criar o dano da tomada, precisamos ir ao nosso sistema de armas. E quando atirarmos aqui, em vez de simplesmente destruir o inimigo, vamos realmente pegar a cabeça. Então esta é a informação do reelenco. Vamos acessar o colisor e vamos pegar o componente que é
o sistema de saúde inimigo. E quando
conseguirmos, vamos sofrer danos. Então vamos chamá-los de cada método. E se você não encontrar o dano da tomada, certifique-se de que é público. Guardamos tudo isso agora de volta em unidade e isso deve funcionar. Jogar. E agora podemos ver que quando atingimos esse monstro, deixe-me clicar nele para que possamos ver no inspetor, então a saúde atual é oito. Deveríamos ter uma, duas, três vezes. Então você pode ver que sua saúde está diminuindo. Vamos recarregar nossa arma e agora devemos ele pela última vez e ele desaparece. E o mesmo é verdade para o inimigo robô. Então agora ele tem metade de três, então deveríamos ter uma vez, mas como você pode ver, nós realmente não batemos nele. E isso é porque tínhamos a bala. Então, isso é uma boa mecânica de jogo,
dependendo de como você quer que o seu jogo para colocar sobre atirar nele uma vez. E ele não é realmente oh, então precisamos ter certeza de que ele é marcado como o inimigo. Porque nós fizemos isso enquanto no modo de jogo e no modo de jogo nada salvo. Então nós deveríamos ter uma, duas vezes, e nós devemos ter uma última vez e ele morrer, ótimo. Agora, o que mais deveríamos fazer? Bem, digamos, por exemplo, bem, no futuro teremos muitas armas. Então, por enquanto, a pistola uma certa quantidade de dano. Mas, por exemplo, se estiver usando um atirador, bem, é claro que isso causará mais danos. Então, queremos adicionar essa habilidade a cada um dos mortos para ter sua própria quantidade de dano. Então, a maneira como fazemos isso é entrarmos no sistema. E aqui em cima nós vamos criar uma variável que vai ser chamada de público e quantidade de dano sobre. Então agora cada arma tem sua própria quantidade de dano. E o que vamos fazer é no sistema de saúde inimigo, em vez de apenas ter o dano recebido e reduzir um da saúde atual. Nós estamos realmente indo para tomar em um parâmetro que vai ser um inteiro e vai ser a quantidade de dano. E aqui, em vez de reduzir um, vamos chamar isso de menos igual à quantidade de dano, salvar tudo isso. Uma última coisa. Precisamos ir ao sistema GUN e sempre que atirarmos no inimigo. Então você pode ver que há um erro aqui porque precisamos adicionar um parâmetro. E esse parâmetro será o dano da nossa renda. Então, de volta ao nosso jogo. E é por isso, e é por isso, a propósito. Então digamos que a quantidade de dano da nossa arma é cinco e a saúde do nosso monstro é isso. Então, quando atirarmos nele duas vezes, você acha que ele deveria morrer. Mas o que aconteceria se nós inhere definíssemos a saúde atual para ser igual, apenas igual a 0. Bem, então quando atirarmos nele pela primeira vez, sua saúde se tornará três, quando devemos ter a segunda vez, sua saúde se tornará menos dois. Assim, a saúde atual não é igual a 0, então o inimigo não será destruído. Então é por isso que colocamos um menos que igual a 20. Só queria ter certeza de que ninguém se confunde com isso no nosso jogo agora. E vamos para o jogador, vai para o corpo, quero dizer, vai para a cabeça, você vai para as armas, vai para a pistola, e a quantidade de dano que esta pistola vai causar. Vamos colocar em dois. Nós guardamos isso de volta no nosso jogo. Então, agora vamos verificar o monstro. E devemos ver que quando sua saúde é oito, quando atiramos nele uma vez, torna-se 642 e finalmente 0. Muito agradável. Mas temos este belo sistema de saúde inimigo. Temos os tiros causando danos, mas ainda há algo faltando e esse é o impacto de nossos tiros. Então isso vai fazer parte do seu desafio. E seu desafio é adicionar efeito de sangue aos tiros de bala para que você obtenha o efeito de sangue dos exemplos do sistema de partículas instanciados sempre que atingimos um inimigo com o nosso re-cast e eu vou dar-lhe uma dica para a rotação do instanciação. Portanto, certifique-se de que a rotação é a rotação do ponto quaternion e o hit Normal. Então pausar o vídeo agora mesmo e ir fazer lixiviação desafio. Ok, bem-vindo de volta. Esquecemos de fazer mais uma coisa. Precisamos
adicionar o script de saúde do inimigo aos demônios do taco. Então ambos têm seu próprio script de saúde e sua quantidade de dano que eles podem sofrer será seis e x. Ok, vamos salvar isso. Agora vamos entrar em nossos ativos de jogo e vamos abrir os exemplos de efeitos. Vamos abrir o lote. Vamos abrir os prefabs e ver qual deles vamos usar. Talvez este não seja o que vamos usar. Então. E este é o sangue contínuo. Então você pode adicionar isso ou esta é a poça de sangue. Você também pode adicionar isso se quiser, mas estes não são o que estamos procurando. Estes não são os dróides que procuramos. Então é o impacto, o efeito de armas de impacto, e os prefabs aqui. Então vamos ter o flash. Se usares o sangue, está tudo bem. Não se preocupe com isso, mas vamos usar os impactos da carne ou vamos
colocá-los aqui para que vocês possam ver os Bloods orando. Você pode usar os dois. Você pode integrar este com o efeito de sangue do jogo. Então vamos usar este aqui. Vamos deletar aqui e levar para nossos prefabs. Espero que tenha feito isso. Então vamos pegar este, que é o grande efeito sanguíneo. Vamos adicioná-lo em nossos prefabs e adicioná-lo aos efeitos. E esta é a pré-fabricada do demônio do cacau, que não tenho certeza do que é. Temos isso em algum lugar? Não. Vamos apagar isso. E nossos efeitos, temos o impacto no sangue. Este é o impacto do sangue. Vamos torná-lo um pouco maior. Então, três por três, aplicaremos todas essas mudanças e removeremos daqui. E agora o que devemos fazer é entrar em nosso roteiro,
nosso consistente, e aqui em cima onde temos todos os nossos objetos de jogo dos efeitos. Vamos adicionar muito. Efeito, guarde isso. E aqui em baixo quando atingimos um inimigo. Então vamos aumentar esta condição se. Vamos mover o colisor da cabeça. E aqui vamos instanciar um efeito sanguíneo. Vamos colocá-lo no ponto principal. Então este é o reelenco, o ponto que o reelenco atinge. E vamos defini-lo como o quaternion, não a rotação do bloqueio, e vai ser o ponto da cabeça normal. Então eu espero que você tenha sido capaz de fazer o desafio. Espero que o sangue te confunda com o impacto da carne. Se fez o sangue, está tudo bem. Talvez seja ainda melhor. Então vamos salvar tudo isso de volta e nosso ganho. Agora a única coisa ilógica e aqui é que o inimigo robô vai realmente derramar sangue. E agora, quando filmamos, é
claro, esquecemos de adicionar o efeito sanguíneo. Então este é o carnudo de volta para a pistola no efeito do sangue. E agora devemos ter alguns efeitos de borrão. Então agora, quando atiramos, você pode ver que muitos fatos chegando e se ele ainda ficar, podemos destruir estes foram os, então agora quando devemos este inimigo, ele também deixa um efeito de sangue. Vamos recarregar e filmar o nosso, ok, então ele está morrendo. Muito agradável. Então, com isso feito, isso é tudo o que precisávamos fazer. É claro que vamos cometer as nossas mudanças. Então encenar tudo. E aqui nós, o que fizemos? Bem,
adicionamos um sistema de saúde aos nossos inimigos, cometemos tudo isso. E no próximo vídeo vamos adicionar um sistema de saúde ao jogador. Eles não são. Então eu vou ver você que ele, Michael aqui do futuro. Agora há um pequeno problema com o nosso jogo. E alguns de vocês devem ter notado isso. Então, se formos ao nosso daemon do cacarejo agora, alguns de vocês podem ter tentado desligá-lo, mas ele não vai cair. E o problema com isso é que é a forma como nosso código é configurado. Então, se entrarmos em nosso código, podemos ver aqui que sempre que atingimos uma etiqueta inimiga, nós realmente vamos e pegamos o colisor. E a partir deste colisor obtemos o componente no objeto
do jogo que tem este colisor e acessamos o sistema de saúde inimigo. Agora, qual é o problema? Bem, o problema é que o nosso demónio tem o seu colisor na criança e o sistema de saúde inimigo está no pai. Portanto, há duas soluções para este problema. Primeiro, você pode mover o sistema de saúde inimigo aqui para o corpo do demônio cacau. Ou qual é a minha solução preferida, é que podemos realmente ir em frente e remover o colisor de malha dos corpos. E nós vamos para o nosso corpo humano CaCl2 porque ele não está em seu local apropriado, certifica-se de que ele tinha zeros 00, clique duas vezes nele. E aqui vamos adicionar um colisor de esfera. E por que eu sugiro a solução e não realmente passar pelo colisor de malha? Bem, porque nossa demanda de cacau aqui já é uma esfera, então isso não é problema. E outro pequeno problema que temos, e é com a animação rotativa. E o problema com isso é que estamos realmente girando o corpo e não o objeto real do jogo. Então, se batermos no jogo, você pode ver que o colisor de esfera fica aqui e o corpo continua se movendo. Então, para consertar isso, precisamos mudar. E este é o meu erro. Talvez você não tenha cometido esse erro. Eu só queria mantê-lo e mostrá-lo para que você saiba, por que às vezes as coisas não funcionam e elas não funcionam e aparentemente não há erro. Você acha que tudo está funcionando bem, mas acontece
, não, lá o erro. Então mudaremos mais tarde. Vamos em frente e consertar isso antes de irmos. Então vamos redefinir a posição. E estamos redefinindo a posição porque vamos adicionar o, o que levou este aqui. Então mova isso para cima e vamos em frente e adicionar um colisor. Então o medo planador e vai aumentá-lo. Então eu só queria mostrar que às vezes você adiciona outro mecânico e acontece que algo estava errado antes disso. Então eu só queria ficar com ele só para que você soubesse. E este aqui, é a animação em movimento. Na verdade, muda todo o corpo. Este aqui. Precisamos refazer a animação para ter certeza de que as alterações são feitas na animação para o objeto de jogo real. Outra coisa que notei, talvez você não tivesse esse problema. Mas se clicarmos no inimigo robô, e removermos a animação aqui porque é muito viciado. E o problema é que quando jogamos, talvez não se mexa. Então é por causa do agente nano mesh estar no subsolo. Então sempre mantenha em 0, não faça menos que 0, pelo menos 0. Então vamos guardar isso. Aperte Play. Garante que o robô esteja andando por aí. Ok, ótimo. Assim, e o sistema de efeitos de plotagem não foi assinado. Impacto sanguíneo. E é claro que precisamos marcar são ambos os demônios Geico como os inimigos. Então agora tudo deve estar funcionando. Desculpe por incomodá-lo. Ótima. Então agora tudo está funcionando como dizer, mas às vezes retardado com todos esses cálculos, mas funciona com pressentimento sólido Gu, talvez alguns de vocês possam estar pensando,
uau, esse cara está cometendo erros. Na verdade, todos cometem erros. Mesmo os desenvolvedores de jogos mais experientes e cyber punk 2077 é o melhor exemplo. Dito isso, vemo-nos no próximo.
42. Sistema de saúde de jogadores: Bem-vindos de volta, meus colegas desenvolvedores de jogos. O nosso monstro parece estar numa posição permanente. Mas não se preocupe com isso, porque quando batemos Play, agora quando ele se aproxima de nós, então hey pequeno monstro, ele começa a sentar como uma vez, duas vezes, três vezes terminar VDD, desaparecer e não podemos mais jogar. Isso é porque nós morremos. Isso porque o nosso jogador não é mais invencível. Ele realmente morre e só precisamos de duas balas para morrer do robô e ele simplesmente vai embora casualmente. Dito isto, não vamos perder mais tempo e vamos em frente e criar um sistema de saúde para o nosso Jogador. Ó K. Então, o que devemos fazer primeiro? Bem, vamos entrar em nossos roteiros e vamos criar um novo script C-sharp que está vindo a ser chamado de sistema de saúde do jogador. Então o sistema de saúde do jogador, e é claro, toda vez que isso vai estar se abrindo por conta própria. E vamos em frente e adicionar o sistema de jogador ao jogador. Então agora temos o script aqui e agora vamos abrir o Visual Studio. A primeira coisa que vamos fazer aqui, vamos criar um int público e vamos definir um certo Max Health. E então nós vamos criar um privado e inteiro e esta vai ser a nossa saúde atual. Então, não queremos sempre tê-lo à nossa frente,
ou, por enquanto, vamos torná-lo público. Vamos torná-lo privado mais tarde e começar. Sempre que iniciamos um determinado jogo ou iniciamos um novo nível, nossa saúde atual será igual à nossa saúde máxima. Muito bom. Vamos guardar isso. A próxima coisa que queremos fazer é criar um método semelhante ao do sistema de saúde inimigo, que é o dano recebido. Então aqui vamos criar um público e garantir que seja público que receba danos. E nós vamos dar-lhe imediatamente um certo parâmetro. Então é a quantidade de danos. E aqui vamos fazer exatamente o mesmo. Então, se você quiser, você pode pausar o vídeo e fazer o desafio por conta própria. Então taus atual é igual à quantidade de dano. E se a saúde atual é menor ou igual a 0 tem então aqui vamos pegar nosso objeto de jogo e vamos definir ativo como falso, então não queremos destruir nosso jogador. Queremos apenas definir o objeto do jogo como falso, e dessa forma o jogo pára. Não podemos, não podemos mais nos mover. Só temos a câmera presa lá. Mas onde vamos realmente chamar esse método aqui? Bem, vamos chamá-lo antes de tudo, se formos para o nosso inimigo AI. Então aqui, no ataque malaio, sempre que nosso jogador realmente ataca o, quero dizer, sempre que nosso inimigo realmente. Em seguida, o jogador, e nós estamos no alcance. Vamos remover isto aqui mesmo. Então é aqui que nós íamos adicioná-lo. E vamos levar o jogador porque temos uma referência a ele. E nós vamos obter o componente,
que, claro, será o sistema de saúde jogador. E nós vamos conseguir o estrago. Então é o dano malaio. Ok, nós não criamos isso é causado principalmente danos. Também temos danos na Aemilia. Ok, então danos malaios, ok, algo está errado. Não temos isso? Não o crie. E por que nos deram a opção? Além disso, está usando o método ou caso ou danos malaios. Vamos chamar essa quantia. E vamos remover o grande M e aqui. Então, clique duas vezes sobre isso. Vamos copiar esse código de volta aqui e criaremos um público. E vai ser o que, o que é o parâmetro é um inteiro, então inteiro. E esta será a quantidade de dano, vai definir para dois apenas por agora. E isto devia estar a funcionar. Certo, ótimo, vamos guardar isso. Mas onde estamos chamando esse dano corpo a corpo? Bem, senhoras e senhores, deixe-me apresentá-los ao que eu disse, senhoras e senhores, eu quis dizer meus desenvolvedores de jogos favoritos. Deixe-me apresentá-lo a algo chamado “Os Eventos”. Então, porque temos nosso monstro como o atacante principal, então um monstro, temos todas essas animações. Então você pode ver aqui que estamos caminhando e queremos começar
a causar danos quando nós realmente atacamos. Então vamos para os ataques. Isso vai levar um pouco de tempo por causa de todos os acentos estranhos. Então nós vamos nos mover e em um certo ponto quando chegar a este ponto. Então eu acho que este ponto é bom. Vamos adicionar este evento aqui. Então, clicando em Adicionar Evento, nós adicionamos um evento aqui. E o que este evento nos permite fazer, ele nos permite acessar as funções que estão no script anexado ao objeto do jogo que está sendo inimigo. Isso é uma boca cheia. Ok, então o monstro tem um animador, algumas animações. Podemos adicionar eventos que podem acessar o script no NMAI. Então, agora, se clicarmos neste pequeno, você pode vê-lo aqui, esta pequena pílula branca ou algo assim. Você pode ir para o evento de animação, os scripts e evento de animação. E você pode realmente ir e escolher uma das animações e falhável. Então você pode redefinir os ataques, procurar por dano malaio destino. E é disso que precisamos. Este é o dano malaio. E vamos guardar isso. E uma hora monstro, o dano malaio é também, isso é suficiente. E o nosso jogador, o máximo de saúde, onde está o sistema de saúde? Então Max Health será, digamos seis. Aperte Play. Vamos testar isso. Então, temos jogo. Vamos ver isso. Então nosso atacante vem aqui, ele começa a sentar EUA e Europa, você pode ver a saúde atual para 0 e agora nós somos destruídos, então o jogador não está mais ativo na cena. Muito agradável. A próxima coisa que queremos fazer é também adicionar a capacidade para
os projéteis do inimigo robô para nos atingir. E vai fazer parte do seu desafio. E seu desafio é danificar o jogador com projéteis robôs. Então, primeiro de tudo, crie uma variável para a quantidade de dano causado pelo projétil inimigo. Em seguida, você precisará tomar o jogador como tag declarada. Você pode pensar assim. Por que não estamos usando as camadas e assim por diante enquanto comparamos camadas e verificamos camadas é um pouco complicado, especialmente quando não temos nenhum colisor no objeto player, estamos simplesmente usando o controlador de personagem. Há muitos inteiros, então eu percebi que usar tags é muito mais simples e fácil. E já existe um jogador técnico em Unity. E, finalmente, você precisa, sempre que o projétil atingir um objeto marcado como jogador, fazer com que o jogador receba dano. Com isso dito, pausar o vídeo agora, e eu vou dar-lhe uma pequena dica que nem está escrito aqui. Você terá que usar o Onsager enter. Pause o vídeo agora mesmo e vá fazer o desafio. Oh, ok, bem-vindo de volta. Então vamos para a granada. Nós já estamos aqui. E vamos para o script de projéteis inimigo. E aqui vamos criar o método de On Trigger enter, então em açúcar Enter. E aqui vamos verificar se o outro ponto uma tag object.com do jogo. E se a tag é o jogador, e eu estou fazendo isso porque eu já sei que essa tag jogador existe. E aqui estamos indo para obter o outro, o objeto de jogo ponto get componente eo componente que vamos obter como sistema de saúde camada profunda. E do sistema de saúde do jogador vamos receber danos e vamos, claro, criar um tipo de quantidade de dano. Então vamos criar a quantidade de dano aqui. Clique duas vezes nesta parte superior aqui. Vamos em frente e criar um público. Faremos isso, claro, público. Vai ser um número inteiro e é a quantidade de dano. E vamos apenas fazê-lo, digamos três. Certo, guarde tudo isso. Vamos nos certificar de que tudo aqui está bem. Então, de volta ao nosso ganho de unidade, precisamos ter certeza antes de tudo, que eu marquei meu jogador. Então eu tenho um problema em lembrar de marcar objetos e atribuir coisas no inspetor. E a outra coisa que devemos fazer é ir até
nossa granada e ter certeza de que o colisor de esfera é um gatilho. Caso contrário, isso não funcionará. Então, nós acertamos o jogo e nós também podemos realmente destruído aqui. Então vamos destruir o objeto do jogo depois de causarmos algum dano ao jogador. Então, de volta ao nosso jogo, nós jogamos. E agora vamos para o nosso e eu quero dizer aqui, então ele atira em nós. Certo, ele nos destruiu. Então, porque a nossa saúde era de seis. Então aqui nossa saúde era de seis. E a granada causa seis danos quando ele destruiu a cidade, apenas se afastou casualmente e nós não estamos mais vivos. Certo, ótimo, muito bom. Com isso feito, vamos e cometemos nosso estágio de mudanças, tudo isso. Adicionado um Sistema de Integridade da camada. Comprometa tudo isso. E espero que tenha desafiado. Espero que tenham gostado deste vídeo. E no próximo, vamos exibir nossa Saúde de Jogadores na nossa frente, porque é claro, qualquer um que está jogando nosso jogo não tem o luxo de olhar para o inspetor. Isso foi feito? Vejo-te no próximo.
43. Como exibir saúde do jogadores: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, nós vamos estar realmente exibindo nossa saúde bem aqui no topo, você pode ver, então agora quando o robô nos ataca 123, você pode ver que nossa saúde está caindo e quando o cara enorme começa a nos definir? Você pode ver que nossa saúde diminuiu. E quando chegarmos a 0, não
podemos mais nos mover porque nosso jogador foi desativado. Então não vamos perder mais tempo e vamos começar. Oh, ok, então a primeira coisa que vamos fazer é ir para o modo 2D e vamos clicar duas vezes na tela. E aqui vamos criar um par de imagens. Então a primeira imagem que vamos criar representará a barra. Então vamos criar uma barra deslizante para exibir a saúde que ainda temos. Então vamos criar uma imagem. E esta imagem será, na verdade, um dos componentes que te deixei sob recursos. Então temos o coração, o parafuso, algum coração. Eu escolhi tornar o coração mais realista porque
estamos usando armas realistas e a fronteira aqui. Então clique nelas. Deixe-me ver onde vamos adicioná-los. Então aqui e dirigir embriagado de volta, nossos recursos, arrastam isso aqui. E agora temos a fronteira que, que deve fazer o sprite para D aplicar isso. E o coração também deve ser o, Considerando que sprite para o, aplicar isso. Então agora vá para a imagem e aqui, a imagem de origem deve ser o tamanho nativo da configuração de borda. E vamos em frente e colocá-lo aqui em cima. Então talvez mudemos isso mais tarde. Vamos ver esse bilhete. Na verdade, parece bom o suficiente. Agora vamos em frente e chamar isso de fronteira. A próxima coisa que vamos fazer é criar uma outra imagem aqui. Então, este será o, que imagem de interface do usuário e este terá o coração como sua imagem de origem será definido para o tamanho nativo. Não, não queremos um coração tão grande, embora pareça muito legal. Vamos torná-lo muito menor. E na verdade, quer saber, deixe-me fazer isso por cinco e talvez por cinco. E vamos em frente e colocá-lo aqui
no canto e vamos colocar a fronteira logo atrás dela. Assim parece que estamos morrendo. Vamos olhar para isso. Então, sim, isso parece legal. Então agora o que queremos fazer é realmente queremos ir em frente e Canvas e vai criar um objeto de jogo vazio. Vamos ligar para o Health Bar. E porque ele está na interface do usuário, ele terá uma certa forma ou tamanho. Então o que queremos fazer é fazer dele o tamanho exato da nossa fronteira. Para fazer isso, podemos simplesmente ir em frente e criar nossa barra de saúde para a fronteira. E então podemos ir em frente e ancorá-lo
no aqui para que possamos manter Alt pressionado e podemos clicar sobre isso. Então, desta forma, ele será ancorado para o, todos os lados da tela e ele também vai tomar o mesmo navio. Agora vamos mudar a imagem do coração para o, ou a imagem para o coração. Imagem. E vamos em frente e desmarcar a barra de saúde. E então criaremos a fronteira e a imagem do coração para a barra de saúde. Então agora temos essa parte de saúde que podemos nos mover. A próxima coisa que vamos fazer é adicionar um pouco de enchimento aqui. Então, a maneira como fazemos isso é clicar com o botão direito do mouse e ir para o seu olho e uma imagem. E esta imagem será o enchimento. E é isso que vamos manipular
para aumentar e diminuir nossa saúde nascida. Então é claro que vamos, antes de tudo, criança para a fronteira. E então vamos em frente e fazer o mesmo. Então, e aqui nas âncoras mantenha pressionada Alt, clique nisso. E nós vamos então na infância desde a fronteira. E se você tiver a imagem na frente da borda,
então, se você a tiver assim, certifique-se de que o enchimento esteja acima da porta. Ok, ótimo. Agora temos o enchimento e agora vamos ao Health Bar. E aqui vamos adicionar um componente de controle deslizante. Então vamos em frente e adicionar um componente de controle deslizante. E há muitas coisas aqui, então vamos desligar o interactable fará com que a transição não seja nenhuma, e a navegação também será nenhuma. Então pegaremos o nosso Fuller e arrastamo-lo para o retângulo. Então agora temos a capacidade de manipular o tamanho do nosso enchimento. E se aumentarmos isso de 0 para um, digamos que você pode ver que podemos começar a aumentar e diminuir o quanto temos dentro. Ok, então com isso feito, próximo passo que vamos fazer é realmente controlar este enchimento da nossa saúde comprada. Então, porque estamos controlando o comportamento, vamos entrar no script, clique com o botão
direito aqui, e veremos que temos um canvas controllers que,
ok, então este é um Canvas Controller. Já temos um roteiro para isso, que não estamos usando para nada. E agora é hora de começar a usá-lo para alguma coisa. Então aqui, a primeira coisa que vamos fazer é adicionar um usando o motor Unity ponto u. e isso nos permitirá entrar no controle deslizante e nas imagens. Abaixo aqui vamos criar um controle deslizante público e controle deslizante de saúde. Bom, então agora teremos uma referência ao controle deslizante. Em seguida, vamos criar um método. Então não acho que precisaremos de atualizações. Podemos criar mais tarde se precisarmos. Então estamos criando um vazio público e isso nos permitirá definir V Saúde sempre que começarmos o jogo. Então vamos criar um parâmetro para ele. E esta vai ser a Saúde. E vai entender o que quero dizer daqui a pouco. Então vamos pegar o controle deslizante de saúde ao qual temos uma referência. E nós vamos realmente ir e acessar o valor. E vamos definir o valor como qualquer saúde que nos é enviada através do conjunto de métodos. Então deixe-me mostrar-lhe o que quero dizer de volta aqui. E se formos para a barra de saúde, podemos ver que temos o valor aqui. Então, estamos acessando o valor do controle deslizante e estamos configurando-o para qualquer centro de saúde. Ok, ótimo. Então, o próximo passo será definir o máximo de saúde que temos. Então vamos criar um vazio público conjunto máximo de saúde. E também vai levar um inteiro que é saúde. E aqui vamos acessar o controle deslizante de saúde. Vamos definir o valor máximo do nosso controle deslizante de saúde. E nós vamos apenas definir isso para a saúde. E por que estamos fazendo isso? Bem, vou mostrar-lhe e vamos definir o valor do ponto do controle deslizante de saúde para a saúde que já temos. Então, por que estamos fazendo isso? Digamos que aqui podemos ver que nosso controle deslizante realmente tem um valor máximo. Então digamos que temos 30. Então agora, como aumentamos o valor de 0 para 30, então nosso jogador obviamente terá
diferentes, diferentes tipos de saúde com base no nível, baseado no, talvez, eu não sei, talvez você crie alguns pickups e quando você pegá-los, você aumenta o máximo de saúde. Então isso é uma possibilidade. E nós também podemos ter certeza de que estes são números inteiros agora porque estamos usando inteiros dois representam a saúde do nosso jogador, isso não será um problema, mas você pode ver que isso aumenta agora de 0 para 30 sem ter nenhum fluxo . Ótima. Então, agora que estamos definindo o máximo de saúde, temos uma maneira de definir a saúde toda vez. É hora do seu desafio. E seu desafio será definir V Health Bar máximo. Então, a primeira coisa que você precisa fazer é obter
uma referência para a barra de saúde e o sistema de saúde dos jogadores. A próxima coisa que você precisa fazer é definir o slide barra para estar no máximo de saúde quando começamos o jogo. Então, é bastante simples. A única diferença aqui é que estamos lidando com coisas diferentes. Então você já sabe como obter referências. Você pode realmente usar os objetos de busca do tipo se você não quiser ir em frente e realmente defini-lo a partir do inspetor. E você pode definir o máximo de saúde usando o método que acabamos de criar com tudo isso, todas aquelas dicas que eu lhe dei. Pausar o vídeo agora mesmo e ir para o desafio o k. Então, onde estão nossos sistemas de saúde de camada? Então, aqui vamos criar uma variável que é do tipo UI canvas controller. E nós vamos criar chamada essa variável de barra de saúde. E N aqui, depois de definir a saúde atual ou antes que não importe, nós vamos pegar a barra de saúde. E vai ser igual aos objetos de busca do tipo. E que tipo é esse? Bem, é o controlador de tela de interface do usuário. E nós vamos apenas assim. E agora vamos ter a barra de saúde. Vamos acessar o conjunto máximo de saúde. E vamos defini-la intmax saúde que temos para o nosso jogador, sistema Jogadores Saúde. Vamos salvar tudo isso. E vamos voltar ao nosso jogo aqui. Então, quando batermos no jogo, devemos ver que o bar está cheio. E não, não encheu porque é claro, é
claro que nos esquecemos de definir algum tipo de referência. Então, em Canvas, vamos definir o controle deslizante da Barra de Saúde, e aqui vamos salvar isso. E agora vamos jogar. E vemos que enchemos tudo. Agora, quando formos atingidos, não teremos nossa saúde reduzida em nada. Não vai aparecer aqui porque não estamos realmente a actualizar esta questão. Então vamos em frente e atualizar. Então, de volta aqui, vamos entrar em nosso dano no nosso sistema de saúde do jogador? Então, dentro daqui, toda vez que
sofrermos danos, vamos acessar nossa barra de saúde e vamos apenas definir
a saúde e a saúde atual. Então vamos guardar isso de volta no nosso jogo. Então, agora, cada vez que você é atingido, em teoria, nós deveríamos, nossa vida é reduzida. E onde está o nosso jogador? Deixe-me dar-lhe um pouco mais de saúde porque seus patéticos tão 20, salvar isso de volta em nosso jogo. E agora devemos ver que sempre que formos atingidos o robô atire em mim. Então, 12, você pode ver que nossa saúde está caindo muito legal, então, e quando acabar, bem, o jogo acabou. E finalmente, eu só quero fazer mais uma coisa, e isso é puramente estético. Você pode optar por fazer isso como quiser, mas deixe-me ir até a barra de saúde, aumentar esse valor aqui, ir para a pasta e faremos uma ameaça. Então agora nossa saúde, ou você pode até escolher ter a cor do seu enchimento aqui, a cor do seu coração. Então escolha uma das cores. Você pode ver os pixels à direita, e eu escolho a ameaça. Ok, então isso parece muito sangrento. Tínhamos o Play e agora temos a nossa barra de saúde
aqui a mostrar-nos o que se passa com o nosso jogador. Então, isso foi feito? E vamos preparar todos os nossos arquivos
que um sistema de saúde do jogador comete essas mudanças. E no próximo vídeo, vamos realmente estar exibindo os inimigos, inimigos barra de saúde. E vamos exibi-lo em cada inimigo que temos em nosso mundo. Vemo-nos no próximo vídeo.
44. Como exibir saúde Enemy: Enquanto voltamos meus colegas desenvolvedores de jogos, neste vídeo, adicionamos uma barra de saúde não só para nosso jogador, mas para nossos inimigos. Então agora, quando devemos, podemos ver que a saúde deles é reduzida. E agora matamos todos estes e todos os nossos inimigos quando a barra de saúde deles cair. Então não vamos perder mais tempo e vamos começar. Oh, ok, vamos começar. A primeira coisa que queremos fazer é clicar duas vezes em nosso inimigo robô para ampliar. E no nosso inimigo robô, vamos realmente criar uma nova tela. Então agora teremos a tela inimiga aqui. E o que vamos fazer se pudermos vê-lo, é gigantesco. Então, clique duas vezes de volta para o inimigo robô. Ok, então agora não podemos mais fazer isso. Mas o que podemos fazer é ir para o inimigo Canvas e realmente queremos ir e mudar as palavras aqui. Vamos mudá-lo para o espaço mundial. E agora podemos reduzir para 0,001 em todos os lados, y e z. Ok, então agora é uma tela muito pequena e vamos mudar a posição para 0 lados. Agora vamos clicar duas vezes sobre o robô e vários. Agora nossa tela é muito menor. E vamos em frente e torná-lo ainda menor do que isso. Então, vamos clicar no botão T ou escolher este aqui, que é a ferramenta de recreação. E escolha um lado e torná-lo todo o caminho menor. Agora aqui, nós vamos fazer a mesma coisa que nós fizemos no meio-cozido normal ou 40 jogadores. Então vamos criar uma imagem de interface do usuário. Esta será a nossa fronteira. Então, a fronteira. E nós vamos também ir em frente e considerando que você está adicionando a borda como a imagem de origem? Vamos ancorar tudo ao redor. Agora podemos controlar o tamanho da nossa tela e o tamanho da nossa borda será menor. Vamos então criar o enchimento. Então você imagina que esta será a pena. E também vamos em frente e mudar a cor do enchimento para
ler e ancorar em todas as posições e colocá-lo sobre a borda. Então agora temos esse tipo de Seu, vamos colocá-lo aqui. E, na verdade, isso é claro que, nós vamos mudar isso mais tarde, mas por enquanto só queremos ter certeza de que tudo está funcionando. Agora, como uma coisa final, precisamos adicionar um controle deslizante aqui para que não precisamos criar o, o que fizemos aqui? Então não precisamos criar a barra de saúde real. Podemos adicionar imediatamente o componente de controle deslizante aqui. Vamos nos tornar interativos, fazer a transição não, e a navegação nenhuma. E vamos adicionar o enchimento como o retângulo de preenchimento. Então agora podemos ir em frente e mover isso para cima e para baixo. E como você pode ver, na verdade é do outro lado. Então é a partir daqui, vai mudá-lo de elevação. Mais tarde. Podemos realmente mudar a direção da direita para a esquerda se
sentirmos que precisamos fazer isso. Ok, ótimo. Na verdade, vamos criar um truque muito bacana que você verá no final deste vídeo, mas vamos continuar. Um vai manter a surpresa para mais tarde. Na verdade, você já viu na introdução. De qualquer forma, vá em frente e crie um script C-sharp, e este será o controlador de tela de interface do usuário NMI. Então é que controle corretamente Canvas controlador, seu inimigo bater Enter. Visual Studio abrirá automaticamente por algum motivo e adicionaremos o inimigo que você Canvas Controller à tela inimiga. E agora a tela do inimigo, vamos clicar duas vezes e abrir. E, na verdade, vai ser quase o mesmo que o nosso. Considerando que o controlador de tela de interface do usuário, o normal. E vamos simplesmente copiar tudo isso. E vamos colá-lo aqui. Assim, com base nisso e o início não será usado. Se o usarmos mais tarde, vamos configurá-lo. E o controle deslizante está me dizendo que algo está faltando, e esse é o namespace para o mecanismo de unidade usando. Então agora podemos acessar o controle deslizante de saúde. O que mais deveríamos fazer aqui? Bem, eu acho que isso é tudo por baixo. Em seguida, vamos precisar ir em frente e realmente ajustar em torno com isso em nosso sistema de saúde inimigo. Então aqui, vamos lá e vamos criar um NME e Canvas Controller. Vamos chamar-lhe a barra de saúde. Então é exatamente o mesmo que no jogador. A próxima coisa que vamos fazer e começar, vamos em frente e pegar o componente. Mas desta vez, algo diferente vai acontecer porque vamos usar o componente get em crianças. Agora, por que estamos fazendo isso? Atualmente, o sistema de saúde inimigo, se voltarmos aqui, está no inimigo robô. Então, podemos apenas acessar o componente get na tela de interface do usuário. Só podemos acessar os componentes aqui. Então o que fazemos é acessar os componentes nas crianças e
a tela inimiga é uma das crianças e tem a tela de interface do usuário inimiga. Temos que adicionar o controle deslizante para salvar isso. Poderíamos até ter usado o componente Get e aqui porque essas bibliotecas já, mas não se preocupe com isso. Agora que você entende por que estamos usando as crianças GET e aqui estamos indo para obter o inimigo você Canvas Controller. E a próxima coisa que vamos fazer, é claro, vamos definir as barras de saúde. Valor máximo definido máximo de saúde, e vai ser Max Health. Então Max Health, ainda não criamos essa variável. Então vamos criá-lo. Então é um público, max, operações, int
público, max health. E não precisaremos mais colocar um cinco aqui. E esta é a saúde máxima. E a saúde atual será igual à saúde máxima. E vamos guardar isso. A próxima coisa que precisamos fazer é
atualizar a barra de saúde toda vez que sofrermos danos. Então aqui vamos pegar a parte da saúde. Vamos definir a saúde. São os mesmos métodos que fizemos com o jogador. Muito agradável. De volta à Unity. Vamos testar isso e parece haver um problema. Esquecemos um ponto e vírgula aqui em cima. E agora de volta à Unidade. E por último, vamos olhar para a nossa invenção. E, por alguma razão, há um problema. Em primeiro lugar, há três erros e eles são para cada um dos inimigos aqui em cima que não tem uma barra de saúde. E também não temos o Health Bar colocando corretamente o robô. Então vamos para o inimigo robô e vamos definir a saúde atual para 0. E vamos, nós realmente precisamos tornar a saúde atual privada aqui porque nós não queremos estar acessando ela. E no sistema de saúde do jogador, também, a saúde atual deve ser privada, então não temos realmente acesso a isso. Então Max Health será, digamos o que foi? Então, foram seis. Guarde isso no nosso jogo. E agora devemos ver o bar em cima disso, Philip. E quando atiramos nele, você pode ver que estamos reduzindo a saúde do nosso inimigo. Agora a barra de saúde parece ruim, muito ruim. Mas você pode ajustá-lo de acordo com sua própria preferência. Só vou fazer um pouco maior ou menor. Quero dizer, então vamos tentar, então vamos mover isso um pouco para baixo e nós vamos realmente tentar ajustá-lo, talvez torná-lo um pouco mais longo. Então, Walters, isso parece ser bom o suficiente. Vamos guardar isso. E seu desafio será adicionar o conselho de saúde aos outros inimigos. Então, antes de tudo, prefab a Barra de Saúde com seu controle deslizante. Então você precisará adicioná-lo como uma criança a todos os outros inimigos. Finalmente, você precisará definir o V máximo de saúde definido para cada um
deles porque atualmente eles não têm uma saúde atual que saiu errado. De qualquer forma, pausar o vídeo agora mesmo e ir para o desafio. Bem-vinda de volta. Então a primeira coisa que vamos fazer é ir para os nossos projetos pré-fabs. E aqui que é criar uma pasta para a interface do usuário. E de não pensar não usará isso para nada além da tela inimiga por enquanto. Então vamos adicionar o Canvas inimigo aqui. E agora vamos para o nosso monstro, vamos colocar o campus aqui. Então clique duas vezes sobre isso. É um mas alto, então abaixe. E é claro que é um grande, grande, então teremos que mudar seu tamanho também. Então, do jeito que estou fazendo isso, se você ainda não sabe, eu seguro um canto, eu mantenho Alt e eu faço isso menor. Então vamos ver, isso parece bom. Vamos colocar na cabeça dele. E vamos fazer menor assim. Agora vamos para os nossos macacos voadores aqui em cima. Então vamos adicionar a tela e a tela para este. E este aqui. Vamos definir a saúde máxima dos demônios para quatro, então quatro por quatro. E vamos clicar duas vezes e ver, OK, então isso parece bom o suficiente. Então vamos mover isso para baixo. Ok? E onde mais está? Então isso aqui vai mover isso para baixo também. E o monstro é uma saúde máxima. Então vamos fazer 12. Vamos guardar isso. Vamos tocar no play. Vamos ver se ainda temos um erro. Não, não temos mais erros e podemos atirar nos inimigos e podemos ver que estamos realmente danificando-os. E claro que este ainda está quebrado. E temos um robô aqui que matamos quando a barra de saúde deles cai. Então, com tudo isso feito, a última coisa que queremos fazer é deixar-me mostrar-te. Não te mostrei agora. Então você pode ver que o inimigo tem a barra de saúde e ele está andando por aí. Mas o Health Bar só parece estranho porque ele está se movendo com nosso e então o que queremos fazer é que realmente queremos ter a saúde comprada, sempre olhando na direção da nossa câmera. Então vamos em frente e fazer isso. Em primeiro lugar, vamos para o nosso roteiro. Criaremos scripts, criaremos um script e chamaremos isso olhar para
as câmeras” aqui. Vamos esperar que ele compile e clique duas vezes aqui. E a primeira coisa que vamos fazer é criar uma referência à câmera principal. Então vai ser um privado porque precisamos encontrar a câmera toda vez. Então vai ser uma transformação privada Main Camera. E no começo, vamos realmente encontrar as câmeras. Então encontrar objeto, encontrar objetos do tipo, e ele tem a câmera move script sobre ele. Script de movimento da câmera nele. E nós vamos conseguir a transformação, porque esta é uma transformação e nós simplesmente vamos atualizar. Vamos fazer a transformação. Vamos olhar para a UPS, olhar para. E a coisa que vamos estar olhando é a posição
do ponto de transformação mais V câmera principal ponto para a frente. Então vamos guardar isso. E agora vamos pegar o roteiro. E aqui nós vamos adicionar isso a cada tela inimiga sobre o olhar da câmera para a tela inimiga, vai adicioná-lo a esta tela inimiga sobre o monstro. Ou, na verdade, o que podemos fazer é ir para a tela e vamos ver, podemos aplicar tudo isso. E veremos que cada tela agora tem a visão das câmeras. Então esta é a beleza de usar prefabs. Com isso dito, vamos tocar Play e ver como isso parece. Então agora podemos ver que a barra de saúde sempre olha em nossa direção. Quão bom é isso e quão eficaz é isso? Agora, precisamos mudar a barra de saúde reforçada aqui um pouco. Então, agora, onde quer que vamos, o Health Bar está sempre a olhar para nós. Isso foi feito? No próximo vídeo? Nós não vamos estar desligando o nosso jogador sempre que
morrermos, nós realmente vamos estar respondendo cada vez. Antes de irmos. Vamos entrar aqui. Encenar todos os nossos arquivos. Fez uma barra de saúde inimiga que sempre olha para a camada, cometer tudo isso. E, claro, antes de irmos, você não precisa fazer as mesmas barras de saúde que o de Minnesota precisa de um pouco de mudança, e assim por diante. Torná-lo muito mais bonito, maior, melhor olhar para ele é tudo baseado em sua preferência. Se esse set no próximo vídeo, como eu lhe disse, nós vamos estar respondendo. Então, vejo-te depois.
45. Respawning: Bem-vindo de volta meus colegas desenvolvedores de jogos em um novo vídeo. E neste, não só vamos desligar o nosso jogador sempre que morrermos, mas na verdade estaremos respondendo a ele toda vez que mergulharmos na cena em que estamos atualmente. Então, agora, quando o robô nos mata e nós
morremos, esperamos dois segundos e responderemos em nosso mundo de volta com tudo radônio. Então deixe-me apenas mostrar-lhe mais uma vez quando morrermos, você pode ver que sua saúde está em um certo ponto e minha saúde também está em 0. Até as balas voltaram ao Dan e sua saúde voltou às dez. Podemos matá-lo, podemos matar todos porque temos armas incríveis. Com isso dito, não vamos perder mais tempo e vamos começar. Oh, ok, então agora que somos capazes de mostrar nossa saúde, nós somos capazes de matar nosso jogador quando ele sofre muito dano. Vamos em frente e criar um sistema de resposta. Então, como essa resposta, um sistema de resposta vai funcionar. Nós estamos indo, em vez de apenas desligar o nosso jogador sempre que ele morrer ou torná-lo incapacitado, nós vamos realmente levá-lo de volta e reiniciar o nível que estamos atualmente em. Mais tarde, vamos expandir o sistema e fazer com que ele nos leve para um nível anterior e talvez até mesmo usar o sistema para nos levar para o próximo nível. Agora o que vamos fazer é criar um gerenciador de jogos aqui. Então vamos criar um objeto de jogo vazio. Chamaremos isso de Gerente de Jogo. E a razão pela qual estamos criando um objeto real para lidar com isso é porque não queremos um determinado objeto como, por exemplo, o jogador para lidar com isso. É sempre melhor se estamos trabalhando em todo o jogo para ter o script separado de um determinado objeto que já tem suas próprias mecânicas e comportamentos. Então Game Manager, agora vamos entrar em nossos scripts e vamos criar um script C-sharp que é o Game Manager. E você notará que o símbolo mudará, e isso só acontece para o Game Manager. Então espere que isso compile. E agora podemos adicionar o script do gerenciador de jogos ao nosso gerenciador de jogos. E vamos em frente e abrir o Game Manager e o Visual Studio. Agora, o que vamos fazer aqui? Bem, vamos manipular o nosso. Então, o que significa realmente responder? Responder significa que sempre que
morrermos, vamos voltar à cena em que estamos jogando. Então, atualmente estamos no playground e não temos nenhuma outra cena. Mas sempre que
morremos, queremos começar essa cena de novo. E a unidade realmente tem essa mecânica embutida nela, que é a cena e o gerente. Deixa-me mostrar-te o que é isso. Assim, o gerenciador de si permite o gerenciamento previsto em tempo de execução e você pode ver que há um monte de coisas aqui. Então, a mesma contagem, quantas cenas totais estão lá. Você pode ir em frente e criar cenas a partir do código e você pode fazer um monte de coisas. Mas uma das coisas que estamos mais interessados é a cena do lote do gerente de cena. E isso nos permite carregar. E ele viu com base em seu nome ou seu índice. Então, o que é visto índice? Deixe-me mostrar-lhe isso em Unity. Então,
de volta no Unity , se formos para o arquivo, podemos ir para as configurações de compilação. E aqui é realmente onde você está indo para construir o seu jogo como um jogo acabado. Então, o que fazemos aqui, você pode ver que temos as cenas em massa. E aqui é onde nós adicionamos as cenas que realmente vão ser parte do nosso jogo ou os níveis e assim por diante. Então, a maneira como adicionamos cenas na construção é que nós realmente vamos para as cenas e nós simplesmente arrastamos o playground para aqui. Então agora o playground é parte do built-in e você pode ver o índice aqui. Então o índice para o playground é atualmente 0 e é nisso que vamos trabalhar. Então vamos começar a codificar. Em nosso gerenciador de jogos vai abrir o script aqui. E a primeira coisa que precisamos é que realmente precisamos adicionar os nomes namespace que nos permite manipular cenas. Nós estamos indo para criar um mecanismo usando Unity pensado gestão visto. Ótima. Então agora podemos começar a acessar o arsine. A próxima coisa que vamos fazer é remover isto. Acho que não vamos precisar deles. Vamos criar um método público que vai ser chamado de resposta jogador. E este método é realmente vai fazer uma coisa e ele vai primeiro de tudo chamado de gerente de cena. Então, já vi o gerente, queremos carregar uma certa cena. E que cena devemos procurar? Agora, podemos ir em frente e colocar um 0 aqui, e isso vai funcionar bem. Mas digamos que temos dez níveis em nosso jogo. Como sabemos ou como dizemos esta cena de carga que queremos responder a esta cena exacta? Bem, há uma maneira muito ineficiente de fazer isso. Chamamos nosso gerente sênior de soro. Mais uma vez, gerente de AC. Você pode por favor me dar o visto ativo para que este bom fique com a cena ativa no momento. E o que devemos fazer agora? Bem, porque queremos o índice dessa cena ativa, vamos simplesmente dizer o 31, o índice construído. E agora o que acontece aqui, o gerente de cena vai carregar a cena. E o índice de cena será a cena ativa atual, que obtemos do gerente de cena. E nós vamos acessar o índice dele. Então, e agora vamos em frente e salvar isso. E para onde vamos ligar para esse gerente de jogo? Então vamos chamá-lo, enquanto nosso sistema de saúde do jogador, sempre que morremos, depois de destruirmos o objeto do jogo ou de o
deixarmos ativo, nem precisamos disso. Podemos ir em frente e quer saber, vamos ficar com ele. E nós estamos indo para ir em frente e encontrar o objeto do jogo do tipo. O Game Manager, e nós vamos dizer que queremos que o jogador responda. Vamos guardar isso. E vamos em frente e testar isso e unidade. Então nós jogamos, vamos ver, qual é o nosso tipo de saúde 20, vamos fazer dez apenas para acelerar o processo em jogo. E agora vamos ver a hora do monstro Hale. Ei, por favor, me ligue. Então vamos ver. Nossa saúde é removida. Então 12, talvez mais dois hits. Sim, então agora somos destruídos e você pode ver que estamos de volta à nossa nova cena. E a saúde do inimigo foi restaurada e nossa saúde também foi restaurada. Então vamos tentar de novo. Então, por favor, 1-2-3, morremos. Estamos de volta à nossa cena com a saúde de todos os nossos inimigos de volta em seu lugar. Muito bom, mas ainda há um problema. Então, agora, quando eu morrer, é imediato. Não é divertido. Sabe, geralmente quando você morre no jogo, leva um pouco de tempo para você refletir sobre todos os erros que você cometeu. Então, a maneira como vamos fazer isso é dando-lhe um desafio. Então seu desafio vai criar a rotina de co que irá atrasar a resposta de nossos jogadores. Já fizemos o Desafio Adolescente Skoll, acredito duas vezes, mas rotinas de chamadas são uma coisa complicada. E se você não fez o Desafio Colton porque você ainda está intimidado por ele. Então este é o momento perfeito para fazê-lo. Com isso dito, em primeiro lugar, você precisa criar uma variável para a quantidade de tempo para esperar. Você precisará criar um revestimento do enumerador Tipo II. Você precisará ceder o tempo que adicionamos. E, finalmente, você precisa carregar a cena atual. Então tudo que você tem que fazer é criar uma co-rotina e na variável b, na verdade, usando o gerenciador de cena para responder com isso dito, pausar o vídeo agora e ir criar uma linha fria. Ok, bem-vindo de volta. Então, o que devemos fazer? Então aqui vamos criar uma variável. Vai ser um soldado. Não precisamos que seja público. Então vamos criar um carro alegórico privado e vamos chamar isso de tempo até o jogador morrer. Então, é um pouco longo e vamos apenas configurá-lo para dois F. Então agora aqui, em vez de o jogador responder imediatamente, vamos criar um enumerador de olhos. Então eu enumerador, vai ser a camada. E responda co. Isso significa Curtin. E aqui vamos em primeiro lugar render o retorno. Não, espere quatro segundos. E vamos colocar aqui o tempo até que o jogador o faça. Então, depois de esperarmos por esses dois segundos, vamos realmente usar isso aqui. E no jogador responder, vamos começar a co-rotina, que é o jogador responder carvão. Com isso feito. Vamos salvar tudo isso de volta ao nosso jogo. E agora, quando batermos no jogo, devemos ver que sempre que morremos, esse robô está nos matando mais rápido. Então 123, somos os 12 ativados, e então respondemos. Quão legal é isso? Então agora nossa resposta é apenas um pouco de atraso e faz mais sentido com isso feito, espero que você tenha gostado do vídeo. Vamos em frente e encenar tudo isso. Vamos criar um sistema de resposta usando o Game Man. Com isso feito, é o fim da seção, acredito que na próxima seção vamos aprofundar o sistema de armas. Vamos adicionar mais armas, vamos adicionar animações de recarga. Inclusive adicionamos um lança-foguetes e aprenderemos como podemos criar objetos em nosso mundo que podemos pegar para saúde e munição. Mas dito isso, espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
46. SEC 8 - adicionando mais armas: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Prometi que lhe daria mais armas legais, e agora é hora de cumprir essa promessa. Agora temos a pistola que atira por aí. Mas quando tivemos Tab, temos o rifle SS que atira muitas balas. E se acertarmos Tab novamente, temos o atirador que amplia e atira
no inimigo e você pode ver que ele tem mais dano. Então, agora podemos, vamos tentar acertá-lo mais uma vez. Ok, então estamos sem balas e cada arma tem sua própria taxa de recarga. E não só isso, se tivéssemos Tab novamente, podemos continuar batendo no Tab e as armas continuam trocando. Então não vamos perder mais tempo e vamos começar. Certo, a primeira coisa que vamos fazer é entrar no chapéu, abrir as armas. E vamos duplicar esta pistola duas vezes. Então isto, vamos mudar isto para a espingarda. E isso mudará isso para o atirador. E vamos desligar esse hiper, e vamos virar a pistola também. E vamos trabalhar no que é isso? É uma espingarda. Então fuzil. Certo, guarde isso. E agora o que vamos fazer é remover a pistola pré-fabricada. E vamos entrar em nossos recursos de jogo, em nossas armas de ficção científica, a base de volta, os pré-fabs, os rifles, e vamos adicionar o rifle como uma criança do rifle. Agora temos a nossa espingarda aqui. Mas é claro que vamos, em primeiro lugar, desempacotar completamente e vamos levar a bala. Então, onde está o Boletim aqui? Bala. E vamos para a Prefab. Então, em balas Prefabs. E antes de fazermos isso, antes de fazermos isso, deixe-me fazer todos esses três em cada escala. Vamos olhar para o jogo e vamos colocá-lo aqui. Então, se você já sabe como fazer isso, vá em frente e talvez você possa pular, faça isso em si mesmo. E então pule para a parte onde realmente temos tudo pronto, um Michael aqui. Então eu decidi fazer este clipe um pouco mais rápido, então eu vou fazer uma narração. Este vídeo já é muito longo, então agora estou ajustando a arma. Estou verificando se é maior. Agora vamos colocar a bala como pré-fabricada. Vamos adicionar um corpo rígido, o controlador do barco, e vamos atribuir tudo. E agora nós terminamos. Mudaremos o nome para a espingarda pré-fabricada. Vamos ajustar a posição de disparo e também vamos certificar-nos de todos os lados que ele está apontando corretamente. Nós vamos adicionar a bala. E aqui nós vamos ajustar um pouco de coisas para que nós vamos fazer o total de balas 1-20, a quantidade de zoom reduzida e a quantidade de dano aumentada, débito. Agora a próxima coisa que vamos brincar, ver se isso funciona. Ok, então parece estar funcionando como habilidade. Está destruindo. Muito agradável. Vamos desligar isto. Vamos voltar para o atirador. Vamos adicionar o atirador pré-fabricada. Vamos desempacotá-lo. Claro que vamos chamá-lo de “sniper “pré-fabricada, torná-lo dois em cada escala. Apenas a posição, como sempre. Certifica-te de que fica bem no jogo. Vamos remover a bala, colocá-la como pré-fabricada. E, claro, em tudo o que precisamos adicionar a ele, apenas as coisas que dependem de suas preferências, eles não precisam ser exatamente como as minhas. Então vamos nos certificar de que tudo isso funciona. E ótimo. Então agora nossas balas matam e destroem tudo ao seu redor. Agora vai levar a justificar a posição. Esqueci-me de fazer isso. E eu posso ver que eu também esqueci de adicionar um corpo rígido às balas e de fazê-las voar. Então vamos entrar em nossos roteiros. Vamos fechar isso e entraremos em nossos roteiros aqui,
clique com o botão direito do mouse e criaremos um script nítido em C que será o sistema de troca de armas. Então o sistema de troca de armas teve entrada. Então agora o que nós vamos fazer é realmente adicionar o sistema de troca de chaves para a arma. Então, os pais de todas as nossas armas terão as armas, qual sistema nele? Vamos clicar duas vezes aqui e começar a codificar. Qual é a primeira coisa que precisamos fazer? Bem, vamos criar uma lista de todas as nossas armas disponíveis. Deixe-me falar um pouco sobre listas. Então, laser, o que são listas? E C-Sharp. Então é uma coleção de objetos do mesmo tipo. Assim, podemos criar uma lista de inteiros. Podemos criar uma lista de strings, mas elas devem ser sempre do mesmo tipo. Eles podem ser acessados usando um índice. Então isso será muito útil. Assim como acessamos cenas usando índices, também
podemos acessar esses objetos que vamos adicionar à lista, que serão nossas armas e acessá-los através de índices. Eles podem ter métodos disponíveis para acessar, classificar, pesquisar e modificar. Então podemos usar as listas para fazer todas essas coisas, o que é muito útil. E deixe-me mostrar-lhe a estrutura de uma lista. Simplesmente criamos uma lista. Vamos colocar no tipo de objeto, vamos colocar no nome da lista, e nós criamos usando o novo tipo de objeto lista. Então vamos em frente e fazer isso no nosso estúdio visual. Então aqui em cima, a primeira coisa que vamos fazer é criar um privado e vai ser o sistema GUN. E nós vamos ter o ativo. Então esta é a variável que irá definir a arma ativa real e nosso ganho. A próxima coisa que vamos fazer é criar um público. Vai ser uma lista. E que tipo de lista vai ser essa? Bem, é um tipo de sistema Don porque cada arma tem um consistente nele. Dessa forma, vamos ser capazes de reconhecer a arma, então vamos criar chamado All Guns. E vai ser igual ao novo sistema GUN lista. E não se esqueça de colocar esses dois suportes, guarde tudo isso. E a última é que precisamos de uma espécie de índice para olhar através das nossas armas. Então vamos criar um privado. Ou vamos torná-lo público. Então, vamos torná-lo público por enquanto. Vai ser um número inteiro, e vamos chamá-lo de número atual da arma. Certo, ótimo, então agora temos essas três variáveis. Temos o ato de arma, a lista de todas as armas, e vamos conseguir o número atual da arma. Vamos salvar isso, voltar em unidade e ver como isso fica em nosso Inspetor. Então aqui temos os órgãos e atualmente a lista está em 0. Então o que podemos fazer é escolher, ou antes de fazer isso, ir para as armas. E aqui você tem essa fechadura. Então clique nele. E assim, o que quer que pressionemos a hierarquia, nada no inspetor mudará, exceto por bem, ficará na coisa que bloqueamos. Então agora podemos ir em frente e adicionar cada arma individualmente, ou podemos simplesmente escolher essas três armas e arrastá-las até aqui. Então certifique-se de que isso deve arrastá-los para órgãos. A palavra mundial real, coloque-os aqui. E agora temos a pistola como elemento 0, rifle como um e atirador como Seul. E agora que definimos tudo isso, a próxima coisa que vamos fazer é realmente criar um loop. E não falamos sobre loops. Então vamos em frente e falar sobre loops de volta em nossos slides. Então, listas e loops e matrizes andam de mãos dadas. E agora vamos estar aprendendo sobre o para cada loop. Agora, se você já tem experiência com quatro aros, por exemplo, você pode já estar sabendo e isso será muito mais fácil para você, mas se não, concentre-se realmente, bem. Primeira coisa, loops permite que você passe por cada coisa. E estamos falando de para cada loop, cada coisa em uma coleção de coisas do mesmo pipe e uma matriz ou uma lista de arrays. Então esta é a estrutura de um para cada loop, certo? Para cada um, colocamos qualquer tipo e olhamos através das coisas, ou procuramos uma coisa nas coisas. Então, digamos, por exemplo, que
temos uma certa coisa. Podemos dar-lhe um método ou podemos fazer alguma coisa. Então algum método, podemos usá-lo em um determinado método, e nós também podemos fazer outras coisas para ele. Então, digamos, por exemplo, as coisas
são, são todas armas e a coisa que estamos procurando é um golpe do tipo começou sistema. E estamos usando o for-cada para passar por
cada arma ou arma em nossa lista de todas as armas. Deixe-me mostrar-lhe um exemplo e talvez isso fique claro para você. Então, de volta ao nosso código e aqui no começo, nós realmente vamos analisar todas as nossas armas e definir todas elas para falsas ou colocar todas elas para inativas. E, em seguida, apenas definir o índice do número do canhão atual será definido como ativo. Então deixa-me mostrar-te. Vamos em frente e criar um loop foreach. Então precisamos dar o tipo de coisas que estamos procurando. Então é o sistema atual e vai ser uma arma. E vamos procurá-lo em todas as armas. Abrimos os suportes e agora pegaremos cada arma. Vamos acessar o objeto do jogo em cada arma e vamos definir ativo como falso. Então, depois de termos definido tudo para falso, nós vamos pegar a arma ativa e vamos dizer-lhe que é todas as armas no índice da corrente ido o número que nós vamos dar no inspetor, e então nós vamos Diga que o ato de arma vai ser ativo ou definido como verdadeiro. Então vamos rever este código de novo. Assim que começarmos o sistema de troca de armas. Vasculhamos cada arma e todas as armas e desligamo-las. Então, todos eles estão ativamente desligados. Então passamos por nós estamos em primeiro lugar, procuramos o número da arma que temos em nosso inspetor ou que vamos determinar mais tarde. Vamos para o índice e todas as armas. Sabemos que aqui atrás, todas as armas têm 0124, pistola ou rifle e atirador, respectivamente. Dissemos que o número de corrente desaparecido é seguro para um. Então agora estamos acessando o rifle. Então, de volta ao nosso código, o número atual da arma é um. Então todo esse valor, e aqui está a espingarda. Então nossa arma ativa, que é um sistema GUN, vai se tornar um rifle. E então vamos voltar a ser verdadeiro. E vamos testar isso lá atrás em nosso ganho. Então agora, mesmo que tenhamos o atirador ligado, assim que começarmos o jogo, devemos ver que temos o rifle conosco. Agora temos a espingarda. Muito agradável. Vamos tentar o atirador. Colocamos o elemento para acertar o jogo, e temos o atirador. E finalmente, vamos testar isso com a pistola. Tinha brincadeira. E temos a pistola que é muito grande? Vamos continuar. Agora o que precisamos fazer é criar um método que nos permita alternar entre cada arma. Então, uma atualização vamos verificar se há uma certa entrada. Então ponto de entrada obter a tecla para baixo, então uma imprensa livre a tecla para baixo. Vamos usar o código da chave da torneira. Então, sempre que
batermos Tab, seremos capazes de trocar arma. E vamos em frente e criar esse método muscular. Então gere o método. Gere o método. E o que vamos fazer aqui? Bem, vamos ver. A primeira coisa que vamos fazer é levar a nossa corrente activa desaparecida e vamos para o activado. Tão ativo desaparecido, que o objeto do jogo definido ativo como falso. Ótimo, agora a arma está desligada. A próxima coisa que vamos fazer é aumentar. O número atual da arma por um. Então, desta forma, se estivermos no 0 usando a pistola, e agora estamos no um. Isso significa que temos a espingarda, então vamos fazer o mesmo que fizemos aqui. Então, quando a corrente pode número aumenta em um, então vamos dizer que foi 0. Agora é um. Vamos para o activo desaparecido. Dizemos que é uma das armas em todas as armas com o índice do número atual que aumentou em um e nós o colocamos ativo. Então vamos guardar isso. E agora de volta ao nosso jogo, vamos manter isto em 0. Então, vamos jogar. Agora usamos a pústula. Se tivéssemos Tab, podemos ver que agora temos a espingarda. Tivemos guia novamente, devemos nosso monstro com o nosso atirador incrível e você pode ver que ele amplia em muito. Não testamos isso. Mas quando batemos guia pela última vez, podemos ver que temos um erro aqui e o erro SSE dizendo-nos que estamos fora do alcance. Bem, o que isso significa? Bem, quando chegarmos aqui, ok, então aumentamos de 0 para 1. Ótimo, pegamos o rifle, aumentamos de um para dois. Ótimo. Temos um atirador, mas o que acontece quando o número atual é três? E não há três em nossa lista, temos três elementos, que são 012 e o número final não está lá, então três não está disponível. O que vamos fazer sobre isso? Bem, você vai fazer algo sobre isso porque é parte do seu desafio. Então seu desafio é voltar para o primeiro. O que eu quero dizer com isso? Quando chegarmos à última arma, certifique-se de que não saímos dos limites. E você precisa ter certeza de que voltaremos para nossa arma inicial. Então, o que você precisa fazer é que em um certo ponto você precisa ter
certeza que se nós sairmos dos títulos. Então, se você tem isso, se sairmos dos limites, então precisaremos colocar de volta o que estamos aumentando para seu valor inicial. E eu vou te mostrar uma pequena dica que pode te ajudar. Você terá que usar todas as armas contagem de pontos, e isso lhe dará o número de itens em nossa lista. Com isso dito, pausar o vídeo agora e ir fazer o desafio. Ow, kay, bem-vindo de volta. Então vamos limpar este erro e aqui de volta em nossas armas de troca. E antes de realmente trocarmos nossas armas e aqui vamos criar uma condição “if”. Então, se o nosso número atual do canhão for maior que ou for igual a todas as armas contagem de pontos, vamos definir o número atual do canhão de volta para 0. Então agora o que isso faz, digamos que temos o número atual é que para nós aumentamos em um, então agora é três. Então agora é maior ou igual a toda a contagem de órgãos que são três. Então o que isso faz, ele vai voltar o número da arma para 0. E assim o número atual da arma aqui será 0. Ele vai acessar o índice, todas
as armas, e devolverá uma pistola. Vamos tentar isso no nosso jogo. Então, agora, quando
batemos em Play, podemos ver que temos o nosso pistão. Tínhamos Tab. Podemos ver que temos a nossa espingarda. Tínhamos Tab, temos o atirador, acertamos Tab, temos a arma de volta. Muito agradável. Então, com isso feito, vamos voltar e nos certificar de encenar tudo isso. Vamos chamar isso de sistema de troca de armas, cometer tudo isso. E no próximo vídeo, aprenderemos como podemos pegar ainda mais armas. Com isso dito, espero que tenha gostado do Cisne e te vejo no próximo.
47. Como coletar armas: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Como podem ver, temos uma arma e no meio do parque de diversões, porque quando atingimos o jogo, temos as nossas três armas principais aqui, mas podemos ir buscar um lança-foguetes. Agora, é claro, isso não faz nada, ele apenas atira, não atira nenhum foguete real, mas faremos isso mais tarde. Mas, por enquanto, vamos em frente e criar um sistema de captação de armas. Oh, ok. Então a primeira coisa que vamos fazer é adicionar uma arma aqui. R. Então, eu só vou passar através da faísca. Adicionei um lança-foguetes. Nós vamos para os prefabs e adicionar o prefab lançador de foguetes, Claro, no pacote e mudar seu nome para lançador de foguetes prefab. Com isso feito, vamos em frente e colocá-lo onde quisermos. Isso é baseado em sua preferência, como você deseja adicioná-lo. E vamos simplesmente pré-fabricar nossa bala. Também adiciono o componente do corpo rígido e o controlador do barco à nossa bala de atirador e ajusto tudo isso. A próxima coisa que vamos fazer é criar um objeto de jogo aqui. E vamos redefinir sua posição. Vamos colocá-lo aqui e vamos chamar isso de captador de armas. E aqui, vamos em frente e adicionar o prefab pesado novamente. Então adicionou o lançamento do foguete. Ops, eu quis dizer que vamos adicionar isso ao captador de armas. E agora vamos em frente e torná-lo talvez quatro por quatro. Ok. Vamos desempacotá-lo completamente. E vamos girá-lo assim um pouco. E vamos criar um colisor de esfera em torno disso. Então vamos adicionar um colisor de esfera. E isso nos permitirá interagir com o objeto do jogo. Talvez também o tornemos maior. Então vamos fazer isso em torno deste yay grande. E também vamos redefinir a posição aqui. Então qual é a posição que estamos, e vamos criar um script. E chamaremos isso de captador de armas. Então a coleta de armas cria este novo script e cria um anúncio. Agora temos aqui a recolha de armas. E antes que nos esqueçamos, vamos mover este captador de armas para os roteiros. Vamos clicar duas vezes no captador de armas e agora temos o alto-falante da arma. Mas antes de continuarmos, primeiro lugar, vamos para o sistema de troca de armas. E o que vamos fazer aqui? Bem, vamos criar uma lista que representará as armas destrancadas. Então a razão pela qual criamos o lançador de foguetes já presente nos jogadores tinham é que queremos realmente mantê-lo trancado. E quando o apanharmos, então vamos desbloqueá-lo para o jogador usar. De volta aos nossos scripts, vamos criar uma lista pública. Vai ser do tipo Sistema Khan. E vamos chamar isso de desagradável em armas com trava. Então, em armas bloqueáveis, e vai ser igual à nova lista de sistemas de armas. Ótimo, agora vamos ver nossas novas listas. Então, nas armas, temos as armas desagradáveis. E vamos em frente e adicionar o lançador de foguetes às armas desagradáveis. Ótimo. Agora o que queremos fazer é criar um nome para cada uma de nossas armas. Então vamos para o sistema de armas. E aqui em cima nós vamos criar uma string que irá determinar cadeia pública, e vai ser o nome da arma. Então, nome da arma. Então, cada arma terá seu próprio nome e baseado nesse nome,
sempre que acertarmos essa caminhonete, então sempre que acertarmos esse captador de armas, nós realmente vamos pegá-lo. Então vamos entrar na nossa pistola chamada de pistola. E essas são referências de string, então vamos precisar ter certeza de que sempre as obtemos corretamente em nosso código. Então o nome do atirador e o lança-foguetes serão o nome deste intestino. Vamos salvar tudo isso de volta no nosso WACC o que e pegar. Agora é hora de adicionar um pouco de código aqui. Então vamos remover tudo isso. E a primeira coisa que vamos criar uma arma pública para pegar o nome. Então, agora que temos a contagem para o nome da coleta, vamos entrar aqui e o captador de armas adicionado aqui. E este será o lança-foguetes. Já guardamos isso, já copiamos. Então lança-foguetes de volta em nossa arma. O que vamos fazer aqui? Bem, vamos definir o empresário entra. Então, sempre que tivemos realmente o coloidal, Vamos verificar se os outros componentes ou outro colisor que atingimos tem uma tag de jogador. Certifique-se de que o jogador está escrito corretamente. Em seguida, vamos para primeiro lugar, ir para o outro objeto de jogo e vamos acessar o componente nas crianças. E as crianças. Bem, porque nós queremos realmente acessar o sistema de
troca de armas e porque o sistema de troca de armas está nas armas, que é uma criança do jogador. Isso significa que vamos acessar o componente
na criança e vamos criar um método, mas vamos apenas adicioná-lo aqui. Então vamos adicionar uma arma e vai ser baseado no nome da coleta da arma. Então é a primeira vez que fazemos algo assim. Mas não se preocupe, vamos criar o método. E finalmente vamos destruir o objeto do jogo. Então, quando pegarmos a arma. Mas não haverá mais uma arma no nosso playground. Então vamos em frente e criar o método ad gone. E vamos para o nosso, enquanto acontece switch system, vamos criar um método aqui que vai ser o público,
garante que é público, caso contrário, não podemos acessá-lo. O anúncio se foi e vai ter uma referência do nome do chiclete. Então, quando tivermos o nome da arma, primeiro de tudo, vamos testar isso e ter certeza de que estamos conseguindo algo. Então debug dot log que
pegamos e vamos adicionar o pescoço da arma. Então vamos em frente e testar isso. Então o que não ouvimos sempre que entramos no colisor do captador de armas, vamos acessar o interruptor de armas nas crianças por causa das armas serem crianças do jogador. Nós vamos então adicionar um Khan baseado na arma para pegar o nome que temos neste abre novamente. Vamos então ir apenas impresso para fora para o nosso console e ver se nós realmente pegar algo bom. Então tinha brincadeira. Então devemos ser capazes de atender. Então estamos bem, então precisamos desligar
o lançador de foguetes e vamos em frente e armas e ajustá-lo para 0. Então nós jogamos, e agora temos a pistola. Vamos pegar isso. E nada parece estar funcionando porque cometemos o erro de todos os erros. Não o definimos como um gatilho. Então certifique-se de definir as armas, captadores, colider
esfera como um gatilho. E agora nós vamos e pegamos,
pegamos o lança-foguetes. Muito agradável. Agora vamos em frente e realmente começar a pegar o quê? Então, a maneira como vamos fazer isso, e aqui vamos verificar se realmente temos algumas armas não gostáveis. Então armas não gostáveis, contagem de pontos deve ser maior que 0. Se for maior do que 0, então vamos percorrer todas as nossas toneladas. E para isso vamos usar um loop for. Então deixe-me mostrar-lhe o que é um loop for. Loops pode executar um bloco de código várias vezes. Portanto, os loops são úteis se você quiser executar o mesmo código uma e outra vez, cada vez com um valor diferente. E deixe-me apenas mostrar-lhe a estrutura de um loop for. Então, primeiro de tudo, nós
criamos os quatro, nós damos a ele uma condição inicial, e nós vamos continuar aumentando em um até que ele chegue a um certo limite. E enquanto estamos fazendo isso, vamos fazer algo. Então ele continua a executar código dentro até eu atingir o limite certo. Então nós temos esse cara que acabamos de criar e aqui usando, vamos torná-lo um inteiro. Normalmente é um inteiro. Vamos adicionar um a ele toda vez, e vamos continuar fazendo algo aqui até atingir um certo limite. Então vamos continuar indo e indo e indo até finalmente chegarmos a esses limites. Ou podemos fazer. Algo ou uma coisa muitas vezes até chegarmos ao limite certo. Agora vamos em frente e aplicar isso em nosso código. E o que realmente precisamos dele aqui? Então, o que vamos fazer,
na verdade, deixe-me mostrar-lhe o código e então falaremos sobre isso enquanto continuarmos. Então vamos criar um inteiro, vamos defini-lo como 0. O limite será, naturalmente, o número de armas desagradáveis. E vamos adicionar um a ele a cada turno. Ótimo. Agora, a próxima coisa aqui, vamos primeiro verificar se as armas não gostáveis nesta posição. E nós vamos acessar o nome é realmente igual ao nome da arma que temos. Vamos adicionar esta arma a todas as armas. E a maneira como adicionamos ao analista é usando o ponto de órgãos. E nós vamos adicionar as armas não gostáveis ou a arma desagradável sob a condição. E então nós vamos removê-lo do on lockable. Então, antes de continuarmos a
fim de terminar esse loop, quando descobrirmos que vamos definir o i como igual ao Khan inviável, só para não continuarmos contando. Então, o que é esse código estranho? E aqui vamos falar sobre isso. Primeiro de tudo, o loop for, definimos o a2b0 0. Estabelecemos o limite para ser o número de armas desbloqueadas, e vamos adicioná-lo a cada contagem. Por que estamos fazendo isso? Porque queremos verificar se pegamos uma arma e queremos adicioná-la, vamos checar todas as nossas armas destrancadas. Se alguma ou uma das armas destrancadas em uma
das contagens aqui for igual ao nome da arma que pegamos. Vamos pegar nossa lista de órgãos e adicionar essa arma desbloqueada na lista. Em seguida, vamos remover a arma destrancada das armas adversas, para que ela não esteja mais lá. Então sabemos que temos a arma conosco. E então esta linha é uma ordem para parar todo o ciclo. Então, sempre que colocamos o olho para a contagem de pontos de armas desbloqueadas, isso significa que este
loop, loop atingiu, atingiu seu limite. Isso significa que vamos sair do nosso ciclo. Então, com isso dito, vamos salvar isso. Vamos voltar ao nosso guião. Aguarde para compilar, tinha Play. E agora devemos ver que temos a pistola, o rifle, o atirador. Estas são as nossas armas. Agora, quando pegarmos o lança-foguetes, devemos entrar em armas e podemos ver que
temos o lança-foguetes em todas as nossas armas. Então agora, quando mudarmos deste atirador para
a arma pesada A. Podemos ver que temos aqui agora, é claro, precisamos fazer algo a respeito. Mas por enquanto vamos mantê-lo assim porque isso vai se transformar em nosso lançador de foguetes. E finalmente, o que queremos fazer é que realmente queremos ser capazes, sempre que pegamos essa arma pesada, queremos colocá-la nas mãos do nosso jogador. E vai fazer parte do seu desafio. Então seu canal será equipar a arma quando a pegarmos. Então coloque a arma nas mãos do jogador quando a pegarmos. E eu sei que isso é um pouco ambíguo, mas vou te dar uma pequena dica. Você precisa redefinir o número atual do canhão para um determinado valor. E depois terás de mudar o Golfo. Assim, os certos valores terão de descobrir. Eu só vou te dar o cheiro. E com isso dito, pausar o vídeo agora e ir um para o outro. Ok, bem-vindo de volta. Então este foi um desafio avançado, se você quiser. Então eu parabenizo você se descobrir isso. Se não, não se preocupe, este foi um desafio muito avançado. Então dentro do anúncio se foi, nós vamos criar um booleano que vai ser o desbloqueado igual a falso. Então vamos definir como falso no início. E vamos defini-lo como verdadeiro quando encontrarmos a arma. Então, desbloqueado será igual a verdadeiro aqui. E por que vamos fazer isso? Porque se depois de vasculhar todas as nossas armas, desbloquearmos um certo desaparecido. Então, se desbloqueado é igual a true, então o que vamos fazer é pegar nosso número atual e vamos reiniciá-lo para um certo número, que é a contagem de pontos de órgãos, menos 2, um up menos2. E eu digo-te porquê. E então nós vamos mudar se foram. Então deixe-me explicar por que vamos usar os órgãos que contam menos 2. Então, de volta aqui, temos os órgãos como três armas, então a contagem é três e digamos que pegamos o lança-foguetes. Então agora a contagem de todas as armas é quatro. Então o que acontece é que pegamos a contagem que é quatro, removemos dois. Então isso significa que estamos prontos e quando trocarmos a arma, vamos voltar aqui. Você pode ver que quando trocamos a arma, adicionamos uma. Isso significa que estamos no índice três. Isso significa que estamos na última arma e isso
funcionará não importa quantas armas você tenha. Então isso diz tudo. Vamos tocar no Play. E agora temos a pistola. Estamos ou temos esta espingarda. Quando vamos pegar a arma pesada, imediatamente
mudamos para o pesado ido. Espero que tenham gostado deste vídeo e no próximo, vamos transformar o nosso pesado num lançador de foguetes. Até lá, vejo-te no próximo vídeo. E não se esqueça de encenar todos vêm metal daqueles adicionado um comando do sistema de captação. E vejo-te no próximo.
48. Como criar o lançador de Rocket pesado: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, adicionamos um enorme lança-foguetes que dispara foguetes e explode. Então, agora, quando nosso inimigo chegar perto, podemos atirar na cara dele com uma explosão e você pode ver que tem saúde é destruída. Mas não só isso, explosões funcionam em ambos os sentidos. Então agora, quando devemos andar, nossa saúde também é destruída. Então não vamos perder mais tempo. E vamos começar o k. Então vamos começar com o nosso lança-foguetes. Primeira coisa, vamos pegar nossa bala C bem aqui. E vamos colocar um pouco. Então esta será a bala do nosso lançador de foguetes. Queremos, em primeiro lugar, o que queremos aumentar em todos os lados para oito por oito. Então isso vai dar a impressão de que é uma cabeça de foguete real. A próxima coisa que vamos fazer é ir para o nosso Onde está? Então, nossos recursos de jogo afetam exemplos, efeitos de
armas, prefabs, e aqui você pode ver que temos o trailer de foguetes. Então vamos movê-lo para cima e você pode ver que este trailer de rock realmente dispara um truque de rock. Agora esta trilha de foguetes é feita de uma trilha
de foguetes , é claro, as chamas e a guerra tinham. Então precisamos fazer algumas coisas aqui. Primeira coisa, vamos entrar na cabeça do foguete aqui, virar o loop, desligar o ir lá embaixo, e vamos desligar a colisão aqui. Agora vá para as chamas, certifique-se de que a colisão está desligada, está desligada e desligue o loop. E rock indie também desliga looping. E, e assim ele não tem finalmente ir para o objeto pai e em ela também desligar looping e também desligar todas as colisões. Talvez precisemos fazer um pouco mais, mas por enquanto, vamos continuar assim. Agora precisamos entrar em nossos efeitos e simplesmente em primeiro lugar, desembalados. Então vá para preferir descompactar completamente e, em seguida, arrastá-lo para os nossos próprios efeitos pré-fabricados. Então agora está aqui. Agora vamos voltar à nossa bala. Vamos apagar nossa trilha de rocha por enquanto e vamos para a bala do mar. Agora vamos em frente e adicionar um controlador de bala vai chegar em torno de 50 porque, você sabe, lançadores de foguetes não são tão rápidos quanto balas normais. E manteremos a bala viva por enquanto. Vamos fazer dez, ou talvez você seja menos, mas veremos mais tarde também precisamos adicionar um corpo rígido a ele. E vamos atribuí-la aqui. Então vamos salvar tudo isso. Agora vamos pegar nosso efeito de explosão. E mais uma coisa precisamos adicionar um colisor de caixa. E este colisor de caixa estará em torno de nossa bala e vamos mantê-lo assim. Ou é claro que precisamos fazer disso um gatilho. Ok, ótimo. Agora, a próxima coisa precisamos entrar em nossos pertences novamente. E aqui vamos encontrar algum tipo de explosão. Até agora explosão pré-fabricada e vamos ver qual deles vamos usar. Grande explosão. Sim, eu destaco este, pare com isso. E agora temos isto aqui. Vamos ver o que precisamos? Precisamos desligar o loop, é claro. E nós precisaremos talvez também,
ok, então sem gatilho, sem colisões. Vamos fazer com que a ação stop destrua. E também vamos acrescentar a esta grande explosão. Vamos primeiro, desempacotar completamente porque vamos fazer nosso próprio pré-fab fora disso. E agora nesta grande explosão que fez a venda, mas menor, vamos adicionar um colisor de esfera e o litro esférico será um gatilho. Então deixe-me mover este objeto para cima e vamos ver, o raio deve ser cerca de yay grande. Então, jogue, ok, então este é o nosso raio atual. Vamos ver isso de novo. Muito agradável. Vamos fazer dois ou 1,5 é bom o suficiente. Guarde isso. Ok, ótimo. Agora temos a nossa grande explosão. Vamos descer e para o nosso próprio efeito e adicionar a nossa grande explosão. Então agora temos quase tudo pronto para começar a codificar. Agora a próxima coisa que vamos fazer é entrar no nosso sistema de armas. Então, onde está o nosso sistema de armas? Este é o nosso sistema GUN. E nós vamos fazer algumas mudanças aqui. Então vamos criar, primeiro lugar, um bool público. E este vai ser o nosso lança-foguetes. Então isto irá verificar se este é um lançador de foguetes ou não, porque teremos muitas diferenças. Então aqui na filmagem, em primeiro lugar,
depois de verificarmos se isso é adequado, antes de verificarmos se eles são todos adequados, não
queremos realmente instanciar buracos de bala ou afetos de água. Então, se não somos um lança-foguetes, então vamos fazer tudo isso. Então, é claro, lançadores de foguetes não adicionarão buracos de bala ou vazamentos de água. A próxima coisa que vamos fazer é verificar se atingimos um inimigo e não somos um lançador de foguetes. Guarde isso. A próxima coisa que vamos fazer é aqui, não
queremos produzir nenhum flash de focinho ou as balas normais que fazemos porque não queremos, queremos fazer algo diferente. Então deixa-me mostrar-te. Então estamos criando criará uma condição if. E se não formos um lança-foguetes, oops. Se não formos um lançador de foguetes, então
vamos instanciar as balas e o flash do focinho normalmente. Mas se formos um lançador de foguetes, vamos instanciar esta bala também porque adicionaremos a bala normalmente, ela vai da posição mais distante. E também vai ter a mesma rotação. Mas a única diferença é, é que a posição distante não será realmente os pais, então ele vai apenas lançar e ir em seu próprio negócio. A outra coisa que vamos fazer é que, na verdade, também vamos instanciar um certo flash de focinho, mas esta será a trilha ROC. Então aqui em cima nós vamos pegar um objeto de jogo, que é o rastro do foguete. Guarde isso. E de volta aqui vamos instanciar um rastro de foguetes. Vamos fazê-lo na posição de fogo ou da posição de fogo e com
a rotação do ponto da posição FAR. Então espero que isso funcione, economize tudo isso. E agora vamos para o nosso, enquanto ele assim esperar por isso e para o nosso lança-foguetes. E nós vamos adicionar a visão da rocha à direita aqui. E também vamos adicionar a bala. Então, onde está a nossa bala? E também vamos mudar o tempo entre os tiros. Vamos mantê-lo em um. É bom. Total de barcos 15. Eu gosto disso também. Vamos fazer este dez. Ou saber o quê? Vamos fazer isso 0,05. E por enquanto, vamos manter a quantidade de dano. Vamos mudar. Isto, vai fazer este lançador de foguetes e lançador de foguetes
real vai para as nossas balas prefabs e adicionar a bala C aqui. Aplicamos isto? Então, substitua, precisamos aplicar as mudanças que fizemos aos nossos irmãos aqui. E por enquanto, vamos apagar a explosão e a bala DC do Arsine. E vamos dar uma olhada e ver se nosso lança-foguetes realmente funciona. Então, quando batermos no jogo, vamos, oh, antes de
fazermos isso, não queremos estar sempre pegando nosso lança-foguetes. Por enquanto, vamos remover o atirador dos nossos órgãos. Remova isso daqui, e faremos do atirador e da arma desagradável e do lançador de foguetes uma arma que já está disponível para nós. E vamos definir isso para re, também para, para salvar tudo isso de volta em nosso jogo. Então agora temos o lançador de foguetes e quando atiramos, você pode ver que temos o efeito de trilha e nós podemos realmente atirar tiro. Agora, você pode ver que há algumas coisas erradas com isso. Mas por enquanto, pelo menos estamos atirando foguetes por todo o lado. Muito agradável. Agora é hora de ir em frente e adicionar uma explosão sempre que atingimos um alvo e causar dano. Muito agradável. Então vamos para a nossa bala C e um roteiro R. Vamos abrir o controlador de balas. E aqui vamos criar um efeito de partículas públicas. Então efeito de partícula onde y não é Sistema de Partículas, Explosão, explosão. Fato. Guarde isso. Esperemos que precisássemos adicionar um ponto-e-vírgula. E então vamos criar também um público que irá verificar se somos realmente uma rocha. Então, somos um foguete? Sim, deveríamos estar. Agora sobre o empreendedor Enter. Vamos remover isto. No empresário entrar. Nós vamos verificar. Se formos um foguete. Então vamos instanciar,
instanciar o efeito de explosão. Vamos instanciar na posição do ponto de transformação. E nós vamos fazer o quaternion, quaternions identidade. Então, sempre que nossa bala, se a saída é uma pedra e atinge um alvo e vai explodir. Usar o efeito de explosão salvará tudo isso. De volta ao nosso jogo. Deveríamos ter um lugar para colocar nosso espaço. Apenas desapareça em mim. A sério. Para onde é que isso vai? Então veja a bala. Ver bala e tudo bem. Então desapareceu. Não estava a alucinar, por isso certifica-se de que isto é um foguete. E o nosso efeito, vamos dar-lhe a grande explosão. Salvamos tudo isso. E agora vamos tocar Play e ver o que acontece quando atiramos. Então temos a explosão. Vamos ver se estão sincronizados. Por favor, pare de me ligar. Então devemos. E é meio sincronizado. É sincronizar? Vamos ver um up. É. Agora temos uma mecânica de tiro incrível e explosões incríveis. Quão legal é isso? Mas você pode ver que há algo errado. Então as explosões continuam explodindo sempre. E isso é realmente, bem, é meio legal. Parece o Armageddon, mas não é isso que estamos procurando. Queremos parar essas explosões. Então, para isso, isso é realmente um erro da Unidade. Tentei encontrar a solução para isso, mas aparentemente não há solução para isso. Então o que nós vamos fazer, nós realmente vamos destruir nossas explosões do código usando uma co-rotina. E vai fazer parte,
parte do seu desafio porque você vai fazer as explosões para danificar. Então, primeiro de tudo, crie um script chamado dano de explosão no efeito de explosão. Em seguida, você precisará danificar jogadores e inimigos se eles estiverem dentro da zona da explosão. Então já criamos o colisor de esfera. E antes de fazermos isso, deixe-me entrar na Unidade e precisamos ir para a explosão. Certifica-te de que tens um corpo rígido aqui. Caso contrário, isso não funcionará. Então vamos guardar isso. E agora vamos voltar ao nosso desafio. E deixem-me dar-vos um desafio extra para aqueles que estão muito profundos ,
destruírem a explosão depois de dois segundos. Sim, foi isso. vez, um desafio de codificação. Já te dei as dicas. Com isso dito, pausar o vídeo e ir fazer o desafio. Ok, bem-vindo de volta. Então vamos para a Unidade. E enquanto nossos roteiros, scripts clicam aqui e criaremos um dano de explosão. Então, dano de explosão de script C-afiado. E isto vai abrir. Não, não sabia. Legal. Finalmente, clique duas vezes no dano da explosão. E aqui, não vamos precisar de nada disso. Vamos simplesmente criar, primeiro lugar, um inteiro público. E chamaremos essa variável de dano de explosão. neve K9 aqui vai criar uma tia Sugar Enter. E aqui vamos primeiro verificar se o outro DAG .com é o inimigo. Então vamos em frente e obter o outro componente ponto get. E vamos acessar o Sistema de Saúde inimigo. E vamos sofrer danos ou causar danos. Com a explosão. O dano criará outra condição se. E vamos verificar se este colisor comparando a etiqueta com o jogador. Então não vamos precisar deles, vamos simplesmente pegar o outro. E vamos copiar isso e fazer algumas mudanças. Então, em vez do inimigo, vamos obter a camada Sistema de Saúde e vamos sofrer danos também. Finalmente, vamos criar um enumerador de olhos. E aqui vamos destruir o objeto. E vamos esperar por alguns segundos aqui. Nós não precisamos realmente criar isso, então vamos criar um retorno de rendimento. E alguns de vocês podem ter tentado muito isso. Eu tentei isso muitas vezes e você só quer ver a explosão e depois fazê-la desaparecer. Podemos até fazer talvez 1,5, então é o suficiente. E, finalmente, destruir o objeto do jogo. E nós vamos chamar isso no início. Então sim, vamos usá-lo. Assim que desencadearmos a explosão e a tivermos, vamos iniciar imediatamente o Colton e destruir o que ele destrói? O objeto do jogo. Guarde tudo isso. E agora vamos para a Unidade e testar tudo isso. Então certifique-se de que a grande explosão tem um raio, tem um corpo rígido, tem o dano da explosão. Agora, quando
jogarmos, devemos ser capazes de atirar nosso foguete. Se
fecharmos, destruímos metade da casa. Se atirarmos em um robô ambulante, também
esmagaremos a saúde e o grande inimigo gigante. Vamos ver, sim, eles também perdem. Então com nosso lançador de foguetes, lançador feito, vamos preparar todos os nossos arquivos. Talvez tenhamos mais arquivos. Não. Adicionado um lançador de foguetes veio metal disso. E o que isso não. No próximo vídeo, vamos realmente adicionar, recarregar animação para cada um e cada um que temos. Então, vemo-nos lá.
49. Animações de reload de armas: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo vamos adicionar animações de recarga a todas as nossas armas. Então agora, quando devemos recarregar, nós realmente
temos algum tipo de animação Recarregar. Deveríamos então o rifle. Nós também temos uma animação real e nós também temos a animação de recarga sniper. Também podemos recarregar o atirador. Muito agradável. E nós também temos a recarga para este, mas eu vou manter uma surpresa para o final do vídeo. Bem, dito isso, não vamos perder mais tempo e vamos começar. Oh, ok, então vamos em frente e criar algumas animações para nossas armas. Então vamos começar com a pistola. Vou criar a animação da pistola e a animação do rifle. E então talvez eu pule esses para que você possa fazer sozinho. Então vamos em frente e colocar a janela do jogo e aqui ao lado do inspetor e torná-la maior para que possamos ver tudo isso. E nós vamos entrar no jogador aqui, vamos para as animações. E porque o jogador já tem um animador nele, vamos criar um novo clipe e aqui, e vamos sim, e animações nas animações do jogador. E vamos criar uma pasta aqui que vai chamar a recarga de armas. E aqui vamos chamar isso de distal. Então a pistola recarregar animações, salvar tudo isso. Ok, então agora o que vamos estar animando é na verdade a pistola pré-fabricada. Então isso dependerá inteiramente de você. Então é assim que você quer criar suas animações. Vou mostrar-te como os faço parecer bonitos. E então você pode ir em frente e fazer o seu próprio. Então, primeiro de tudo, vamos olhar para a pistola, ir ao inspetor e ver quanto tempo leva para recarregar. Então são dois, então temos dois segundos para recarregar nossa pistola. Vamos manter essa visão de jogo indie para que possamos ver como ele fica. Então, clicamos na pistola pré-fabricada e tivemos o botão de gravação. Então, primeiro de tudo, vamos ver, temos dois segundos. Vamos fazer o tempo como dois segundos. Certo, então temos tudo isso para funcionar. E então, primeiro de tudo, vamos para o 2.5º modelo, que é estes 13. E vamos mover a pistola na nossa frente. Então vamos girá-lo e vamos movê-lo na nossa frente assim. E talvez um pouco de rotação nessa direção assim. Portanto, esta é a posição que queremos neste momento. Então seguiremos em frente. E no quadro 45, vamos abrir a pistola pré-fabricada. E aqui podemos ver que temos algumas coisas que podemos manipular. Então essa é a coisa legal sobre esses ativos. Então podemos escolher a revista, por exemplo, e podemos removê-la assim fora da cena e depois adicionar a marca de 55 minutos. Podemos ir em frente e colocá-lo de volta. Então vamos copiar o original. Então esta é a moldura da cópia original que vamos colocá-la de volta aqui. Isso. Então agora ele volta ao lugar. Então também podemos ir para
a marca talvez 65 minutos e escolher o onde está este gatilho bateu no gatilho,
o slide ao lado do martelo leve do carregador. Então o martelo e podemos movê-lo um pouco para trás. Então, só assim. E então podemos colocá-lo de volta depois de cinco quadros. Então vamos voltar aqui. Pegue o martelo, copie os componentes do martelo, e coloque-os de volta aqui. E então podemos ir em frente e colocar todo ido de volta. Então vamos para a posição ou podemos copiar tudo isso, copiá-los. E depois os 2 segundos mais colar. Então vamos ver como essa animação realmente funciona e você verá que há, há definitivamente algo errado. Então vamos jogar e para cima. Você não viu isso? Então você pode ver que definitivamente há algo errado. E o problema é que, digamos que quando começamos e aqui quando começamos a nos mover, todas as animações se movem juntas. Então você pode ver que o clipe está saindo, o martelo está saindo e tudo está se movendo ao mesmo tempo. E não é isso que queremos ter. Nós queremos, por exemplo, mover a pistola na nossa frente,
e então nós queremos mover o clipe, e então nós queremos mover o martelo. E quando terminarmos tudo isso, queremos colocar o desaparecido de volta ao seu lugar. Então, a maneira como fazemos isso é que vamos realmente ter que ir em frente e copiar as posições originais que temos e mantê-las até a próxima animação se mover. Então, o que eu quero dizer com isso? Digamos, por exemplo, que queremos começar a mover nossa revista, a revista, queremos começar a movê-la neste ponto aqui, certo, então no quadro 30. Então o que fazemos é entrar aqui. Vamos clicar na revista que representa este ponto aqui. Vamos copiá-lo e colá-lo nesta marca de 30 segundos. Então agora o que acontece é que a revista permanece no lugar até atingir a marca de 30 segundos, a marca de 30 quadros, e então começa a se mover, depois volta. Então você pode ver que bem aqui do 0 ao 030, ele permanece no lugar e então ele se move. Certo, ótimo, então vamos usar isso em todos os componentes. Então o martelo e aqui, então a revista, quero dizer, aqui, quando voltar ao lugar aqui, vamos começar a mover o nosso martelo. Então vamos copiar a posição original do martelo, copiar, colá-lo aqui. Então, o que acontece agora? Nossa arma se move para o centro. A revista remonta. Quando ele vai para o seu lugar, o martelo se move para trás, ele se move para o lugar. E finalmente temos a posição da nossa arma. Então precisamos copiar as posições e aqui, então copie a rotação e a posição da arma. Copie isso. E nós vamos colá-los por aqui. E agora, quando tocamos a animação, você pode ver que recarregamos e então colocamos nossa arma de volta. Então agora temos uma animação muito bonita. Podemos salvar isso. E agora vamos em frente e realmente acioná-lo do nosso código. Então vamos colocar isso para isso em primeiro lugar. E vamos ao nosso animador aqui. E nós vamos, enquanto a animação, ainda não a temos. Vamos colocá-lo aqui e vamos colocar o jogo por enquanto de volta em seu lugar. E vamos ao Animador. E aqui temos o Ídolo andando e correndo. Então vamos fazer isso um pouco menor para que possamos ver o que está acontecendo. Então o que vamos fazer como vamos colocar a animação de recarga da pistola. E aqui vamos criar uma transição do ocioso para o recarregamento da pistola. Agora podemos fazer isso de qualquer estado, mas vamos mantê-lo no Ídolo. E vamos criar o caminho de volta aqui. Vamos remover qualquer hora de saída e parar qualquer, ou vamos apenas manter a duração da transição e podemos ver como tudo isso funciona. Ótima. Então, talvez se vermos que precisamos remover a transição, vamos fazê-lo. Então vamos criar um gatilho. E aqui vamos chamar essa pistola de recarga de entrar. E agora vamos adicionar esta condição à nossa recarga e ele vai salvar tudo isso. Agora vamos entrar em nosso código e realmente implementar isso. Então vamos abrir nosso roteiro. E no sistema GUN, vamos em frente e criar uma referência ao nosso animador. Então, vamos colocá-lo aqui. Então animador público e mater. E chamaremos isso de “meu mentor”. E depois vamos acabar com a recarga aqui. Então, na recarga, vamos para o meu conjunto de pontos animador, gatilho, set, trigger, e nós vamos copiar a referência de string aqui. Copiamos a pistola, recarregamos e aqui, colamos aqui, paramos tudo isso. E sabes que mais? Eu não tenho algo que sempre que recarregar a tela de interface realmente atualiza antes que possamos usar os marcadores. Então o que vamos fazer é copiar todos estes são realmente cortá-los daqui. E vamos colocá-los no revestimento. Assim, quando recarregamos, terminamos a animação e, em seguida, temos nossos marcadores atualizados em nossa interface do usuário. Então vamos guardar isso. E agora vamos em frente e ver como tudo isso enquanto bloqueia e, ou jogo. Então coloque o animador e aqui, vamos movê-lo para cima para que possamos ver se isso funciona. Vamos tocar no Play. E agora, quando vamos para a nossa pistola, disparamos alguns tiros. Nós recarregamos. E não mencionamos nosso animador. Muito agradável. Então, a pistola aqui, temos o animador. Vamos arrastar o jogador e ele irá automaticamente colocar o componente animador de um símbolo disso de volta em nosso jogo. E agora, espero que não cometamos nenhum erro ou deveríamos argônio algumas vezes, recarregamos. Muito agradável. Então agora temos nossas animações de recarga e não tenho certeza se você notou. Eu nem notei quando recarregamos, quando terminamos o recarregamento do que nossas atualizações de interface do usuário. Muito bom, tão ótimo. Agora que temos isso feito, vamos em frente e criar a animação do rifle. E talvez eu só vou acelerar o processo
porque vai fazer o vídeo muito mais longo do que deveria ser. Então hey, se enorme ou molécula aqui. Então a primeira coisa que fizemos foi colocar no jogo. Desligamos a pistola, ligamos a espingarda, criamos uma nova recarga de rifle, e vamos começar a animar. Então, primeiro de tudo, eu só tenho as posições que eu quero. Pesquisei o tempo de recarga. Acontece que todos eles têm dois segundos para tempo real. Então agora eu só brinco. E antes de tudo, eu só quero ter uma sensação de como será a animação. Então, em cada ponto, eu só disse as coisas que vão se mover. Então o clipe, vamos um para cima, um para baixo, e então o núcleo de difusão também vai voltar e para a frente. E finalmente eu copio as posições iniciais. E agora o que estamos fazendo? Bem, estamos verificando para ver qual animação começa e qual animação continua. E com base nisso, eu vou começar a copiar o componente da posição inicial e colá-los sempre que eles realmente precisam começar a se mover. Assim eles não se movem antes de precisarem. Então, basicamente, estou fazendo isso agora. Experimentando tudo, olhando para eles, brincando, copiando, colando, vendo se essa é a posição que realmente precisa ter. Então tudo isso é por tentativa e erro. É por isso que te encorajo a pausar o vídeo. E realmente eu não posso apenas como um desafio, mas ir e testar tudo isso para o seu próprio. A prática torna perfeita. Eu fiz isso várias vezes até que eu realmente entendi corretamente. Então, só testando tudo. Então a posição que eu quero e agora a animação está quase terminada. Só estou olhando para garantir que o eclipse não se mova muito rápido. Eu movo a animação e oh gaye, bem-vindo de volta. Então vamos ver. Esta é a animação que criei. Demorei um pouco,
talvez demore mais,
mas por enquanto talvez demore mais, , vamos continuar assim. Então agora temos a animação. Vamos entrar no nosso animador aqui. E nós temos a animação rifle já adicionado, vai criar uma transição do ocioso para o rifle e uma transição da rivalidade lu, dois ociosos. E agora o que vamos fazer é criar outro gatilho. E este gatilho vai ser a recarga do rifle. E quando fizermos a transição para lá, então vamos para o inspetor. Vamos adicionar esta condição aqui. Então vamos fazer com que a recarga do rifle desligue a qualquer hora de saída. E mantivemos a transição? Certo, então guardamos. Então vamos fazer o mesmo e aqui, e no caminho de volta vamos manter a hora de saída. E vamos ter certeza de que tudo é exatamente o mesmo. Ok, ótimo. Então agora temos essa transição. Agora, como vamos implementar isso em nosso código? Então, agora, se voltarmos ao nosso código, quando recarregarmos, estamos recarregando a recarga do Stu. Então, o que deveríamos estar fazendo aqui? Então devemos adicionar uma tonelada de condições se e se a pistola está equipada do que podemos, podemos fazer tudo isso, mas podemos fazer algo diferente. Podemos ir em frente e aqui em cima. E aqui vamos criar uma variável que é uma string pública, ou ela nem precisa ser pública. Então podemos torná-la uma corda normal. E vamos chamar isso de nome de animação de armas. Agora temos o nome da animação da arma e uma atualização. Vamos criar um gerenciador de animação. Então vai ser, é claro,
o gerente de animação de armas, mas vamos chamá-lo de gerente de animação. Vamos avançar e gerar este método. E aqui vamos mudar o nome da animação da arma. Então deixe-me mostrar o que quero dizer. Então vamos copiar o nome da animação de contagem. Nós vamos usá-lo aqui como uma referência de string. E agora estamos, vamos mudar esse nome de animação de arma
dependendo do nome da nossa arma usando algo chamado instrução switch. Então deixe-me mostrar o que é uma declaração de mudança. Assim, semelhante às instruções if, isso permite que você adicione a execução de código condicional. Então deixe-me apenas mostrar-lhe a estrutura da instrução switch para que você imediatamente entender o que tudo isso significa. Então, primeiro de tudo, nós escrevemos switch. Adicionamos o caso que foi qual será o nome da arma. E com base no nome da arma ou na troca do caso, vamos fazer alguma coisa. Então, se o nosso caso é um, então digamos que o caso, que agora é o nome da arma. Então, o único representará a pistola, por exemplo. Vamos executar algum tipo de código. E no nosso caso, vamos colocar o nome da animação da arma como recarga da pistola. Então escrevemos pausa. Em seguida, adicionamos outro caso. Então este será, por exemplo, o rifle. Se for a caixa do rifle, então o código será executado, que será o nome da animação será igual à recarga do rifle. Em seguida, quebramos e podemos adicionar quantos casos quisermos. E finalmente, adicionamos o padrão. Não precisamos adicionar nada aqui. Podemos adicionar algo aqui. E finalmente, nós quebramos. Então olhe para a instrução switch, entenda isso, e eu vou
implementar, implementá-lo na sua frente. Então vamos voltar ao nosso código. E aqui vamos escrever. Então, troque. O caso será o nome da arma. Baseado no nome da arma, vamos executar algum código. Então, nosso primeiro caso como uma pistola. Então, obviamente, devemos ir e sempre usar o, ok, então nossa tela está um pouco complicada agora, mas não se preocupe. Vamos entrar na nossa pistola. Copie o nome da arma para que seja a pistola. De volta ao nosso código. Agora, quando tivermos este caso, o nome da animação da arma será igual à pistola. Recarregar. Cole aqui. E, claro, porque esta é uma referência de string, precisamos colocar essas duas citações aqui e escrevemos break. Muito agradável. Agora o segundo caso, se tivermos uma espingarda com o nome de uma espingarda, vamos em frente e criar um cólon aqui. Assim, o nome da animação da arma será igual à recarga do rifle. E não vamos esquecer as aspas. Muito agradável. E agora nós quebramos. Também não adicionou esta pausa. E vamos também remover isso. E finalmente, vamos criar o caso padrão. E não precisamos fazer nada aqui. Podemos simplesmente ir em frente e quebrar. Então você não precisa ter o caso padrão, mas às vezes ele pode pedir o caso padrão, então vamos mantê-lo, vamos salvar tudo isso. E agora vamos em frente. Então, adicionamos o nome da animação, para que ele mude dependendo do que lhe damos ou qual caso temos. Então, quando entramos em nosso ganho, oh, OK, isso é muito confuso. Quando batermos no jogo. Teremos nosso foguete, não se preocupe. Quando mudamos para a arma, temos certeza um pouco, nós recarregar nós re recarregar usando a animação pistola quando batemos Tab novamente. Então deixe-me colocar o animador e aqui. Então parece melhor. Então sabemos que está realmente funcionando. Então, quando ainda éramos eu, devemos recarregar a animação pistola recarga funciona. Temos a espingarda, atiramos, recarregamos. E, claro, o animador variável não foi atribuído. Quantas vezes vou cometer este erro até que finalmente, nunca mais volte a fazê-lo. Então anos e anos de experiência e ainda esquecemos de adicionar o sapato em torno de recarregar e temos nosso rifle recarregar. Muito agradável. Agora com isso feito, é hora do seu desafio. E seu desafio será criar um sniper e animações lançador de foguetes. Então crie uma animação de recarga de sniper com seu próprio Trigger e transição. Faça uma declaração switch exatamente para ele. E, claro, fazer o mesmo para o lançador de foguetes e mesmo para o lançador de foguetes e se divertir, apreciá-lo, criar sua própria animação. Talvez você queira ter algum tipo de animação maluca. E lembre-se sempre que as animações precisam estar no prefab real, não em todo o objeto do jogo, ou então ele pode quebrá-lo. Então, com isso dito, pausar o vídeo agora e ir fazer as animações. Ei, bem-vindo de volta. Então eu espero que você se divertiu criando animações porque eu com certeza fiz. Então, quando acertarmos agora, e eu coloquei todas as armas disponíveis, então eu tenho o atirador disponível. Então, quando recarregamos, esta é a nossa animação de recarga. Tudo bem, e vamos olhar para a arma também recarrega. Nós olhamos para o rifle, também tem sua própria recarga. E finalmente temos o lança-foguetes. Agora, eu não sabia como adicionar recarga e emissão para o lança-foguetes. Então eu inventei este. Então, sim, espero que goste disso. Não é sobre animação, eu acho que sim com isso feito, espero que você tenha gostado do vídeo e o próximo que vamos ser adicionando e coleta de munição e coleta de saúde. Dito isso, te vejo no próximo e, claro, não se esqueça de completar suas mudanças. Eu não vou fazer isso agora, mas você deveria estar sempre fazendo isso sozinho. Vemo-nos no próximo vídeo.
50. Como coletar mais saúde e munições: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Como podem ver, há uma caixa de munições aqui, que deveríamos ter feito maior. E temos um kit de primeiros socorros que talvez devêssemos fazer maior. Então o que estamos fazendo aqui, deixe-me ir para a caminhonete e para a saúde. E vamos torná-los três vezes maiores em todos os lados. E agora temos essas caixas enormes. Quando batemos no jogo, podemos ver que temos este lançador de foguetes, por exemplo, temos cinco munições, devemos aterrar, nos machucamos. Você pode ver que minha vida está em baixo, minhas balas estão em baixo. Quero recarregar. Então agora eu tenho três balas restantes, ou na verdade dez balas e três restantes no total de balas. Então, agora, quando eu pegar esta caixa, você pode ver que eu tenho agora cinco e minha saúde quando eu
vou para o kit de primeiros socorros também aumenta. Então, neste vídeo, vamos criar um coletor de saúde e munição. E nós vamos nos divertir muito. Então não vamos perder mais tempo e vamos começar. Oh, ok, vamos começar. A primeira coisa que quero fazer é adicionar nossos recursos de jogo. Então aqui eu tenho uma Caixa de Saúde ou a primeira caixa de oito e a caixa. Então arraste-os para os nossos projetos e para os nossos ativos de jogo, na verdade. E o que eu estou usando é isso aqui mesmo do SketchFab.com. É de graça, é de trovão. E também este kit de primeiros socorros de Theo Clark, também no Sketchfab. Então, com isso dito, vamos voltar aqui e ir para a caixa de munição, para a fonte, para as caixas de munição novamente. E vamos acrescentar isto. Vamos criar Primeiro de tudo, um objeto de jogo vazio que vamos redefinir a posição e vamos movê-lo. Vamos ver, movê-lo para a direita aqui. E vamos começar a trabalhar nisso a partir daqui. Então de volta, vamos chamar isso de recolha de munições. E vamos adicionar esta caixa como uma criança da carrinha de munição. E digamos, mas pequeno, talvez possamos fazer isso por aí. Primeiro de tudo, vamos em frente e pré-fabricada desempacotar completamente. Vamos fazer isso 0.5. em todos os lados. Se você quiser torná-lo maior, você pode torná-lo maior, você pode torná-lo menor, mas vamos em frente e adicionar o material. Então, duplicando material chamado munição, Matt. E vamos adicioná-lo à caixa e, em seguida, vamos em frente e trancá-lo aqui. Porque nós vamos adicionar o primeiro de tudo, vamos ver o mapa normal. Então conserte isso e a cor padrão da base do material para o albedo, o mapa de altura. Então, para o mapa de altura, o, o, o, o metálico para o metálico. E agora nós temos nossa caixa realmente, bem. Vamos poder ir em frente e ajustar a suavidade. Isso vai depender de você. Você pode ajustar o mapa de altura, você pode ajustar o talvez a rugosidade para a máscara de detalhes. Não, isso não muda nada. Você pode ajustar o mapa de altura também ver como você quer mudar tudo isso. Legal. Também um truque bacana que você pode usar é ir para o mapa normal e mover isso para cima. Então você pode ver que isso se torna granulado ou movê-lo para baixo. Também se torna um granulado. Mas vamos manter em talvez três. Vamos ver, 33. Parece bom. Guarde tudo isso. O que você pode fazer com esta caixa de munição é que você realmente precisa movê-la um pouco para baixo. Mova-o para baixo outra vez. Então o que você pode fazer é que você pode realmente animá-lo para ser girando, apenas olhar como você pode fazer com esta arma. Então é bastante fácil. Mas, por enquanto, vamos em frente e remover a fechadura. E aqui vai para a recolha de munições e vamos adicionar um colisor de esfera aqui. Enquanto isso, enquanto nosso isqueiro esférico, ok, então estamos nos movendo, certifique-se de que você sempre mova toda a munição, não apenas a caixa de munição. Então aqui em baixo. Então é estripado. Vamos colocar isso de volta e mover a caixa inteira para baixo assim. Vamos torná-lo um pouco menor, então é apenas o tamanho certo. E acho que é isso. Torná-lo um pouco maior, ter
certeza que é acionado. Agora vamos adicionar o HealthKit. Então, de volta aos nossos recursos de jogo, volta à nossa fonte de primeiros socorros, este é o nosso kit de primeiros socorros. Vamos em frente e criar um objeto de jogo vazio que irá redefinir a posição de clicar duas vezes em. E chamaremos isso de captação de saúde. Aperte enter. Vamos adicionar o primeiro a2, e então vamos mover este objeto inteiro um pouco mais longe. Ok, então não é isso a sério. Ok, então aqui, vamos ver a caixinha. Então nós temos nossa pequena caixa e assim como nós fizemos, nós duplicamos o material, nós trancamos aqui. Você também tem as texturas. Então vamos adicionar os primeiros socorros e aqui o, o mapa normal e aqui o, o que mais temos aumentado em metal? Este é o ou a rugosidade. Vamos mudar. Oh, e não se esqueça de
ir e adicionar o material real para que você possa mudá-lo e realmente ver o que está acontecendo. Então vamos talvez remover isso, colocá-lo em Nenhum, e corrigir o mapa normal. O que mais temos? O r, Esta é a rugosidade. Não tenho certeza de onde estamos adicionando isso. Então esta é a máscara detalhada. Então podemos aumentar o normal um pouco, e isso parece bom o suficiente para mim. E ter uma picape. Vamos parar a fechadura. A primeira caixa está aqui, então vamos fazer uma por uma. E vamos empacotar o prefab completamente porque não o queremos. E também podemos ir em frente e adicionar um colisor de esfera a isso. Você pode movê-lo para cima se você quiser e centrado em torno, meditar, mas maior. Então o jogador realmente sente como se ele precisa tocá-lo. Então ele toca. E lá vamos nós. Agora temos a nossa caixa de munição, temos o nosso bom estado de saúde. A próxima coisa que precisamos fazer é criar um script para ambos. Então, de volta aos nossos scripts, vamos em frente e criar um script de backup de saúde. Então saúde. Pegue, aperte Enter. Certifique-se de que está escrito corretamente no script para a coleta de saúde. Então agora está aqui. Vamos clicar duas vezes. Vamos abrir isto. E aqui vamos primeiro criar um inteiro público que determinará a quantidade de cura. Então quantidade de cura e será igual a cinco. A próxima coisa que vamos fazer é criar um empresário entrar. Então, vamos remover o início e a atualização. Já fizemos tudo isso antes, então acho que seria muito fácil para você. Então, se other.com tag e vamos nos certificar de que é apenas o jogador que pode interagir com ele. E aqui vamos obter o outro componente get, o sistema de saúde
do jogador. Vamos fechar isso. E aqui vamos chamar um método que é o jogador de calcanhar. E vamos curá-lo pela quantidade de cura que temos aqui. E então vamos destruir o objeto do jogo. Então, depois de
pegarmos tudo, vamos destruir o objeto do jogo. E agora vamos criar um novo método de jogador, mas não com você. Então você vai terminar o jogador de calcanhar e o método. Então crie um método que adiciona saúde ao nosso jogador. Garante que nunca passemos por cima da nossa saúde máxima. Portanto, isto é muito importante. E, finalmente, atualize o taco de saúde para a barra de saúde. Então atualize a barra de saúde Não é ruim. Dito isso, pausar o vídeo agora e ir fazer o desafio. Ok, bem-vindo de volta. Então vamos copiar o nome. Então nós temos exatamente o mesmo e vamos
entrar em nosso considerando que para o sistema de saúde jogador. E aqui vamos remover a atualização porque não a estamos usando. Mantenha o código limpo e fresco. E aqui nós vamos criar um vazio público aqui jogador que leva em um número inteiro que é chamado de quantidade de calcanhar. E aqui em baixo nós vamos ter a saúde atual. Vamos adicionar a ele a quantidade de colina que recebemos da nossa saúde de volta. E então, para não passar por cima da saúde máxima, vamos verificar se a saúde atual fica maior do que a saúde Ymax, então vamos em frente e definir a saúde atual. Portanto, a corrente tem que ser igual ao máximo de saúde. Assim, nunca passamos por cima. E como último passo, é claro, eu disse que precisamos atualizar a barra de saúde. Então, vamos buscar o Health Bar. Vamos definir a Saúde e vamos dar-lhe uma saúde
atual. Isso foi feito? Vamos guardar isso. Tudo deve estar funcionando bem. Volte para o nosso jogo. Vamos ver o dukkha saúde. A quantidade de cura é cinco. Então, com isso dito, vamos mover isso um pouco para baixo porque eu acho que é muito alto. Então coloque aqui. Vamos nos embebedar um pouco. Então, qual é a saúde real do nosso jogador? É dez. Vamos fazer 15 para que possamos realmente torná-lo mais óbvio tinha jogado. Então nosso objetivo é ir para baixo, ok, então podemos usar direto para fazer isso. Então, dois golpes vão, onde está a nossa saúde de volta? Então vamos para ele. E é claro que nos esquecemos de fazer um gatilho. Então vamos fazer um gatilho e movê-lo um pouco para cima. Então parece melhor. Tinha brincadeira. E agora batemos em nós mesmos uma, duas vezes. E vamos procurar o nosso pacote de saúde. Então, nosso Health Bucks, nós pegamos e podemos ver que nossa saúde é, bem, aumentou em cinco pontos. Muito agradável. Agora, vamos continuar. O próximo passo é ir em frente e adicionar um script aqui que é a coleta de munição. E se você está se sentindo bem para o desafio, outro desafio e que é o vídeo. Pause o vídeo agora, ou você pode ir em frente e continuar comigo para ver quem faz isso mais rápido. Então vamos criar um script. O caminhão de munição atingiu entrar, abrir por conta própria. Não se preocupe. Vamos esperar pela recolha de munições. Nós o arrastamos e colocamos no objeto do jogo de coleta. Vamos mover isto um pouco para baixo, colocá-lo por aqui, clicar duas vezes na recolha de munições. E aqui vamos em primeiro lugar, criar o empreendedor entrar. Então o empresário entra. Vamos ver, vamos criar uma condição e eu vou
copiar tudo isso sendo mais rápido do que você. Então colamos aqui, mas vamos mudar algumas coisas aqui. Então, em vez de o outro obter o componente, nós vamos obter o componente apenas filhos. Por que é isso? Bem, porque o sistema é sobre as crianças e é
aí que vamos em frente e adicionar munição. E não vamos criar uma variável
neste roteiro de coleta de munição porque queremos que cada arma adicione suas próprias munições. Por exemplo, não podemos fazer uma caixa de munição que adiciona 300 balas a um atirador. Isso seria ilógico. Então, cada arma no sistema de órgãos terá sua própria quantidade de bala. Então, aqui vamos criar outra variável vai ser um inteiro público, e ele vai ser chamado assim inteiro. E então ele vai ser chamado de quantidade de bala de coleta. Então escolha a quantidade da bala do copo. Então, se você pausar o vídeo e quiser realmente fazer a coleta de munição dá a quantidade de balas. Isso está tudo bem. Não se preocupe. Mas vou dizer-te porquê. É mais lógico adicioná-lo ao nosso sistema GUN. Então, de volta aqui, vamos criar o método que irá antes de recarregar ou depois de recarregar. Embora isso pule a recarga ea qualidade real ao lado do outro. Tão vazio público na munição. E aqui vamos levar o total de balas que temos. E nós simplesmente vamos adicionar a eles a quantidade de balas de coleta. Vamos salvar isso. Agora de volta ao nosso jogo. Aguarde a compilação. Ok, ótimo. Agora vamos em frente e tocar no play. Esquecemo-nos de fazer alguma coisa. Vamos entrar no nosso jogador e na nossa cabeça. Pistola de armas. A pistola vai pegar, digamos 20 balas. A espingarda teremos 100 balas. O atirador pega cinco, e o lançador de foguetes também. Guarde tudo isso em jogo. E agora, é claro, precisamos ajustar algumas coisas e nosso lança-foguetes, seu dominado, devemos. E agora, quando tínhamos a caixa de munição, podemos ver que aumentamos em um. Então vamos tentar isso de novo com uma arma diferente, certificando-se de que funciona. Então vamos pegar o rifle. Disparamos muito. Então nós temos 90 agora eles são não, não me dê 7171. Quando pegarmos, temos 171 e podemos
continuar matando todos os nossos inimigos. Ok, ótimo. Com isso feito, podemos ir em frente e cometer todas as nossas mudanças. Salvar tudo em nosso compromisso tudo isso. Com esse Don, este é provavelmente o fim desta seção. Espero que tenha gostado desta seção. E no próximo, estamos dando muito,
muito mais vida em orgânicos porque estamos adicionando áudio com nossos tiros, com nosso jogador se machucando, com nossos saltos e com tudo também vai estar criando e realmente transformando nosso pequeno experimento e Projeto aqui em um jogo real, real. Com isso dito, espero que tenha gostado do vídeo e te vejo no próximo.
51. SEC 9 — adicionando música de fundo: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, vamos adicionar algumas músicas de fundo e vai ser uma música assustadora. Não só isso, saímos do nosso peso para algumas coisas curriculares extras. Agora temos essa música de fundo, então nosso jogo não parece mais obsoleto. Na verdade, é um pouco assustador. E também adicionamos animações à nossa caixa de munição e às nossas costas de saúde. Então agora temos música de fundo e temos caixas de munição giratórias. Muito agradável. Então não vamos perder mais tempo e vamos começar. Oh, ok, então a primeira coisa que vamos fazer é falar sobre o que é a fonte de áudio, o
que é um ouvinte de áudio, e então vamos criar um gerenciador de áudio. Então vamos começar. Primeiro de tudo, vamos falar sobre a fonte de áudio, e é uma representação de fontes de áudio e 3D. Então, basicamente, você pode adicionar uma fonte de áudio a um objeto de jogo. Então você será capaz de reproduzir em um ambiente 3D. E para reproduzir o som 3D, você também precisa de um ouvinte de áudio. Então eles são muito auto-explicativos. Assim, você pode reproduzir um único clipe de áudio usando Reproduzir, Pausar e Parar. Vamos falar disso mais tarde. Você também pode usar o clipe de reprodução no ponto e vários outros métodos e propriedades. Em seguida, vamos falar sobre o ouvinte de áudio. Então ele age como um microfone como um dispositivo. Ele recebe entradas de qualquer fonte de áudio na cena e não pode ser reproduzida. Portanto, geralmente o ouvinte de áudio é anexado à câmera principal. Então, se entrarmos na Unidade, vamos para a câmera principal. Podemos ver que ele tem um ouvinte de áudio nele. Não tem propriedades em nada. Só está lá para ouvir qualquer áudio que possamos querer fornecê-lo com. Ok, ótimo. Agora com isso, entendido, a próxima coisa que vamos fazer é
adicionar alguma música de fundo em nosso jogo. Então, primeiro de tudo, vamos em frente e criar um objeto de jogo vazio. E aqui que vamos chamar o Gerenciador de Áudio jer. Ótimo, e vamos redefinir sua posição para que possamos ver aqui, para que não seja em algum lugar longe. E então vamos para nossos ativos e criar uma pasta aqui que chamaremos de áudio. E aqui vamos adicionar nossa música e efeitos sonoros. Então vamos clicar com o botão direito do mouse dentro do áudio e vamos criar uma pasta que chamará a música e adicionará todas as nossas músicas que teremos. E agora vamos em frente e pegar nossa música de fundo que eu lhe dei nos recursos. Então esta é a música de fundo. Encontrei-o em um site que você pode usar para ir em frente e adicionar sua própria música de fundo. Então art.org jogo aberto, se você nunca ouviu falar dele, é um site incrível onde você pode encontrar toneladas e toneladas de música, arte e tudo o que você precisa para. Desenvolvimento de jogos, há um monte de coisas. Então, com isso dito, vamos pegar nossa música de fundo. Então simplesmente arraste isso para a Unidade e vamos colocá-lo dentro da música. Aguarde o porto, abra isto e você pode realmente ouvi-lo no inspetor. Então esta é a nossa música de fundo. É meio assustador, meio ambiente. Então é isso que estamos procurando fazer com nosso ganho, com todos os monstros e robôs e assim por diante. Queremos criar um ambiente assustador. Certo, então música ambiente, como adicionamos ao fundo? Bem, bem, é extremamente simples. Simplesmente arrastamos para a hierarquia. E você verá que isso cria um objeto aqui que tem uma fonte de áudio nele. Então você pode ver que ele tem o clipe de áudio da música de fundo ambiente e a saída é atualmente não, Mas vamos corrigir isso mais tarde. Você pode ajustar a prioridade para que não vamos aprofundar isso, mas tudo que você precisa saber é que a prioridade de qual música toca antes de qual e assim por diante. Então não se preocupe com isso. Você pode ajustar o volume e você pode ajustar autor acha que também pode torná-lo loop porque isso é muito importante. Não queremos que nossa música pare depois que a música inteira terminar. Então, são cerca de dois minutos e se terminar, não
queremos que pare. Você quer continuar fazendo loop e manter o jogo acordado para esta música de fundo. Então queríamos jogar assim que começássemos o jogo. Ok, agora a próxima coisa que vamos fazer é criar um filho do Audio Manager. E chamaremos isso de música de fundo. E mais tarde vamos criar também efeitos sonoros e o Gerenciador de Áudio, e vamos levar esta música de fundo ambiente e vamos criá-lo também para a música de fundo. Então, agora, quando batemos em Play, quando começamos o jogo, você pode ouvir que há música em segundo plano. O que realmente torna as coisas muito mais excitantes. Então agora nós andamos por aí, temos essa música que é muito assustadora e monstros realmente mudam seus comportamentos. Você se sente como se estivesse em algum tipo de jogo assustador ao seu redor. Ok, muito bom. Espero que estejas a ouvir isto. Deixe-me ligar. Usamos isso. Assustador, não é? Ok, ótimo. Agora queremos uma maneira de controlar nosso áudio e podemos fazê-lo diretamente a partir da fonte de áudio ou podemos criar um mixer de áudio. Então, para criar um, vamos para a janela. Vamos para o áudio. E aqui podemos criar um mixer de áudio. Barry, bom, agora temos uma forma de transmitir o nosso áudio. E agora no misturador podemos acertar essa pessoa aqui. E vamos em frente e chamar isso de misturador principal. E agora devemos ter este objeto e aqui, o mixer principal, vamos colocá-lo dentro do arquivo de áudio. E aqui. E agora aqui podemos fazer muitas coisas. Então você pode se aprofundar se quiser entrar no áudio no Unity, você pode fazer isso. Mas o que vamos fazer é criar um grupo aqui. E vamos chamá-lo de música de fundo. Agora, em nossa fonte de áudio para a música de fundo, podemos ir em frente e verificar a saída e podemos torná-la o fundo da música. Então, agora o que podemos fazer aqui, podemos, por exemplo, dizer que se estamos jogando o jogo, podemos ouvir a música de fundo aqui. Digamos que é um pouco alto demais para nós. Então o que podemos fazer é abaixar, OK, então talvez precisemos estar fora do jogo, então baixamos para 30 decibéis. Agora, quando batemos em Play,
isso pode não ser óbvio de onde você está sentado,
mas para mim, eu posso ouvir que a música é muito, muito mais baixa. E talvez queiramos torná-lo mais alto, talvez queiramos fazê-lo mais baixo. Então vai depender da música que podemos até aumentá-la. Então, agora, quando batermos no play, será ainda mais alto. Ok, então pronto, é hora do seu desafio. E seu desafio vai configurar a música de fundo. Agora, você pode ter sua própria música de fundo ou usar a que eu lhe dei. Eu não sou também um, meu gosto de música não é tão bom. Então talvez você ache que essa música é realmente chata, e talvez você queira um pouco de música emocionante. Então vá em frente e encontre sua própria música de fundo adicionada ao seu jogo. Ele irá adicionar mais sabor e sensação mais individual a ele. E a próxima coisa é adicionar um mixer de áudio e brincar com o volume e ver o que funciona para você. Então, com isso dito, com este pequeno vídeo feito, deixe-me entrar em nossa cadeia de fonte aqui e vamos encenar tudo isso pode ser que realmente não podemos. Podemos ignorar a música ambiente, então ignore tudo por baixo da música áudio porque não queremos salvar um arquivo tão grande. Então, clique OK, palco o e adicionou música de fundo. Comprometa isso. E agora, contanto que tenhamos alguns segundos, vamos em frente e animar a caixa aqui. Então, os captadores de munição, vamos em frente e animá-lo. Então vamos criar uma animação, vai para as animações ativos. E aqui vamos criar a recolha. Quaisquer menções. Clique duas vezes e aqui, girando. E vai ser uma animação muito simples. Então tudo o que faremos é girar a cada 1 segundo, então será assim. Então menos 90 ou menos 180. E então no, ou sabe o quê, vamos mover isso para a marca de 1 segundo. E na segunda marca estará de volta à nossa posição original. Então vamos ver se isso funciona. Ok, então não, não está funcionando do jeito que queríamos. E aqui, vamos fazer menos 270, então 180 mais 90. Vamos ver se isso funciona. Ok, então ainda está girando, ele quer voltar. Então aqui vamos colocá-lo em menos 360. Então agora vamos ter essa fiação girando, girando, girando. E vamos salvar isso. Vamos torná-lo livre e suave. Então ambos tangentes, vamos fazer isso linear. Quero dizer, então agora ele continua girando e girando e girando vai fazer o mesmo para a saúde para HVAC. E eu tenho um pouco de maçã ou atraente. Vão zombar de garotas, reator de volume
total. Guarde isso, aperte o play. E agora devemos ver as animações funcionando. Então esta é a caixa. Nós pegamos para munição e isso é muito alto, mas ainda podemos pegá-lo. Muito bom. Bem feito. Espero que tenham gostado do vídeo e no próximo, vamos gerenciar nosso áudio ainda mais. Então, com isso dito, te
vejo na próxima.
52. Como gerenciar áudio: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos começar a gerenciar nosso áudio. Então, agora, quando morremos, você pode ouvir que o Áudio pára. E o que vamos fazer é
criar um script de gerenciador de áudio e vamos aprender sobre instâncias, e vamos usar isso para parar nosso jogo. Quando, quero dizer, parar o nosso fundo musical sempre que morrermos, não
vamos perder mais tempo e vamos começar. Ok, então vamos começar a gerenciar nosso áudio. Então, o que eu quero dizer com gerenciando nosso áudio? Vamos entrar no nosso jogador. Vamos colocar dez, vamos mantê-lo em dez para que possamos levar menos acertos. Tivemos Les, vamos disparar o nosso foguete aqui para que estejamos quase mortos. Ei robô, por favor, me mate. Obrigado. 12. Então, quando morremos, ainda podemos ouvir a música e isso é um problema. Então o que queremos fazer é
saber que há várias coisas que precisarão gerenciar. Mas antes de tudo, a primeira coisa que precisamos fazer é sempre que mergulharmos com realmente queremos parar a música. E para isso precisamos gerenciar nosso áudio. Para isso, vamos ter que criar um script. Então aqui vamos criar um script de gerenciador de áudio. Então vamos chamar isso de Gerenciador de Áudio. E o Visual Studio. Eu já sei o que vai fazer. Então agora vamos adicionar o gerenciador de áudio em nosso gerenciador de áudio, e vamos abrir o gerenciador de áudio. Agora, o que vamos fazer aqui? Bem, nós vamos criar uma instância de uma classe. Então, o que é uma instância de uma classe? Deixa-me contar-te tudo. O que é uma instância de uma classe? Então é uma variável estática, o que significa que é constante em todos os nossos projetos. Ele pode ser recuperado de qualquer outra classe mais facilmente e será usá-lo para evitar encontrar o objeto cada vez que queremos tocar uma música. Então o que vamos fazer é parar a música de tocar. Então é a música de fundo que está no Audio Manager. E como saberemos que morremos? Bem, é do jogador, do sistema de saúde
daquele jogador. Ok, então você pode me dizer, vamos em frente e encontrar o objeto, fácil, ok, você está certo, mas vamos dizer que vamos adicionar mais tarde cerca de 20 efeitos sonoros. O que você vai fazer? Você está indo para ir e encontrar o Gerenciador de áudio cada vez que você deseja parar um efeito sonoro. Bem, é claro que você pode fazer isso, mas eventualmente vai ter um pedágio no seu programa e na unidade e seu jogo começar a falhar. E é realmente mais difícil para cada tipo de cada vez e objeto de jogo fino do tipo e, e assim por diante. Então, o que vamos fazer é criar uma instância que nos
levará instantaneamente ao nosso gerenciador de áudio. Então vamos em frente e fazer isso. Então aqui vamos criar uma variável estática, então um público, é claro, porque estamos usando em outras classes. Então é um público. Estática. Então isso significa que
ele permanece o mesmo em todos os nossos projetos. Isso não muda. É do tipo gerenciador de áudio. Então, é o mesmo tipo que a classe e vamos chamar isso de instância e status. Você pode chamar isso do que quiser, mas geralmente é melhor chamá-lo de instância. Agora aqui, vamos remover o começo e vamos usar algo chamado “Despertar”. Então, qual é a diferença entre acordar e começar? Bem, eles são quase exatamente os mesmos, mas a única diferença é que acorda, acorda começa um pouco antes de começar. Então vamos usar o “acordado”. Podemos usar start, mas usar o awake geralmente é o método mais suave e melhor para criar instâncias. E a instância não precisa de um “A” aqui. Então o que vamos fazer é simplesmente chamar a instância e vamos dizer-lhe que é igual a isso. Então o que isso é, este é o gerenciador de áudio real. Então, a instância variável é agora isso. É o Audio Manager e você verá como podemos usá-lo mais tarde. Por enquanto, vamos em frente e criar uma variável pública que vai ser do tipo fonte de áudio. E nós vamos conseguir, chamá-lo de música de fundo. E vamos criar um método aqui que irá parar a música de fundo. Então vai ser um vazio público. Pare para trás. Abaixe a música. E o que estamos fazendo aqui é simplesmente
pegar a música de fundo e vamos parar. Então eu recomendo que você vá através da documentação da fonte de áudio e você olhar para todas as diferentes coisas que podemos usar. E um deles parou o quê? Bem, pára a música de áudio quando morremos. E agora precisamos chamá-lo em algum lugar. E vai fazer parte do seu desafio. Seu desafio será fazer a música parar quando os dados do jogador, assim chamado o método da saúde do jogador quando o jogador morre e usar a instância que acabamos de criar. Então, se você quiser testar a si mesmo e ver como isso funciona, vá em frente e faça isso, ou pode esperar por um pequeno sucesso que estou prestes a lhe dar. A dica é usar instância de ponto do gerenciador de áudio, e você será capaz de acessar qualquer coisa que quiser do Gerenciador de áudio que é público com o dito, pausar o vídeo agora e ir para o desafio. Ok, bem-vindo de volta. Então aqui vamos adicionar a música de fundo. Então, a música de fundo, guarde isso. E agora vamos entrar em nossa saúde do jogador. Então, enquanto a nossa saúde jogador, sistema de saúde jogador. Considerando que assim no sistema de saúde do jogador aqui, enquanto que, quando morremos, quando
morremos, queremos responder, mas para fazermos isso, vamos em frente e pegar o velho gerente do yo. Dot instance, dot, stop. Onde é que isso pára? Plano de fundo. Parar música de fundo. E vamos guardar isso. E está tudo bem. Então, não se preocupe. Tudo isso está funcionando. Deixe-me ir ao gerente do jogo e fazer a resposta um pouco mais para que possamos realmente aqui. Então, até que o jogador morra, vamos fazer três. Então três segundos jogam. Ou Hong, espere pelo roteiro. Agora vamos jogar. E a alegação audaciosa, deixe-me aumentar isso. Então o áudio está tocando. Deveríamos o chão uma, duas vezes, ele pára, e então começamos de novo e a música começa de novo. Então, com isso feito, espero que goste. Deixe-me ir e cometer tudo isso. Estágio o. Ele criou um gerenciador de áudio, os gerentes de música, comentário, tudo isso. E no próximo vídeo, vamos começar a adicionar efeitos sonoros. O que isso fez, espero que você goste e te vejo no próximo.
53. Como adicionar efeitos de som: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, adicionamos não apenas música de fundo, mas agora, quando
filmamos, podemos ouvir que temos os tiros de pistola. E quando o robô atira flechas, você pode ouvir os sons que ele faz. E não só quando atiramos algo de metal, podemos
ouvir o pequeno carrapato de metal. Nós também adicionamos tiro aos nossos sons de tiro ao nosso rifle. Acrescentamos, adicionamos uma explosão. Está bem. Adicionamos tudo isso e também um tiro de atirador. Muito legal. Então não vamos perder mais tempo e vamos começar. Ok, então vamos começar a adicionar alguns efeitos sonoros ao nosso jogo. A primeira coisa que vamos fazer como um áudio, nós vamos criar uma pasta aqui que nós vamos chamar o S f x como f x. E dentro de você vai criar outra pasta que nós vamos chamar os efeitos SR da unidade, porque no próximo vídeo será reproduzir os efeitos sonoros do nosso código. Então aqui, vamos nos abrir e entrar nos recursos e copiar tudo isso. E vamos arrastá-los para o nosso espaço afeta de Unity e esperar que eles importem caninos OPP. Então aqui você pode aqui um par de sons que eu forneci a você. Então vamos abrir isso. Então este é o som de metal, este é o sangue inimigo. Está bem, parece bom, mas vê se a explosão. Ok, muito legal. Então agora como vamos adicionar tudo isso? Vamos primeiro, aprender como podemos adicionar efeitos sonoros a coisas sem usar código. Então, vamos. Primeiro, vamos começar a adicionar as balas. Vou te mostrar como funciona o tiro da pistola. Então, esta é a pistola. Vamos para as nossas prefabs e vamos para as nossas balas. E onde? Nossa bala de pistola, esta é a nossa bala de pistola. Vamos trancá-lo no lugar e vamos voltar aos efeitos sonoros da Unity e vamos arrastar o tiro da pistola para a nossa bala direita aqui. E certifique-se de desligar o loop e manter o jogo acordado. Agora, sempre que a bala for criada, ouviremos o tiro. E então quando o esteróide, a fonte de áudio com o postal, deve ir, vamos testar isso e ver se ele realmente funciona. Então, vamos guardar isso. Então, agora vamos ver se isso funciona. Quando batermos no jogo. Vamos escolher a pistola. Isso não tem nenhum som. Escolhemos a pistola quando começarmos a disparar. Temos sons de tiro. Quão legal é isso? Então agora podemos atirar, podemos matar e fim de semana realmente aderir, são tiros de pistola. Muito agradável. Agora, o próximo passo é ir em frente e apresentar-lhe um desafio. E seu desafio é adicionar os outros efeitos sonoros que lhe dei. Então adicione os efeitos sonoros para o resto de nossas balas e outras coisas que temos. E certifique-se de que eles joguem no Awake e, claro, desliguem o loop. Dito isso, pausar o vídeo agora e ir para seus efeitos sonoros. Oh, bem-vindo de volta. Então, o que vamos acrescentar aqui? Então, primeiro de tudo, vamos dar uma olhada nas nossas balas. Vamos desbloquear isto. E vamos para a bala que é
o atirador de volta no nosso atirador de efeitos sonoros disparado aqui. Então não me permite, vamos adicionar uma fonte de áudio. Está me irritando. Então fonte de áudio. E agora podemos adicionar nosso snapshotting aqui, ter
certeza que é jogado no Awake e não está em loop. A próxima coisa que faremos, vamos para a bala. Vamos adicionar uma bala C. Então esta será a fonte de áudio do lançador de foguetes novamente. E vamos adicionar o,
onde estão os nossos efeitos sonoros? Vamos adicionar o foguete, que é este foguete que está sendo lançado. Então, sim, deveria ser. Espero que o coloquemos aqui. A próxima coisa que vamos acrescentar, o que mais devemos? Temos a granada verde e esta será a que
o robô atira. Então, tudo aqui é meio estranho o que está acontecendo? E vamos entrar em nossos efeitos sonoros e o inimigo baleado, onde está? Correr, ser foguete, tiro robô, e isso é adicionado e aqui, guarde isso. O que mais temos o tiro do rifle, o que é muito importante. Então, balas, tiro de rifle. E vamos adicionar uma fonte de áudio novamente, efeitos
sonoros, tiro de rifle. O cara não adiciona uma fonte de áudio. Então tiro de rifle e o que mais temos? A caminhada e a corrida faremos mais tarde. Então sniper, nós fizemos isso, nós fizemos Robert tiro, nós fizemos rifle, nós ainda fizemos explosão eo sangue inimigo e bala atingindo metal. Então, a forma como adicionamos o metal que acerta a bala entrará em nossos prefabs e puxará os efeitos. E os impactos da bala disso é isso, vamos e adicionamos a bala. Então adicione uma fonte de áudio. Agora isso será mal, mal
seremos capazes de ouvi-lo, mas isso irá adicionar apenas um pouco de efeito no fundo. E outro efeito será a carne sendo atingida. Então vamos em frente e adicionar uma fonte de áudio a isso também. E adicionaremos o sangue inimigo aqui. Então, o que mais temos? Temos a explosão, bom. Então o efeito da grande explosão vai ser a explosão aqui dentro. Muito agradável. Então todos eles estavam brincando acordados. Espero não ter notado, para ser honesto. Então vamos voltar, ter certeza de que DC Bullet joga em Awake, sem looping, looping plano acordado. E tudo deve estar funcionando bem. Vamos jogar e ver como tudo isso funciona. Então, quando filmarmos, bom, então agora podemos ouvir o quão legal esta série temporal. Quão legal é isso? Então, o atirador, bom, muito bom. A pistola. E você pode ouvir o sangue e se tivéssemos o metal que está recarregando, nós atingimos o metal. Isso é habitável? Podemos acertar a ligação de água não tem efeito. Consegue ouvi-lo? Você pode ouvir um pequeno rosa no fundo. Muito agradável. E o rifle para cima , então precisamos recarregar. Ok, legal. O que mais temos? Então o foguete, tudo está funcionando. Há algo que é tudo o que precisamos para passar o robô que já o matamos. Então vamos testar este robô. Não, por favor, não morra. Oh, ok, legal. Então, porque ele está na verdade toda vez que a bala está nos atingindo, ele está atirando de novo. Então as vozes superando a voz e assim por diante. Talvez lidemos com isso mais tarde. Agora a próxima coisa que faremos é adicionar passos ao nosso jogador. Para fazer isso, vamos entrar em nossos efeitos sonoros aqui. E vamos começar a andar e arrastá-lo para a hierarquia. E você precisa fazer isso antes de qualquer outra coisa para criar a fonte de áudio. E novamente, você vai precisar pegar a corrida e colocá-lo aqui. E então vamos abrir o jogador. E vamos colocar os dois sob o jogador. Então agora eles são filhos do nosso jogador. E vamos para o jogador e para as animações. E nós vamos jogar isso a partir daqui. Como é que vamos fazer isso? Bem, como eu disse, animações podem ser usadas para muitas coisas diferentes. Um deles se movendo para a posição, um deles pode estar aumentando e diminuindo. E uma parte muito importante das animações que podemos ajustar o que quisermos. Então podemos até ajustar o máximo de saúde, podemos ajustar a velocidade do slide e assim por diante. Então o que nós vamos fazer é estar ligando e desligando a caminhada e correndo. Então aqui vamos apertar o botão de gravação. E quando
terminarmos, vamos desligar os dois. Então, quando estamos ociosos, ambos estão desligados. Vamos parar de gravar. Então eles vão ficar fora enquanto estivermos ociosos. Quando andarmos, vamos começar a gravar. E quando estamos caminhando, estamos ligando este e estamos desligando a corrida. Muito agradável. Então vamos salvar isso e salvar isso. E então quando estamos andando,
correndo, correndo, correndo, tudo bem, então nós escolhemos os dois. Ambos deveriam ser. Em primeiro lugar, nem estamos gravando. Então, vá para gravar. A corrida está ligada e a caminhada está. Então certifique-se de que você pode realmente vê-lo aqui para que a caminhada continue. A caminhada, a caminhada está desligada, a corrida está ligada. Quando estamos correndo para andar, a caminhada está ligada, a corrida está desligada e está ociosa. Ambos estão desligados. Nós salvamos tudo isso. Tínhamos brincadeira. Vamos tentar isto e ver se funciona. Então agora temos a postorder, devemos, se começarmos a andar para podermos ouvir. Mas há algo definitivamente não está certo. Então o problema que eu posso ver aqui que quando batemos no play, eu vejo que quando estamos caminhando, tudo está bem. Quando estamos virando, vamos voltar para o ocioso quando estamos girando. Então a velocidade está ficando mais baixa, precisamos mudar o limiar. E quando estamos correndo, o problema é que nós estamos voltando a andar às vezes, então nós também precisamos mudar o limiar. Ok, bem-vindo de volta. Então eu fiz um monte de experiências. Claro, isso dependerá do seu jogo. Agora, quando ficamos ociosos, não
temos nada. Mudei o limite aqui para 0,3 para começar a andar. E se for abaixo de 0,01. Vamos parar de trabalhar e começar a correr. Precisa ser superior a 0,68. E para parar de correr e começar a andar, colocamos para 0,42. Então, agora, quando andamos, você pode ouvir os passos quando apertamos o turno. Portanto, ele está muito longe e este é um problema que teremos de abordar mais tarde. Então precisamos mudar a distância máxima do nosso reelenco para nossas diferentes armas. Ok, então eu não sou capaz de enviar o Troodon. Ok, ótimo. Agora que nos livramos de todos os nossos inimigos, no próximo vídeo, vamos reproduzir efeitos sonoros do nosso código. Com isso feito, espero que tenha gostado do vídeo e te vejo no próximo.
54. Como reproduzir áudio com código: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, adicionamos alguns efeitos sonoros. Agora temos um som sempre que trocamos uma arma, temos um som quando saltamos. E também temos um som quando somos atingidos. E eles soam quando morremos. Muito agradável. Então não vamos perder mais tempo e vamos começar. Certo, então a primeira coisa que vamos fazer é criar uma pasta que chamará os fatos do ASA pelo código. E vamos para os recursos. E vamos pegar tudo isso e
arrastá-los para os aspectos do código. Clicando duas vezes aqui. Temos a recolha de munições. Vamos apenas fazer isso menor para que possamos vê-los facilmente. O jogador de salto de saúde que está sendo atingido. E então o local da teia do Homem-Aranha que vamos usar. E a seção dos ossos. Então, com isso feito, vamos adicionar o áudio ao nosso código e começar a chamá-los a partir do código. Então a primeira coisa que precisamos fazer é realmente pegar tudo isso. E no Gerenciador de Áudio, crie um novo filho que está vindo a ser chamado de efeitos. E aqui vamos arrastar tudo isso e colocá-los sob os fatos da ESA. E isso não vai deixar os refrigerantes arrastá-los para cá. E então os arrastamos sob os fatos da ESA. Ótimo, então agora temos todos eles aqui, então podemos começar a colocá-los em nosso código. Agora a primeira coisa que precisamos fazer é entrar em nosso gerenciador de áudio de jogo. Quero dizer, e aqui vamos criar uma matriz. Então, uma fonte de áudio pública. E é assim que criamos um array, e vamos chamar isso de eixos de ativos. Ótimo, deixe-me falar um pouco sobre matrizes. Então matrizes, quais são as matrizes solares ao longo armazenar vários objetos do mesmo tipo em uma única variável, assim como listas. Então criamos uma matriz, damos a ela um tipo, damos um nome, e damos a ela um valor. E assim como as listas, eles vão de 0 para um para dois para três e assim por diante. Mas por que estamos usando arrays em vez de listas? Agora, em primeiro lugar, poderíamos ter usado listas, mas listas, você geralmente é menos robusto como arrays são. E sempre que temos variáveis estáticas que queremos usar, então arrays não mudarão bem preferencialmente eles não mudarão porque queremos mantê-los, mantê-los como estão. As listas são muito dinâmicas. Você pode remover coisas, colocar coisas. É por isso que usamos listas quando temos arrays. Nós geralmente os usamos sempre que temos objetos estáticos e eles vão ficar lá. Para sempre. Então vamos usar este array para nossas fontes de áudio aqui. E nós vamos adicionar todas essas matrizes. Então vamos continuar para que o gerenciador de jogo ou beijo abraço, vamos remover isso daqui e ir para o gerenciador de áudio. Então n aqui vamos criar a matriz de fonte de áudio. Ok, ótimo, isso feito. Vamos voltar aqui. E agora devemos terminar esta lista aqui. Vamos simplesmente escolher todos estes, ok, então AudioManager bloqueado no lugar, escolher todos estes e arrastá-los para os fatos ASA. E agora temos essa longa lista que espero que não mude. Agora vamos criar um método aqui que nos permitirá tocar os efeitos sonoros. Vamos apenas remover a atualização. Não vamos usá-la. Então aqui vai criar um vazio público. E chamaremos isso de jogo como efeitos. E aqui vamos dar-lhe um certo número inteiro, que vai ser o número de fax ASA. E usando isso como um número de fax, vamos em frente para os faxes ASA. Em primeiro lugar, vamos escolher isto como um número de fax. Então Y é o, então é, não
é um professor. Então inteiro agora como um número de fax. E quando, quando queremos tocar qualquer número de efeito sonoro, vamos primeiro de tudo, pará-lo. E por que estamos fazendo isso? Bem, porque nós queremos, talvez se nós, por exemplo, nós vamos estar pegando um HealthKit. Então, sempre que pegamos um HealthKit, digamos que há uma outra saúde, HealthKit não ao lado dela. Não queremos que estes dois joguem ao mesmo tempo e passem por cima um do outro. Queremos parar o que quer que esteja a tocar e depois voltar a jogar. Então este é apenas um exemplo simples. Isso é uma coisa muito padrão para se fazer. Então para parar um efeito sonoro e, em seguida, para reproduzir o mesmo efeito sonoro quando o fazemos ou quando o usamos. Então vamos guardar isso. Agora o que vamos fazer terá que ir a todos os lugares onde precisaremos do efeito sonoro. E vamos tocar o efeito sonoro e dar-lhe o número. Então eu só vou mostrar a vocês talvez
alguns e então você vai continuar com um desafio. Então, digamos primeiro que tudo, temos as armas recarregadas. Então vamos ver o índice de recarga de armas 0. Vamos e aqui vamos nós para o primeiro adiantamento gerente Hildegard entrará no sistema. Procuramos a recarga quando acionamos a animação, acessamos o gerenciador de áudio e obtemos a instância, e tocamos um efeito sonoro que tem o índice 0 nele. Então agora de volta ao nosso jogo, vamos aumentar o volume aqui. Ok, então é bom quando jogamos nosso jogo. Então você pode ver para fazer isso. E então nós escolhemos todos estes e vamos OK. Então isso está trancado. Escolha todos estes, e vamos desligar. Jogue acordada para que dez não joguem assim que acordam. Então, aperte o play. Então agora sempre que
recarregamos, podemos ouvir o efeito sonoro. Muito agradável. Agora vamos em frente e tentar o próximo. Então, vamos fechar todos esses no Gerenciador de Áudio. Temos a carrinha de munição. Então, uma hora enquanto que a recolha de munições. Captadores de munição. O primeiro. E aqui nós também vamos para o gerenciador de áudio. Vamos acessar a instância. Vamos tocar os efeitos sonoros, jogar como efeitos. E vai ser o único, digamos que deve funcionar. Voltamos ao nosso jogo. E então vamos e onde é que nós pegamos. Ok, então isso está funcionando. Agora. É hora do seu desafio e vai ser super simples. Encontrar todos os lugares apropriados para reproduzir os efeitos sonoros fornecidos e bem, tocou-os bem que feito. Pause o vídeo agora mesmo e vá para o desafio. Ou podemos até começar uma corrida onde eu vou te criar e vai tentar ver quem pode colocar todos os efeitos sonoros em primeiro lugar. Então vamos. Então de volta ao Unity aqui, vamos ver, queremos adicionar os captadores de saúde, então é o elemento dois. De volta aqui. Nós vamos para a camada, enquanto o captador de saúde, coleta de
saúde, a saúde ficam bem. Então eu vou usar um truque sujo que eu aprendi e eu vou te contar sobre isso. Então vamos em frente e adicioná-lo aqui para salvar a próxima coisa, elemento três, o salto. Então nosso movimento de jogador, enquanto que era jogador, onde saltamos, saltamos, saltamos, pulamos aqui. Pronto para saltar? Quando atingimos o espaço, começamos a saltar. Então aqui nós base, este é o três,
foi, três foi shoppings. Se isso voltar aqui, era 33. Então jogador, que, jogador, que é a força no sistema de saúde quando morremos, se nossa saúde atual. Então aqui nós jogamos isso para quatro, salvamos isso aqui de volta, então eles estão sendo atingidos os cinco, enquanto pior o jogador é atingido. Então o jogador é atingido quando recebemos danos. Então aqui nós jogamos os cinco. Ok. Em seguida, o Homem-Aranha, mantenha isso ok. Então, o elemento 6 ou o que quer que tenha na sessão do
Homem-Aranha, não o use por enquanto. Usaremos mais tarde as armas equipadas são as sete. Então, onde colocamos onde colocamos no troco? Então, quando trocarmos as armas. Então aqui, troca de armas W, Que interruptor? Este sistema de troca de armas captador de armas. Nós adicionamos ido, nós trocamos armas. Então, onde trocamos as armas? Então aqui vamos adicionar os sete. Certo, ótimo, então guarde isso. Você está feito? Eu estou feito. Então vamos voltar ao nosso jogo. Vamos jogar. E agora, quando batemos Tab aqui, apenas um pequeno engenheiro de som. O que mais devemos acrescentar? Bem, se tentarmos na verdade, vamos tentar a coleta de saúde. Ok, ótimo. E quando nos juntarmos, podemos ouvi-lo. O que mais temos? A munição captador de saúde salto camada que então vamos tentar esquivar um robô. Oh, ok, legal. Agora temos todos os nossos efeitos sonoros a tocar. Espero que tenha gostado do vídeo. E no próximo, vamos criar um menu de título, que irá, bem, na verdade, transformar nosso ganho de apenas um projeto simples para um ganho real. Também aprenderia sobre a gestão do pecado e tudo isso bem, vai realmente aprofundar a gestão visto. Bem, dito isso, espero que tenha gostado do vídeo. Certifique-se de preparar todos os seus arquivos, exceto aqueles que estão sob o áudio. Então, vamos ignorar tudo sob o áudio de ativos. Ok, então nós não queremos salvar cada vez o áudio que temos encenar tudo isso e agora, espere por ele. Então não, talvez devêssemos ter ignorado alguns desses. Então deixe-me apenas no palco e ignorar tudo sob, por que não ignorar tudo no público, então ignore tudo abaixo de áudio. Ok, então agora, ok, então isso não funcionou na primeira vez. Adicionado afeta o código de sentimento para isso. E eu vou te ver no próximo vídeo para criar uma mania de título muito bonita.
55. Criação menu de telha: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos criar um menu de título. Então, agora, quando
apertamos o jogo, podemos ver que temos várias opções. Então podemos sair do jogo, que realmente não sai do jogo, mas ele imprime algo para o console. Isso significa que funciona. Podemos ir para as opções para que possamos mudar o valor, podemos voltar e podemos finalmente bater Jogar para começar o nosso ganho e começar a atirar em alguns monstros. Se conseguirmos atingi-los. Por favor, bata, por favor morreu. Certo, ratos. Então, com isso feito, não
vamos perder mais tempo e vamos começar. Oh, ok, então vamos começar com o nosso menu principal. A primeira coisa que vamos fazer é entrar em nossas cenas e vamos criar uma nova cena. E aqui vamos chamá-lo de menu principal. E vamos clicar duas vezes sobre ele e abrir isso. Então, como você pode ver, não há absolutamente nada aqui. Agora a próxima coisa que vamos fazer é criar uma tela de interface do usuário aqui. Então vamos até você. Vou descer e encontrar a tela. Vamos chamar isso de tela principal do Menu. E podemos mantê-lo como não há palavras, haverá nada que possa ouvir quase. A próxima coisa que faremos é ir ao seu olho e vamos em frente e importar a fonte que eu lhe dei e os recursos. Então arraste-o aqui e ele vai carregar e, em seguida, ir para Window, text mesh pro e fonte acid generator. E, em seguida, fornecido com o cyber punk regular e gerar a fonte e salvá-lo em nosso sim, você é. Sdf, salve aí. E agora temos uma fonte cyber punk para trabalhar. Ok, ótimo. Agora que temos isso, próxima coisa que precisamos fazer é ir para a nossa escala,
quero dizer, para a nossa tela. Clique duas vezes sobre isso, vá para o modo 2D, e agora podemos começar a mudar as coisas aqui. Então, a primeira coisa que vamos fazer é fazer o scaler da tela para dimensionar o tamanho da tela e certificar-se de que é 1920 por 1080. Então é o padrão e o nosso jogo e aqui também deve ser 1920 até então 80. Ok, ótimo. Agora, o que vamos fazer? A primeira coisa que vamos fazer é adicionar um texto aqui. Então, vamos clicar com o botão direito do mouse no seu olho e adicionar um profissional de malha de texto, e vamos movê-lo para cima. E aqui, vamos segurar um lado e torná-lo muito maior. E agora o que vamos centrá-lo nesses dois, então o alinhamento na horizontal e na vertical. E então vamos arrastar a fonte do beliche cibernético para o ativo de fonte em nosso texto. E vamos em frente e colocá-lo no tamanho automático. Vamos fazer com que seja ousado. E agora você pode ver que podemos começar a escrever aqui. Então vamos à direita. Espia cibernética, e é isso. Então, é claro que vamos torná-lo maior. Vamos fazer com que isto seja maior. Quer saber, vamos tirar o tamanho e ajustar por conta própria. Então vamos fazer esta enorme caixa de correio. E como podem ver, há algumas coisas que podemos mudar aqui. Vamos, vamos ver. Então, basicamente aqui, tudo depende da sua preferência, como queremos que pareça. Você não tem que fazê-lo como eu em tudo. Então é tudo baseado em você. Então eu vou mudar a cor pode ser fazer este amarelo e nós vamos talvez adicionar um pouco de um contorno e underlay. Então vamos ver o esboço. Podemos aumentar a espessura aqui e mantê-la preta. Então eu gosto de preto. Vamos aumentar o tamanho aqui e aumentar o cisne para que pareça grande, muito maior. Caninos. Nós também vamos adicionar um pouco de underlay. Então isso é basicamente como uma sombra. Então aqui vamos fazer a sombra a cor preta e aumentar a transparência. Vamos então mover o x para um. Vamos mover o Y2 menos 1. E vamos em frente e também fazer o, vamos manter tudo o resto 0 e bebê, apenas aumentar a suavidade. Vamos ver. Então, sim, talvez seja 0,3. Sim, isso parece bom o suficiente. Agora temos um grande enorme ciberespaço na tela, o que é muito bom. Agora a próxima coisa que queremos fazer é fazer o fundo muito diferente porque atualmente é apenas esta Skybox estranha aqui. Então o que vamos fazer é eu quero que você entre na loja de ativos
da Unity e baixe a caixa da galáxia 2 adicionada aos seus ativos. E estas são caixas de céu muito bonitas. Então, quando voltarmos, você poderá ver no seu gerenciador de pacotes em meus ativos, esta caixa de galáxia aqui. Então, basta pressionar Importar e esperar por ele para importar het ano importante. Ok, então parece ter terminado a importação. Vamos fechar o Gestor de Pacotes aqui e os nossos bens, teremos a caixa da galáxia. Vamos arrastá-lo para os ativos do jogo. E a partir de nossos recursos de jogo, vamos encontrar a caixa galáxia e podemos ir para os recursos e você pode encontrar aqui todas as caixas do céu que temos que abriram e nossa visão do projeto aqui. Então você pode ver se temos várias caixas do céu. Então escolha este, por exemplo, e arraste-o para a cena. Ou talvez queiras usar este, ou talvez queiras usar. Então eu acho que este parece o busto e eu vou usá-lo. Então vamos ver o cara do ciberespaço, o que mais devemos acrescentar? Bem, precisamos do 2087 aqui. Então vamos em frente e adicionar outro texto, mush Pro. Não tem que ser tributado muito pro, mas vamos adicioná-lo aqui. Vamos escrever o 2087. E vamos apenas fazê-lo assim em todos os lados e torná-lo ousado e aumentar o tamanho. Claro que sim. Nós também vamos talvez adicionar um pouco de espaçamento. Então vamos adicionar um pouco de espaçamento que é tudo isso e torná-lo maior e mais espaçamento. Então é assim que eu me lembro do logotipo do jogo olhando agradável. Então, só assim, vamos olhar para isso. Parece meio bom. Eu acho que sim. Bolden fora. Vamos aumentar ainda mais o tamanho da fonte. E fazer isso maior. Aumente ainda mais o tamanho da fonte. Então, saiba que é estúpido. Eu sinto. Vamos mudar o nome aqui para o título. E talvez fazer isso, vamos ver, talvez possamos torná-lo Itálica, mas sim, parece bom. Então isso é bom o suficiente. A próxima coisa que vamos fazer é adicionar alguns botões aqui. Então a primeira coisa que vamos fazer é ir até você. Vou adicionar um fundo, vou torná-lo um maior. Vamos pô-lo aqui. E vamos até o fim e remova o texto por enquanto. Irá criar, irá duplicar realmente as tags de título. Então vamos duplicar. E nós vamos usar isso para criar um, outro botão play. E vamos em frente e torná-lo muito menor. Então vamos reduzir o tamanho disso. E o que vamos fazer é mudar isso para o texto final. E vamos em frente e mostrar isso ao nosso botão. E quando for uma criança do botão, vamos apertar aqui, mantenha a tecla Alt pressionada e clicando aqui. Então agora deve, bem
, deve ter filhos, mas não tem. Então, bem, deveria ter tomado a forma, mas não tomou. Então, vamos apenas, apenas o nosso botão aqui. Vamos fazer o fundo completamente preto. E nós estamos realmente indo para ir em frente e você sabe o quê? Vamos remover a imagem de origem. Vamos remover a imagem de origem completamente. E aqui vamos mudar a cor, então vamos tornar a cor normal completamente transparente. Nós vamos fazer a cor Carl realçada completamente preta, mas apenas um pouco transparente. Então, por volta dos 70. E nos adaptaremos assim mais tarde. A imprensa será completamente negra e ainda mais escura. Então talvez 120. E vamos tocar no play e olhar e ver como se sente. Então agora temos este título bonito com estes números bonitos. Então, se passarmos o mouse sobre o jogo, você pode ver que há a cor realçada. E quando pressionamos, você pode ver que é a cor pressionada, então é um pouco mais escura e nós finalmente, ele volta à sua cor original. Muito agradável. Mas eu quero mudar este encosto ou a peça. Acho que vou fazer tudo em maiúsculas. E vamos aumentar o tamanho do nosso botão. Talvez movê-lo um pouco para cima. E nós, e vamos entrar no texto e ter
certeza de que está na parte superior, não no meio. Então, por causa da fonte, da maneira como a fonte realmente parece. Então agora temos o botão Play com o, vamos chamar isso de botão Play, botão play. E vamos continuar e duplicar isso e fazer o botão de opções. Então este seria o botão de opções. E vamos movê-lo para baixo aqui. Então isso se torna o, Vamos para o texto e isso será as opções. Talvez devêssemos fazer tudo em maiúsculas. Então, opções, muito bom. Vamos fazer com que isto seja maior. E nós vamos mudar isso de Playtex para apenas texto simples e inhere também porque o imposto muda com base no botão. Então agora temos as opções um pouco lá fora. Então vamos ancorar isso no botão e realmente mudar o tamanho do botão. Então vamos fazer um TA grande aqui,
assim como no dia do filme, mas mova o botão play e vamos duplicar isso de novo. E vamos fazer deste o botão Sair. Então botão Sair. E vamos mover para baixo o botão Sair e mudar o, Considerando que assim o, para que o texto se torne o silêncio. Então a fila parece feia. Muito feio. Mas não vamos nos preocupar com isso. Talvez possamos fazer este botão Play um pouco maior e aumentar a fonte e talvez mudar isso também. Para aumentar a fonte do botão Reproduzir, aumente-a. Então, em rivais as Opções, e também mudamos o texto no sair. Então, temos um tamanho maior. Ok, legal. Então agora vamos salvar isso quando entrarmos em nosso modo de jogo. - Legal. Agora temos várias opções. Reproduzir o, jogar as opções e o botão Sair. Muito agradável. Agora vamos em frente e começar a adicionar um pouco de scripts. Mas antes de fazermos isso, só
queria fazer mais uma coisa. No menu principal. Vamos em frente e clique com o botão direito. E aqui criar um objeto de jogo vazio. E chamaremos isso de menu principal. Vai ser um objeto que tem todos os objetos do Menu Principal dentro dele. Então, agora eles fazem parte de um único objeto e podemos movê-lo, aumentando diminuindo dependendo de como você quer que seu jogo pareça. Ok, ótimo. Agora, antes de continuarmos, deixe-me fazer mais uma coisa. Vai duplicar isso, e este será o nosso menu de opções. E vamos desligar o menu principal, o menu de opções. Bem, vai ter algumas mudanças. Assim, por exemplo, o botão Play não estará mais conosco. Então vamos em frente e deletados. Vamos mudar o botão Sair para o botão Voltar. E vamos mudar o imposto, é claro, para dizer de volta. Então este será o lugar onde mudamos as opções. Vamos em frente e fazer isso bem menor. Não vou trancar. O botão de trás não deve ser tão grande e vai torná-lo menor. E aqui também, então os botânicos inteiros menores. O botão de opções ativado. Vamos apenas mover o texto e, em seguida, vamos excluir o botão de opções. Então, vamos manter a mensagem aqui. Vamos subir um pouco. E também podemos aumentar o tamanho e torná-lo um pouco maior. Não, isso é muito grande. Então volte para uma opção menor. Deixe-me olhar, ok, então este tamanho e vamos movê-lo um pouco para a esquerda. E a próxima coisa que vamos fazer é aqui vamos adicionar algum tipo de controles deslizantes. Então vamos ver como adicionar. Um controle deslizante irá clicar com o botão direito do mouse e as opções vão para a interface E aqui devemos ter essa opção de um controle deslizante. Então, onde é que o nosso controle deslizante? Então vamos chamar isso de controle deslizante de volume. E vamos movê-lo para cá. Vamos torná-lo muito maior. Então vamos escalá-lo, vamos movê-lo para cá. E se abrirmos isso, podemos ver que temos o plano de fundo, a preenchimento e
a área de deslizamento da alça. Sim, chama-se “área de deslizamento”. Então vamos mudar a cor de fundo para ser completamente preto. Então agora podemos ver que temos a opção em nosso modo de reprodução para mover o controle deslizante para cima e para baixo. E vamos mudar a área de preenchimento. E nós vamos abrir isso até o Preenchimento, ele tem uma certa cor que vamos escolher o amarelo aqui. Então, agora, quando tocamos play, quando
tentamos adicionar isso, podemos ver que temos uma cor muito agradável. Então, isso é muito bem feito. As cores são muito agradáveis classifica bandeira assim como o contorno e amarelo assim como a cor das palavras. E então vamos pegar essa área e removê-la. Então agora, quando apertamos o play, só temos o controle deslizante e nada nele. Vamos fazer mais uma coisa aqui. Vamos chamar tudo isso e vamos duplicar o texto das opções. E este será o texto do volume. E vamos dar o nome aqui. Volume e esperanças. E vamos apenas mover este texto para cá. Vamos torná-lo muito menor e também vai fazer todo o texto muito menor, apenas assim. Agora o que nós, talvez possamos até torná-lo menor do que isso. Demasiado grande. Então volume, coloque aqui, faça bem menor. Isso é apenas movê-lo em novo. Mova para o meio, e basta ajustar isso em seu próprio lazer. Você não precisa fazer isso igual a mim. Você, se você tem uma visão melhor de como seu menu de opções se parece, vá em frente e faça isso. Eu encorajo-te. Então, agora, quando entrarmos em jogo, vamos ver nossas opções. Ok, muito bom. Então opções, volume, você pode ajustá-lo e então você pode voltar. Muito agradável. Agora é hora de começar a adicionar um pouco de scripts. Então vamos entrar em nossos roteiros. A parte mais divertida é criar o script. Vamos chamar isso de manuscrito principal. Pressione Enter. O Visual Studio será aberto automaticamente. Eu já conheço este livro. Então, agora que temos o menu principal, arraste-o para o menu principal. Vamos desativar as opções por enquanto, ativar o menu principal e começar a escrever scripts. Agora o que vamos fazer e o nosso manuscrito principal. É que vamos dar a cada botão algum tipo de ação para fazer. Então. Primeiro de tudo, vamos remover tudo isso. E o que o nosso botão vai fazer? Então, primeiro de tudo, o botão Play, vamos começar nossos jogos de playground, então precisamos adicioná-lo. E então precisamos ter algum tipo de gerenciamento visto. E porque precisamos de gestão
do pecado, é claro que vamos para as configurações de compilação. E aqui, vamos em frente e adicionar o nosso menu principal acima do nosso playground. Ok, legal. Então agora está dentro do índice construído. Vamos voltar e aqui vamos adicionar o namespace
do mecanismo humanitário, não visto Gerenciamento. E agora vamos em frente e criar o método para a nossa praga. Então vai ser um vazio público. Toca outra vez. E aqui vamos chamar o gerente de arsine que vamos carregar uma certa cena. E a maneira como vamos carregá-lo. Então não queremos dizer especificamente para carregar o um. Talvez tenhamos algo diferente. Talvez a pessoa volte e eu não sei, há muitas coisas que aconteceram, mas por enquanto, vamos simplesmente dizer que é a cena. Não. É o gerente de cena. Dot, fique ativo ponto visto. E é este índice de compilação. E nós vamos aumentar em um, então ele irá imediatamente para a próxima cena. Então, como vamos realmente dizer a este botão que ele precisa realmente usar este método. Então vamos guardar isso de volta no nosso jogo. Se abrirmos o menu principal, vá para o botão Reproduzir aqui você pode ver que temos as opções onclick. E se apertarmos este pequeno botão mais, você pode ver que ele requer uma opção ou um objeto. Quero dizer, e nós podemos realmente dar a ele todo o menu principal. E isso lhe dará o script que temos em nosso menu principal. Agora podemos escolher aqui a função NOR. Se clicarmos, temos a opção de ir ao menu principal. E aqui podemos escolher o ganho de matriz. Então, agora, quando tivermos este, podemos poupar o nosso ganho. Podemos acertar o Play. E você verá isso quando apertarmos o botão play. Oh, ok. Ele esperava que isso fosse assustador. Então você pode ver que estamos agora em nosso GameScene e aqui
podemos filmar e tudo parece estar funcionando com carinho, muito bom. Agora a próxima coisa que vamos fazer é ir e criar o botão Sair. Então vamos criar um vazio público que ganharia. E aqui estamos indo para ir em frente e chamar o aplicativo e nós vamos sair. Mas como ainda não construímos nosso jogo, isso não vai funcionar. Então, para ter certeza de que nosso botão Sair funciona, vamos chamar o log de pontos de depuração e vamos imprimir nosso console de skin. Quero dizer, que desistimos do ganho. Então, quando você criar o seu jogo e quando você faz aparafusado o aplicativo não sair bem trabalho, mas por enquanto ele não vai. Então, vamos guardar isso. E uma última coisa que queremos criar também o, uma maneira para nós ir do menu principal para as opções quando clicamos nele. Então, agora, quando jogamos o nosso jogo, você pode ver que quando clicamos nas Opções, nada acontece quando clicamos no equipado também nada acontece, mas esse será o seu problema para resolver mais tarde. Então, como vamos fazer a transição do menu principal para as opções? Bem, se entrarmos em nosso menu principal aqui e realmente ir para o botão Opções aqui em baixo. Também podemos adicionar algo para fazer no onclick. E a maneira como nos movemos das opções para o principal, quero dizer, a partir das opções do menu principal, podemos realmente entrar aqui. Podemos dar-lhe o menu de opções. E podemos dizer que o que ele precisa fazer é ir para o objeto do jogo e definir o booleano ativo. E pode defini-lo como verdadeiro. Então, agora, quando
apertamos play, podemos ver que quando tínhamos o botão de opções, algo acima dele vem e esse é o menu de opções. Então o que mais precisamos fazer é adicionar outra função no onclick,
e precisamos dar-lhe o menu principal e ir para
o objeto de jogo funções e definir o booleano ativo para ser falso. Nós guardamos isso. E agora quando apertamos play, podemos ver que podemos escolher o botão de opções e ele vai para o menu de opções onde podemos ajustar o volume e temos isso de volta aqui. Então, agora a próxima coisa que precisamos fazer é fazer um desafio para vocês. Seu desafio será terminar os botões. Portanto, termine o botão onclick 40 Sair, certifica-se de que ele é pressionado. E terminou o botão Voltar no menu Opções para voltar ao menu principal. Então, com isso dito, pausar o vídeo agora e ir fazer o desafio. Ok, bem-vindo de volta. Então vamos para o botão Sair aqui. Vamos dar-lhe o menu principal. Vamos acessar o manuscrito principal e vamos sair do jogo. E no nosso menu de opções, vamos fazer isso maior. E o nosso botão Voltar, vamos adicionar dois métodos aqui. Nós vamos adicionar as opções e nós vamos
para os objetos do jogo no ato de touro para ser falso. E o menu principal para um conjunto irá para o jogo. Objetos definirão o bool ativo como falso. Vamos guardar isso. Vamos tocar no play. Agora, quando apertamos o botão Sair, podemos ver que podemos sair do jogo. Podemos vê-lo no console. Se tivéssemos o botão de opções, vamos para o nosso volume, podemos ajustá-lo. Agora, quando
revidarmos, voltamos ao modo de jogo. Podemos voltar para o volume ajustado de opções novamente. Então isso realmente não faz nada, é apenas para estática para que possamos ter um pouco de mudança. Agora vamos voltar. Agora, quando acertamos o jogo, é preciso um pouco de selvagem, mas nosso jogo carrega e podemos atirar e tudo funciona perfeitamente bem. Agora este vídeo já é muito longo, mas, você sabe, criar tela de interface do usuário é realmente um processo longo. Então, o que mais podemos adicionar aqui quando atingimos o Play, você pode adicionar um objeto. Ou talvez queira acrescentar o monstro que temos. Talvez você queira adicionar o jogador segurando um certo ido. Talvez você queira apenas adicionar a arma e fazer com que pareça muito mais agradável. Mas, por enquanto, este é o fim do vídeo. No próximo vídeo, vamos criar um menu de pausa. Com isso dito, espero que você goste, certifique-se de cometer todas as suas mudanças e eu vou vê-lo no próximo.
56. Como criar um menu de pausa: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. E neste vídeo vamos criar um menu de pausa. Então temos o nosso jogo, devemos os nossos foguetes, acertamos a fuga, podemos desistir. Nosso jogo não desiste. Só imprime algo no nosso console. Quando atingimos o menu principal, voltamos ao nosso menu principal. Nós então podemos voltar para o modo de jogo e tudo funciona completamente bem com o dito, não
vamos perder mais tempo e vamos começar antes que o robô nos mate. Oh, ok, então a primeira coisa que vamos fazer, como vamos para o nosso Canvas, vai radicalmente aqui vai para o y, e nós vamos adicionar um painel. Este painel nos permitirá adicionar um como uma cor de fundo era um pouco de uma cor transparente que nos fará sentir como se estivéssemos, sim, agora estamos realmente pausar menu e é aqui que vamos segurar tudo. Então vamos mudar a banda de passagem. Mudaremos o nome para o painel de patas. Ótima. Agora a próxima coisa que vamos fazer aqui, vamos adicionar um botão dentro do cônjuge. Painel. Dois vão para o seu eu adicionar um botão e você já sabe como fazer tudo isso. Nós aprendemos isso, então eu vou apenas um pouco mais rápido. E aqui vamos apagar o texto. Claro, vamos adicionar outro texto aqui, então vamos para o nosso texto mesh pro. Isto será da nossa fonte cyber punk que criamos. Vamos torná-lo maior. Vamos dar um zoom um pouco para vermos o que está acontecendo. Mudará o botão que vamos remover a imagem de origem completamente. Remova completamente a imagem de origem. E vamos mudar a cor para completamente preta. A cor normal será completamente preta. Vai ser transparente. Então vamos mantê-lo em torno de 150. A cor destacada será completamente preta, será cerca de 58, e a cor pressionada será completamente preta e na metade do caminho. Então nós vamos obter nossas sondas de malha de texto estão indo para ancorá-lo no botão. Então vamos para o texto, apertando aqui, mantenha pressionada Alt, clicando nisso, e agora temos um ancorado. Agora vamos e apenas as nossas mensagens. Então este será o botão do menu principal. Então, isso nos permitirá voltar para o menu principal, vai torná-lo em negrito. Nós vamos, é claro, aumentá-lo de tamanho, mas antes de tudo, vamos manter isso pressionado, torná-lo maior. E, na verdade, isso será completamente transparente, assim como todos nós talvez apenas um pouco pais. Então sabemos que é um botão quando apertamos a pausa. E vamos colocá-lo no alinhamento central e o Mendel pode ficar muito maior. Então, sim, assim, superior, talvez um pouco mais. Ok, então no meio, vamos mudar a cor para completamente amarelo, assim como fizemos anteriormente. E o underlay ainda o mesmo, o esboço ainda é o mesmo. Mas por que não torná-lo ainda maior? Então aumente o tamanho. Note que o texto, o botão, sim, então agora temos o botão do menu principal. Vamos continuar e duplicar isso. E vamos criar o botão Sair. Então este será o Quit. Desistir. E vamos fazer o menor. Sim, assim mesmo. E talvez até diminua um pouco o tamanho do nosso texto. Então, bem ali. E finalmente, vamos em frente e duplicar o texto aqui. Mova-o para fora. E nós vamos movê-lo para cima. E chamaremos isso de menu de pausa. Vamos torná-lo muito maior e vamos aumentar o tamanho aqui. Então, todos abaixados, segure. Alt faz maior O'Kane R. Então este será o nosso menu de pausa que criamos muito rápido. A próxima coisa que vamos fazer é criar vai começar a adicionar comportamento. Então vamos ao Scripts. Clique com o botão direito em criar, um script C-sharp que é o menu de pausa. Agora, poderíamos ter feito isso no controlador de interface do usuário, mas é melhor ir em frente e criar seu próprio script. Vamos adicioná-lo ao Canvas Controller. Nós vamos para o controlador Canvas e vamos em frente e abrir o script do menu de pausa. Ótima. Agora, o que vamos fazer aqui? Primeiro de tudo, precisamos obter uma referência à nossa tela de postagem. Então crie um público. Vai ser um objeto de jogo e vai ser a interface do usuário da tela de pausa. E agora o que vamos fazer é apenas remover esta declaração, atualizar. Não vamos precisar deles. Talvez possamos, mais tarde, talvez usemos a atualização. Então, por enquanto, vamos em frente e criar o vazio. Este será o botão de pausa. Meu Deus, o
que é isso? Então faça uma pausa. Aquele autocompletar estava totalmente fora dos limites. Então, agora o que vamos fazer aqui? Primeiro, nós estamos indo para obter nossa interface de usuário de tela de postagem, e nós estamos simplesmente indo para definir o ativo para ser árvore de tropa. Vamos definir isso para ser verdade. Então agora ligamos o painel e tudo sob ele. Então vamos em frente e copiar isso e vamos criar um método de currículo. Então vamos retomar o jogo e vamos colocá-lo de volta para falso. Ótimo, agora como vamos fazer isso? Bem, precisaremos criar as atualizações que acabamos de excluir. E aqui vamos ter uma certa entrada. Então, se tivéssemos uma entrada com a tecla
get para baixo e ele vai ter o código de tecla do botão de escape. Normalmente, sempre que você quiser pausar, você pode usar o botão de escape, você pode usar o da frente. Isso não importa. Agora, o que queremos fazer é usar
a mesma chave para sair do nosso jogo e depois entrar no nosso jogo. Então, para fazer isso, primeiro de tudo, precisamos criar uma variável aqui que irá verificar se nosso jogo está pausado. Então, em primeiro lugar, vai ser público. Vai ser estática porque queremos que seja verdade, não verdade. Queremos que seja o mesmo em todos os lugares. Vamos fazer disso um bool, é claro, e vai ser o jogo é. Post e vai ser igual à força no início. Então, depois de termos tido o botão de tecla, vamos verificar se o ponto do jogo pausado é verdadeiro. Isso significa que estamos pausados do que a fuga será retomar o jogo. E se não estivermos pausados, então o jogo está indo. Quero dizer, a fuga vai pausar o jogo. Então, pausa, por que eu não faço a pausa? Agora temos o pulso. E agora, sempre que pausar
o jogo, o jogo é pausado será igual a true, será definido como true. E quando não estiver pausado ou quando retomarmos, o jogo é pausado será definido como false. Então agora temos essa variável que é o jogo pausado. Se é verdade quando apertamos a tecla de escape, então vamos retomar porque estamos no menu de pausa. Se não estivermos pausados, isso significa que quando apertarmos a tecla de escape, vamos pausar o jogo. Vamos testar isso no nosso jogo. Então vamos tocar no play. Não fizemos referência à tela, ao painel. Pare com isso. Precisamos ir em frente e fazer referência. Então, na tela, dê o painel do chefe, vamos salvar isso. Agora, de volta ao nosso jogo, isto deve ficar bem. Por que não salvamos isso? Tornamos isso público. Temos em falso salvo. Talvez devêssemos ir em frente e definir isso para ficar inativo assim que começarmos. Então, agora nós jogamos. Deveríamos sem sniper, ele aparece um grande monstro. Se tivéssemos a fuga Q, vamos para o menu de pausa. Muito bom, mas como você pode ver, ainda
podemos jogar o nosso jogo que não é bom em tudo. Então, a fim de mudar isso, precisamos primeiro de tudo, ir para o nosso menu de pausa aqui. E nós vamos para o tempo. Vamos acessar a escala de tempo. E vamos defini-la para ser 0 F quando começarmos a pausar. E então quando paramos de posar ou quando retomamos, então vamos ajustá-lo de volta para um F. Então, agora, quando paramos o jogo,
o jogo deve parar completamente de se mover em torno de nós. Vamos em frente e testar isso. Então, de volta aqui, quem batemos no jogo. Temos o nosso lançador de foguetes, temos o nosso atirador, por isso fazemos zoom, devíamos, quando apertamos a tecla de escape, podemos ver que estamos no menu principal e o jogo à nossa volta pára. Mas se eu te contar uma coisa, ainda
podemos filmar e o nosso jogo, e isso é porque o nosso cursor não foi bloqueado. Então, novamente, no passado, vamos em frente e acessar o cursor. Vamos acessar o estado de bloqueio dele. E vamos definir o modo de bloqueio do cursor para não ser. Dessa forma, teremos nosso mouse para se mover no mundo. E quando
retomarmos, vamos então para o modo bloqueado novamente. Então vamos guardar isso. Precisamos entrar no sistema GUN. E aqui em cima e atualize. Vamos verificar se estamos. Se vamos acessar o menu de pausa, vai para o jogo está pausado. E se for verdade, então vamos voltar. E isso significa que não somos capazes de atirar ou gerente de órgão, não
somos capazes de fazer nada quando temos o jogo é pausado igual a verdadeiro. Então vamos guardar isso. E agora de volta ao nosso jogo. Quando tivemos o jogo, veremos que quando estamos na chave de escape, não
podemos mais fazer nada em nosso jogo e ele congela completamente. Temos a opção de ir para o menu principal e sair se apertarmos a tecla de escape novamente, podemos ver que estamos de volta ao nosso jogo. Podemos jogar normalmente. Agora, é hora de realmente adicionar alguma ação aos nossos botões. E isso vai ser, claro, parte do seu desafio. O que você esperava? Sou muito preguiçoso. Então termine os botões do Menu Principal. Você já fez o botão Sair. Então agora você pode fazê-lo do zero e terminar os botões Menu Principal para que quando
pressioná-lo, ele volte para o menu principal. Já fizemos tudo isso. Então, uma pequena dica que eu não tenho aqui, certifique-se que isso deve reverter a escala de tempo. Quando você voltar para o menu principal com isso dito, pause o vídeo agora e nós vamos fazer o desafio. Ok, bem-vindo de volta. Então, em nosso menu de pausa aqui,
vamos em frente e criar um vazio público, baixo Menu Principal, Menu. E aqui nós vamos primeiro definir o tempo,
a escala de tempo de volta para um f, porque sempre que
pausamos nosso jogo, nós o temos em 0 f E nós não estamos retomando, então nós não vamos voltar para a escala de tempo um F. Coloque-o aqui. E depois vamos ao nosso gerente de cena. Portanto, não temos a opção de usar na gestão. Então vamos em frente e adicionar isso. Então Unity motor ponto visto Gestão. Este não foi um bom desafio. Há um par de armadilhas aqui, então gerente sênior ponto carga cena. E porque o menu principal está no 0, vamos carregar o 0. Um grande. E agora, finalmente, precisamos adicionar o botão Sair. Então, é muito simples. Podemos ir em frente e copiá-lo imediatamente do menu principal. Então colamos aqui guardamos tudo isso no nosso jogo. Vamos ligar o menu de pausa e vamos para o botão. Então nós não nomeamos este é o botão Menu Principal e este é o botão WHO IT. E aqui nós vamos ir em frente e acessar um objeto que vai ser do Canvas. Ele vai para o menu de pausa e vai ser jogos líquidos. Se isso voltar ao nosso botão principal do menu, vamos adicionar uma ação e aqui, obtê-lo a tela de desenho. E ele vai para a peça, e ele vai carregar o menu principal. Nós salvamos tudo isso. Desligamos o painel novamente. E agora, quando batermos no jogo, devemos ver que podemos mostrar, podemos mudar de armas. Ok, ótimo. Tínhamos desistido. Podemos pegar nosso jogo, e sair do jogo, e podemos voltar ao nosso menu principal. Muito agradável. Podemos ir para Opções, aumentar o volume, voltar para o modo de reprodução. E tudo funciona perfeitamente bem com isso. Certifique-se de que o sapato cometa suas mudanças. E no próximo vídeo ou onde nós realmente terminamos esta seção. Então, na próxima seção, vamos aprender mais sobre a construção do mundo e a unidade. Vamos adicionar mais. Vamos aprender sobre iluminação irá adicionar pós-processamento, fazendo nossos gráficos manteiga. Vamos adicionar um par de prédios pré-fabricados que pudermos. Assim, podemos criar um mundo real e
realista no qual podemos matar nossos inimigos. Com isso feito, espero que tenha gostado deste e te vejo no próximo. Ok, poderosamente ou do futuro. Agora há um pequeno problema que nos esquecemos de lidar. Agora devemos voltar ao nosso menu de pausa. Temos o menu principal que tínhamos jogado. E agora, quando tentamos atirar, não há tiroteio. Agora qual é o problema? Você pode ter encontrado isso, você pode não ter cometido esse erro, mas precisamos adicionar aqui, o jogo está pausado, deve voltar a falso. Porque quando o definimos como verdadeiro, e aqui paramos o sistema GUN quando pressionamos o menu principal de carga, não o
voltamos a falso, que é uma péssima ideia porque não podemos mais usar nossas armas. Espero que não tenha cometido esse erro e que o desafio se não cometeu, estou muito orgulhoso de você. Se você fez, não se preocupe com isso, olhe para mim, eu apenas cometi esse erro. Então, com isso dito, vamos terminar este vídeo finalmente.
57. SEC 10: adicionando ativos do mundo: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos apenas dar a volta e olhar para diferentes ativos que vamos usar para criar nossos níveis. Então nós adicionamos este edifício e aqui nós adicionamos estes edifícios aqui. Adicionamos também este edifício aqui e este edifício aqui. Então nós somos, eu acho que muitos edifícios, mas nós também adicionamos um skybox. E tudo isso será documentado para que você
possa procurar seus próprios prefabs e ativos. Nós também adicionamos a escola olhando o Lorien, se você não sabe o que o Lorine, como eu já sugeri que para ir e assistir De Volta para o Futuro. Dito isso, não vamos perder mais tempo. E vamos testar um pouco de ativos 3D que temos. Oh, ok, então vamos começar. Primeiro de tudo, vamos entrar nos recursos que eu lhe dei e você pode ir em frente e usar tudo isso. Agora, deixe-me mostrar onde consegui tudo isso. Oh, ok. Então também você pode ir e obter esses conjuntos de construção de baixa poli sci-fi adicionado aos seus ativos. Eles são muito bons e vamos usá-los para criar o nosso mundo. Então temos este edifício futurista aqui. Agora, isso não é, isso não virá com os ativos porque seu tamanho é em torno dos 150 megabytes. Então você pode ir em frente e baixá-lo por Jonathan do Sketchfab. Então isto é no edifício futurista. Você pode ir em frente e também usar este edifício de ficção científica. Providenciei isso nos recursos. É a minha tempestade de tanques e este prédio bem aqui. Não tenho certeza se vamos usá-lo. Talvez possamos colocá-lo no final de um nível. Assim, é como a Cidadela em Half-Life 2. Então você pode colocá-lo no meio. E aqui você terá algum tipo de batalha de chefes ou algo tão criativo. Também te dei este DeLorean muito fixe. Se você não sabe o que é um Lorine, como eu sugiro que você pare de assistir agora e vá assistir De Volta para o Futuro. É um filme incrível. Então, com isso dito, vamos em frente e usar nossos ativos. E vamos em frente, importar todos esses prédios e acertar a importação. Então importamos tudo isso. Ok, ótimo. Agora a próxima coisa que vamos fazer é deixar este parque como está. Então só pela memória,
só para mantermos toda a nossa experimentação aqui. E vamos para as nossas cenas. E aqui vamos duplicar a cena do playground. E este será o playground que vamos chamar de talvez nível um, digamos. Então. Chame de nível um, clique duas vezes no nível um, e é exatamente o mesmo. E você pode ter certeza de que você está no nível um olhando para cima aqui no nível um. Então, por enquanto, vamos em frente e talvez deletar os inimigos. Então vamos apagar esses dois voando por aí. Nós não os queremos. E isso é claro tudo isso. Então, a próxima coisa que vamos fazer é aqui, vamos começar a colocar nossos prédios. Vamos excluir tudo sob os cubos. Então exclua todos os cubos. Ótimo, então agora temos apenas os nossos dois grandes inimigos, o robô e o monstro gigante na verdade, seja lá qual for o nome deles. Vamos chamá-lo de Jimmy. Jimmy e a caminhonete entraram aqui e esses dois captadores de saúde. Agora, vamos em frente e olhar para os nossos edifícios. Vamos dirigir nossos prédios para o ativo do jogo. E dentro do ativo do jogo, volta em nossos edifícios que é fazer o menor. Para que possamos ver tudo isso. Então nós temos estes grandes edifícios e você pode adicionar qualquer um deles. Então vamos ver. Se adicionarmos este aqui. Então nós aumentamos. Digamos que adicionemos dez a ele, fazemos isso então, e adicionamos um dez aqui. Agora temos este edifício, mas o problema é se acertarmos no jogo. Então não é o edifício mais bonito do mundo, mas você nem sempre pode adicionar gráficos muito, muito bons. Porque às vezes deixa-me apenas ir para o jogador e aumentar a sensibilidade do mouse capaz. Então vamos fazer 400 k. Então vamos remover este não, pare, pare, pare. Então agora deixe-me aumentar o volume. Então agora você pode ver que nós temos esse prédio. Não é o prédio mais bonito. Tudo bem construir, mas podemos andar por ele. Então vamos adicionar algumas malhas, e isso faz parte do vídeo. Vou ensinar-te como podes usar tudo isto. Deixe-me fechar e aqui a conta. Então vamos entrar neste edifício, por exemplo. Então podemos ir em frente e você pode desempacotar o pré-fabricado e aqui ou você pode ficar com ele. Então, podemos adicionar um componente que é o colisor de malha. Então, adicionamos o colisor de malha. E aqui você pode ver que imediatamente um colisor de malha foi adicionado e ele realmente vem com os prefabs e aqui, então cada edifício tem seu próprio pré-fabricado com ele. Então vamos fazer o Stan, embora não 100. Então dez por dez por dez. Então este é o prédio quebrado, o busto, ou talvez possamos torná-lo ainda maior. Então talvez este seja 20. Ok, agora, então agora este é o segundo edifício. Este é o terceiro edifício e você pode adicionar um colisor de malha, e aqui ele irá adicionar automaticamente este também. Vamos fazer dez por dez por dez, e fazemos isso 20. Então, agora você pode adicionar esses edifícios como você, como você vê o ajuste e adicionar malha colider Student. Ok, vamos continuar. E, na verdade, vamos tornar este parque um pouco maior. Então vamos fazer a escala 30 por 30. Então é um pouco maior para que possamos ver tudo ao nosso redor. E se formos para a janela e vamos para uma Navegação, e esta é a parte mais importante. Queremos começar a escolher estes edifícios, tornando-os estáticos. Então, no inspetor, vamos fazê-los navegar em estática. E mantenha este avião estático, vá para a navegação e vamos assar tudo aqui. Então agora você pode ver que o chão é meio que lido. Então nossos inimigos agora podem andar por aí e podem nos perseguir. Sim, tudo está funcionando bem. Ok, ótimo. Então, agora que temos esta terra aqui, vamos em frente e olhar para outros Prefabs que eu lhe dei. Então vamos ver aqui que temos esse cyber punk, o Lorine. Vamos arrastá-lo para nossos recursos de jogo aqui e esperar que ele para compilar. Então, agora temos aqui. Vamos em frente e colocá-lo em nosso mundo. Vamos olhar para ele e dizer, mas pequeno. Então vamos torná-lo ainda menor. Seis por seis por seis. Ótima. Então agora parece bom o suficiente. Então, se clicarmos nele, você pode ver que ele atualmente, bem, nós podemos percorrer isso. Mas aqui podemos simplesmente adicionar um colisor de malha. Precisamos escolher todos estes porque se você clicar sobre ele,
você pode ver que cada componente tem seu próprio colisor de malha. Então escolhemos tudo isso. Então, clique no primeiro, mantenha pressionada a tecla Shift, Clique no último nos componentes e no colisor de malha. E você verá que cada objeto agora tem seu próprio colisor de malha. Se a salvarmos, batemos no Play. Podemos ir em frente e caminhar até o carro e podemos esbarrar nele. Podemos saltar sobre ele, e podemos ficar em cima dele. Quão legal é isso? Ok, ótimo. Você também pode torná-lo adequado para que você possa realmente atirar nele e adicionar algum tipo de impacto de bala sobre ele. Na verdade, queremos fazer isso quatro por quatro e agora não dirige. Mas o que você pode fazer é realmente adicionar alguma animação para fazê-la pairar ao redor e talvez girar as rodas ao redor e torná-lo mais legal. Vamos aumentar a sensibilidade do mouse para 400. Ok, ótimo. Então, com esse Don, o que mais temos? 01 coisa que eu queria te contar. Então, atualmente, se você clicar no ciber DeLorean ou qualquer componente para esse assunto, você pode ver que todo o material aqui está indisponível para que você possa, você não pode ajustar ao redor com ele. Agora, uma maneira muito bacana de resolver este problema é vamos em frente e criar uma pasta aqui, e vamos chamá-lo de, as texturas Lorien. E vamos adicionar estes cyber, caminhão punk
cibernético aqui. Clique duas vezes aqui, e quando você clicar sobre ele, você pode realmente ir do modelo para o RIG, para as animações se ele tem uma e ir para o material. E aqui você pode ir em frente e extrair as texturas e extrair os materiais. E quando você clicar em extrair material, você pode imediatamente nos levar para a pasta de seleção texturas Lorien. Então agora você terá todas as texturas aqui. Então você pode adicioná-lo imediatamente. Você pode ver que o carro mudou as cores e ele se torna o mesmo que é mostrado no site do Sketchfab. Você também pode extrair os materiais aqui também. Então, agora, quando eles são extraídos, você pode ir em frente e começar a mudá-los. Então aqui vamos ver, talvez possamos. Vire isso, oops. Vamos torná-lo preto, por exemplo. E você pode ver que imediatamente os materiais aqui mudam de cor. Então você pode fazer isso e ajustar ao redor, brincar, ver se você talvez quer aumentar o metal. Talvez você queira adicionar suas próprias texturas aqui no albedo, por exemplo, e assim por diante. Você pode adicionar uma missão para fazê-los brilhar. Então você pode adicionar talvez branco e missão e assim por diante. E se você quiser aprofundar isso, há recursos incríveis na documentação do Unity, onde você pode encontrar tudo o que você precisa para entrar completamente nisso. Agora, eu não vou para ir e Gulf aprofundou isso. Este é mais um lado gráfico se você está olhando para fazer isso, eu encorajá-lo uma maneira realmente fantástica de aprender as coisas. Ok, ótimo. Agora temos o Lorien. O que mais podemos acrescentar? Vamos entrar em nossos recursos de jogo, entrar em três recursos. Também lhe dei estes três prédios que lhe falei. Então vamos arrastar tudo isso e colocá-los em nossos recursos de jogo. Esperem que importem ou K. Então vamos ver, temos nossos prédios. Então já fizemos isso. Onde é que está? Então vamos fazer isso menor, enquanto está tudo bem, então este é o primeiro prédio e simplesmente arrastá-lo aqui. Considerando que é sério, o que é isso? Oh, então este é o nosso pequeno, minúsculo prédio. E você pode colocá-lo à distância, como em algum lugar. Então, quando você começa o jogo, você anda por aí e você vê aquele prédio à distância e você sabe disso. Então vamos olhar para isso. Veja como parece. Whoa, legal. Você pode ver que é um edifício enorme em algum lugar na distância e você
precisa andar com, mas atualmente, nós caímos. Vamos mover este edifício um pouco. Então vamos movê-lo aqui e meu computador já está começando a sofrer. Ok, então agora podemos ver que este é nosso prédio e está no playground para que possamos saltar sobre ele. Mas o problema é que ele não tem nenhum colisor de malha e as cores nele também são extremamente chatas. Você pode ir em frente e fazer o mesmo que fizemos antes. Então você pode ir para o prédio, ir para as animações da plataforma modelo, e aqui você pode extrair os materiais e sim, o edifício de ficção científica. Então agora seremos capazes de ajustar e brincar com tudo isso. Então isso vai levar um pouco de tempo fora do seu dia, a fim de mudar todas as coisas diferentes aqui. Então os aviões, as coisas diferentes aqui. E você também pode ir a este prédio e ver o que ele tem. Então vamos aumentar o tamanho aqui e você pode ver que ele tem um monte de colisadores de malha nele também. Você pode ajustá-los, você pode adicioná-los a coisas diferentes. Então vamos ver o que temos aqui, talvez. Então aqui você pode editar o material. Na verdade, você pode adicionar um colisor de malha aqui, e ele irá adicionar automaticamente nem todas as coisas aqui são adicionadas. Então você pode ir em frente e clicar em. E assim, por exemplo, este avião e aqui, é claro, tem um colisor de malha e você pode mudar o material sobre ele e assim por diante e assim por diante. Eu só estou mostrando um pouco de coisas aqui para você não ficar confuso se você está tentando adicionar seus próprios bens. Então, com esse prédio pronto, vamos tirá-lo do caminho. O que mais temos? O último prédio e é o mais legal, ou, e este é um dos prédios. Então força, vamos adicionar aqui. Então este também é um prédio muito bonito. Você pode clicar nele e extrair todos os materiais para que você possa ajustar e brincar com eles. Então está construindo aqui perto de fontes. Lá estão eles. Agora você pode alterá-lo e torná-lo mais metálico para torná-lo mais frio. E para adicionar o colisor de malha aqui que C, Ok, então imediatamente o colisor de malha está disponível quando tivemos jogo. Então podemos, deve o prédio com o nosso foguete. E agradável. Então, quão legal é isso? Agora podemos filmar nossos prédios e você também pode criar whoa, whoa, whoa. Vamos recarregar. Está bem, fixe. Agora temos estes edifícios aqui. Vamos pegar algumas munições. Vamos recarregar. Vamos filmar nossos prédios. Tão bom, nosso mundo está ganhando vida. Então, o que mais temos? - Ainda? É, então o problema com este edifício é que ele é apenas de um lado, de todos os lados. E este é o nosso prédio. Então o problema com ele, em primeiro lugar, é completamente branco e vamos ter que adicionar um par de texturas a ele. Ele vem com seu próprio colisor de malha, eu espero que sim ele faz. Então aqui você pode ver que ele tem este material sobre ele. Podemos clicar nele. Podemos extrair material também viu nos edifícios futuristas faltavam. Então o problema é que está vazio do outro lado. Então você precisa criar uma maneira para o, bem, qualquer pessoa jogando seu jogo é, não
deve ser capaz de ver o que está por trás disso para quebrar a imersão do jogo. Então vamos entrar aqui e vamos começar a ajustar isso, ele vem com suas próprias texturas. Então vamos registrar este fim, ir para as texturas. Então aqui temos o albedo. Então vamos adicionar o albedo aqui. Legal. Então o nosso edifício já é muito colorido. Nós também temos emissão, então vamos adicionar uma missão. Então vamos olhar, olha como isso vai se tornar legal. Então nós adicionamos aqui. Então agora nós podemos realmente adicionar emissões, torná-lo vermelho e ele realmente emite a luz. Esta é a doença do metal, doença mental. Legal. Quão legal é esse prédio? Sorte agora. E também temos o normal, vamos adicioná-lo aqui e corrigi-lo. Então agora nosso prédio é muito melhor. Legal. Então, o que mais precisamos ter? Isto? Um 00 significa o mapa de ocasiões. Então vamos adicioná-lo aqui. E para ser honesto, sob o designer gráfico ônibus também, então eu não tenho certeza o que faz 100%, mas acrescenta um pouco de cautela, o que é bom, eu acho. E parece muito bom. Este é um dos edifícios mais bonitos. E agora quando acertarmos os playups, então podemos atirar com nossos foguetes. Mas, na verdade, parece muito bom. Mas o problema é que se você andar por aí e é super estranho. Ok. Então você pode bater do lado que você não pode, mas do outro lado você pode. E isto é algo construído especificamente pela unidade. Nós não estamos especificamente, mas isso é feito a fim de
economizar memória em seu jogo e ser capaz de usar este edifício. Então, não sei se está ouvindo,
mas quanto mais tempo eu jogo, mais ele começa a sofrer. E nós podemos realmente aguentar isso, mas não podemos saltar porque esta não é a camada do solo. Então vamos sair. E o que é que isso fez? Eu só queria adicionar alguns bens. Te mostrar o que você pode fazer. Talvez você seja criativo. Você também pode ir em frente e encontrar seus próprios recursos. Eu realmente, realmente encorajo você a ir em frente e encontrar seus próprios bens. Vai se sentir incrível quando você faz uma pequena idéia que eu queria te dar, digamos, por exemplo, nós fazemos um nível onde em todos os lados temos isso, esses prédios e você não pode olhar através deles. E, em seguida, lá no final você tem este grande edifício e sob ele pode ser adicionar três monstros do nosso monstro aqui para que você possa duplicá-los e certifique-se de sempre fazer este um estático, estático de
navegação, e, em seguida, assar o novamente para que os monstros realmente não andar em cima dele. Então, com isso dito, espero que tenham gostado do vídeo. E mais uma coisa. Mais uma coisa, só queria entrar na caixa da galáxia que temos aqui. E vamos abrir isso e
escolher um desses skybox para adicionar ao nosso mundo e aqui. Então agora estamos em algum tipo de planeta grande, enorme. Agora, quando batemos no LAC Lux, dez vezes melhor, quão legal isso parece sério? Agora estamos no espaço atirando monstros com incríveis edifícios olhando e grande. Nosso jogo está vindo a viver com efeitos sonoros com tudo. Se pudéssemos conduzir este DeLorean e voar para um maduro, mas isso não está lá. Então, com isso dito, espero que você tenha gostado do vídeo e eu vou vê-lo no próximo.
58. Pós-processamento: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, vamos adicionar um pouco mais de jogos de estilo gráfico. Então, como você pode ver, fizemos algumas mudanças e aqui nós adicionamos
algum jogo de loja de efeitos usando pós-processamento. E não é muito, mas na verdade aumenta a beleza do nosso jogo e realmente torna as coisas mais realistas. E nós adicionamos também alguns desfoques de movimento no azul. Você pode ver todos os efeitos que adicionamos aqui. E você também vai adicionar seus próprios efeitos e torná-lo seu próprio. Então, com isso dito, não
vamos perder mais tempo e vamos começar. O K. Então, a primeira coisa que você precisa fazer é ir para a janela,
ir para o seu gerenciador de pacotes e o registro de unidade. Basta ir para o pós-processamento e bater e parar. Portanto, isso deve começar e parar se você não tiver baixado já baixado, e se você precisar atualizar,
atualizar e, em seguida, iniciar e parar. Ok, então agora que temos nosso pós-processamento instalado, a próxima coisa que vamos fazer é entrar em nossa câmera. E aqui vamos adicionar um componente que vai ser
a camada de pós-processamento. E aqui você pode ver que temos um gatilho, uma camada que atualmente não é nada e criará uma camada de pós-processamento para isso. Então agora que temos nossa camada de pós-processamento, e aqui vamos em frente e criar uma camada que vai
ser chamada bem, pós-processamento. Processando. Aperte Enter e apoiando nossa câmera aqui nós vamos escolher qual camada queremos ter como nossa mistura de volume. Veremos o que isso significa mais tarde e escolhemos o pós-processamento. Agora vamos criar um novo objeto de jogo vazio sob a câmera. E vamos chamar isso de postagem para o volume de sincronização. E nós vamos anexar a ele um componente que é o volume pós-processamento. Agora atinja a Global aqui. E nós só vamos ser capazes de perceber isso aqui mesmo no nosso modo de jogo. Então, certifique-se de que você está nisso. Agora vamos em frente e aqui ele vai nos pedir um perfil, basta clicar em Novo, e ele vai criar um perfil de pós-processamento. Se você bater aqui, você pode ver que está nas cenas e perfis. E agora deixa-me mudar
a nossa maneira de agir aqui. E vamos escolher um par de cubos aqui e movê-los nas proximidades do nosso jogador. Oops, então vamos escolher isso aqui de volta. Vamos fazer disto um global. Ou não, na verdade, vamos torná-lo local e vamos movê-lo na frente do jogador para que possamos ver como isso afeta os vários elementos em nosso jogo. Então, vamos escolher a Global. Escolhemos o avião? Não, não escolha o avião. E vamos mover este cubo e fundador dos nossos jogadores. Então agora podemos ver estes cubos aqui e vamos ver que efeitos temos no nosso jogo. Ok, ótimo. Agora de volta ao nosso pós-processamento, agora nós podemos realmente, vamos para o volume de pós-processamento aqui e ter certeza de que ele está na etapa pós-processamento. Agora, podemos finalmente começar a adicionar efeitos. Então, o primeiro efeito que vamos adicionar aqui, podemos escolher a unidade e há muito. Agora, eu não vou passar por todos eles porque há muito para cobrir aqui. Mas eu encorajo você a ir em frente e experimentar todos estes e a melhor maneira de experimentar qualquer coisa para fora. Então deixa-me mostrar-te. Vamos florescer, por exemplo. Digamos que não temos ideia do que Bloom é. Basta clicar na intensidade e aumentá-la o máximo que puder. E então você saberá o quanto você realmente quer e o que ele realmente faz. E foi assim que aprendi tudo isso. Então vamos em frente e adicionar um pouco de blum. Então você pode ver em 0 que não há nada. Podemos adicionar um pouco para que possamos fazer talvez, digamos 1.5 ou talvez até mais, 1.8. Ok, então 1.8 parece bom o suficiente. Podemos mudar muitas coisas aqui. Então, talvez se nos difundirmos. Então você pode ver que há um monte de coisas que podemos jogar por aqui. Vamos apenas remover a difusão. Então, a próxima coisa que vamos fazer é adicionar outro efeito aqui. E vamos ver, podemos adicionar a aberração cromática, que é uma boa. Então, se clicarmos na intensidade, podemos aumentá-la. Você pode ver que as bordas da nossa tela se tornam um diluído ou eles como se eles são hiper velocidade. Então, podemos adicionar um pouco disto aqui. Então talvez 0,06 ou talvez aumentá-lo um pouco. E você pode ver que as cores também mudaram. Então você tem essas cores vermelhas, verdes e azuis que mudam, então talvez chegue a 0,2. Ok, isso parece bom. Você pode adicionar um modo rápido, e aqui eu não tenho certeza do que isso faz, mas você pode ver que ele adiciona um pouco mais esticado para as telas ACH. Ok, então vamos em frente e adicionar um, outro efeito aqui. O que mais podemos acrescentar? Podemos mudar a profundidade do campo, que é como mudar
a distância de foco como se estivesse disposto a usar óculos. Acho que não quero isso, então podemos removê-lo. Por exemplo, vamos adicionar outro efeito aqui. E podemos adicionar desfoque de movimento, que é muito bom. Então isso só vai funcionar enquanto Will, enquanto estamos jogando nossos jogos. Então vamos adicionar esses dois que estão em jogo e ver como isso parece. Então agora você pode ver isso. Ok, então agora você pode ver que enquanto estamos nos movendo, nós temos esse pequeno borrão. Então nosso mundo é um pouco mais brilhante, se você quiser. E já os gráficos são melhores. Então vamos aumentar a contagem de amostras e a velocidade do obturador, e vamos ver como isso afeta nosso jogo. Então vamos mudar. Há algum borrão de movimento? Não, não muito. Então vamos aumentar isso, colocar tudo isso ao máximo e ver como isso parece. Então, sim, há um pouco de borrão de movimento. Não é tão óbvio quando construímos o nosso jogo. Acho que será mais óbvio do que isso. Então vamos manter o movimento borrão em torno deste tanto. Vamos adicionar um, outro efeito aqui. E podemos adicionar o widget, por exemplo. É meio legal. Não é tão bom, mas você pode adicionar um, como um círculo em torno das bordas. Então isso pode ser assim ou você pode apenas, apenas um pouco ao redor dos cantos. E há um outro efeito muito legal aqui que eu gosto. E é a oclusão do ambiente. E o que isso faz é realmente adicionar um pouco de, vamos ver, sombras para nossos vários objetos. Por isso acrescenta profundidade ao nosso objecto. Então você pode ver aqui os cubos ficaram um pouco escuros sob eles, e nós podemos adicionar também espessura aqui para que possamos aumentar a espessura, por exemplo. E agora as coisas estão muito mais fundamentadas. Você também pode mudar a cor disso e você pode mudar muito suave. Então, quando batermos no jogo, vamos ver o que parece. Ok, então você pode ver agora que nosso ganho é muito mais intenso. Quando atiramos, quando nos
movemos, temos esses cubos que estão aterrado. Agora esta não é a melhor coisa gráfica que nós adicionamos, Mas por enquanto eles são realmente bons. E você pode ver que nossa arma ainda parece muito mais realista. Nossos inimigos parecem muito mais intimidantes e têm muito mais profundidade. E tudo isso, tudo isso realmente parece e agradável. Então, com isso dito, eu acho que eu vou diminuir o widget, talvez até mesmo removê-lo porque ficou
muito mais escuro e talvez diminuir a espessura aqui. Mas de qualquer forma, estas são todas as coisas que você pode brincar e testar por conta própria. E na verdade faz parte do seu desafio. Então seu desafio é adicionar seus próprios efeitos. Então, primeiro de tudo, configure o pós-processamento no volume de pós-processamento e tudo para sua câmera. Aproveite para explorar todos os diferentes ajustes que você pode adicionar seu pós-processamento porque há muitas coisas com que você pode brincar. E você ficaria surpreso com o quão bom seu ganho pode realmente parecer quando você adiciona pós-processamento a ele. Esta é uma ferramenta muito poderosa e eu encorajo você a sair e experimentar todos
os efeitos e, finalmente, criar seus próprios efeitos em seu nível. Dito isto, espero que você tenha gostado do vídeo e no próximo estaremos brincando com a iluminação em unidade e vendo como tudo isso funciona com o que disse, espero que você goste e veja você no próximo.
59. Iluminação na unidade: Bem-vindo de volta, Meus desenvolvedores de jogos favoritos. Neste vídeo, como você pode ver, nós desligamos todas as luzes e nosso jogo, e nós adicionamos o nosso próprio. Então, agora, quando batemos em jogo, você pode ver que o nosso jogo é muito mais assustador e tudo ao nosso redor é completamente escuro. E nós só iluminamos algumas coisas. Por exemplo, o monstro lá tem um pouco de luz sobre ele. Temos esta luz verde aqui que realmente adiciona jogo de loja ambiente. E só quando andamos temos luzes no nosso jogador e na frente deles, ainda
podemos filmar coisas. Ainda podemos ver um pouco de contorno por causa desses caras ao nosso redor. Mas basicamente tudo foi desligado. Então agora podemos ver nossos inimigos, podemos filmar isso. Adicionamos muitas coisas e vamos nos
divertir brincando com luzes e Unity. Will que disse, não vamos perder mais tempo e vamos começar. Ok, então a primeira coisa que
vamos fazer é entrar em nossas cenas aqui. E vamos em frente e duplicar o playground. E vamos chamar isso de nível dois. Então agora temos uma ferramenta de nível. E antes de tudo, vamos ignorar isso e salvar tudo isso. Agora, no nível 2, é exatamente o mesmo que o nível um. E você pode ter certeza disso. Quero dizer, é exatamente o mesmo que o playground e você pode ter certeza disso quando você olhar aqui para cima no nome da cena. Então agora temos o nível 1 com nossos vários objetos e são realmente bonito a Skybox. E temos o nível 2, que é o nosso nível básico com os nossos vários objetos. Ok, ótimo. Agora, o que vamos fazer? E aqui vamos estar brincando com a iluminação. E deixe-me falar um pouco sobre como a iluminação funciona em unidade. Então, se entrarmos na janela bem aqui, entramos na renderização e temos a iluminação aqui para que possamos ver, vamos adicioná-la aqui em seguida, o Inspetor e a navegação. Podemos ver aqui que temos várias coisas que podemos ajustar e brincar. E graças a ver. Então, como a iluminação funciona em unidade é cozida. Então o que, o que isso significa? Bem, assim como você faz um bolo e então ele está lá fora para sempre. Da mesma forma. É assim que a iluminação no Unity funciona. Agora, você pode criar uma maneira de a iluminação funcionar dinamicamente, mas isso exigirá muito poder de processamento. Então o que ele faz é criar uma luz direcional
aqui e, em seguida, ele assar as sombras e como as coisas serão iluminadas. Materiais tão diferentes e assim por diante. E então ele vai assar tudo lá e terá a iluminação diferente. E agora podemos mudar isso. Então, se nós, por exemplo, vamos para a luz direcional aqui. Podemos ver que podemos mudar a cor, podemos mudar a intensidade, podemos aumentá-la muito, ou podemos emitir para 0. Mas você pode ver que ainda há muita luz lá fora. Se formos agora para a iluminação, podemos mudar a luz, iluminação
ambiental para 0. Podemos remover várias coisas. Então reflexões ambientais, podemos mudar a forma como a luz salta fora de objetos diferentes. E agora comigo gerar iluminação. Aguarde até que ele gere uma ferramenta. Crie um arquivo aqui que manterá todas as coisas ao redor da iluminação aqui. Então vamos esperar por isso. É calcular as coisas. Ok, então agora que isso está acabado, deixe-me apenas tocar no play e eu vou te mostrar como tudo é muito, muito mais escuro. Então agora você pode ver que mal podemos ver vários objetos de jogo. E no nosso caso, porque temos este robô e aqui, então deixe-me mostrar a diferença. Nosso robô realmente tem um corpo de robô, tem uma luz sobre ele, que é o martelo e aqui. E se desligarmos o hammy, verá que tudo ficará muito mais escuro. Então, oops, deixe-me sair, ir ao Hemi do robô e desligar isso. E você verá que nenhum de nossos objetos será visível. Então, quando apertarmos Play, você verá que não podemos ver nada e tudo está escuro. Agora ainda temos este céu aqui que nos permite ver tudo. Mas também podemos fazer isso para 0 ou talvez mudar, mudá-lo usando a caixa Galaxy. E vamos em frente e fazer isso. Por que não? Então, se entrarmos em nosso jogo, ativos entrarão nossas galáxias, verão aqui que temos esses recursos. Então, vamos escolher a Skybox. Então, sim, agora estamos em completa escuridão em nosso jogo. E quando batermos no play, vamos ver como isso fica ótimo. Então agora podemos ver qualquer coisa muito agradável, exceto os flushes. Na verdade, muito legal. E mal podemos ver o contorno do nosso inimigo lá dentro. Agora vamos em frente e adicionar nossa própria iluminação no jogo. Então, a maneira como fazemos isso é vamos clicar com o botão direito do mouse e nossa hierarquia. E vamos em frente para nossas luzes e podemos criar várias coisas. Agora a luz direcional é como o sol. Nós já temos um. Podemos criar uma luz pontual. Então vamos em frente e criar um. Vamos redefinir sua posição porque é verão muito, muito longe. E por exemplo, vamos colocar nosso ponto como, vamos apenas colocá-lo aqui. Então, por exemplo, bem ali. E você pode ver que mal,
mal acrescenta um pouco de luz à nossa rampa bem aqui. Para que possamos aumentar o alcance. Podemos aumentar a intensidade, podemos mudar as cores para que possamos torná-la vermelha, verde e assim por diante. Podemos movê-lo e você pode ver como tudo isso parece em nosso jogo. Podemos aumentar o multiplicador indireto. Podemos fazê-lo não ter sombras de tiro ou podemos torná-lo meio sombras
suaves ou fazer e fazer com que ele tenha sombras duras e tudo isso. O que também podemos fazer é aumentar o alcance. É basicamente isso. Então vamos manter isso aqui e aumentaremos a intensidade, por exemplo. E isso será algum tipo de áreas verdes. Então, agora, quando acertarmos o jogo. Podemos ver que temos aquela área verde. Então, Maisel, como os foguetes também iluminam a cena. Então agora, quando vamos para baixo aqui às vezes tomar o, tomar a textura, textura um pouco de tempo, mas não se preocupe com isso. Então agora você pode ver como o ambiente parece. Estamos em um lugar verde. É muito legal, é muito legal. E eu gosto muito disso. Agora, a próxima coisa, e além da luz pontual, nós também podemos ir em frente e criar outra luz que é um holofote. Então deixe-me mostrar-lhe o que é um holofote. Novamente, vamos redefinir sua posição aqui. E vamos movê-lo um pouco para cima, e vamos girá-lo em torno do eixo x. Então vamos fazer 90 graus, então brilha para baixo. E vamos movê-lo para cima. E podemos ver que podemos aumentar o ângulo, por exemplo, e aumentar o alcance faz isso atualmente não tem intensidade. Vamos aumentar a intensidade. Bem, então agora podemos ver que nosso jogador está intensificado e tem, e tem um pouco de luz sobre ele. Realmente legal. Então, agora, quando guardarmos isso, vamos tocar no play. Vamos ver como isso parece. Então, quando batemos no jogo, podemos ver que estamos sob algum tipo de luz e tudo ao nosso redor é escuro. E uma coisa muito legal que podemos fazer aqui é que
podemos realmente anexar os holofotes ao nosso jogador. E agora, quando salvarmos isto, medida que nos movemos ao redor do nosso mundo, deixa-me mostrar-te como isto é fixe e puxar, sabes, o quanto podemos fazer. Esses holofotes se movem conosco. Agora, à medida que avançamos no nosso jogo, mal
podemos ver na nossa frente. Agora, é claro, precisamos mudar isso um pouco. E quando, enquanto estamos nos movendo, você pode ver que temos isso na nossa frente, o holofote, mas apenas ilumina na frente do jogador. Agora podemos mudar o ângulo, por exemplo, deixe-me mostrar-lhe se mudarmos o ângulo para que seja apenas na frente do jogador, aumentamos o rangy, mas talvez a intensidade possa brincar com todas essas coisas e certifique-se e torná-lo alterar o seu gosto. Realmente, realmente depende de suas preferências. E podemos mudar a cor também, e tudo isso, podemos adicionar sombras um pouco para que possamos adicionar sombras suaves. Então agora o nosso jogador tem uma sombra suave quando acertamos o jogo. Mas lembre-se de que tudo isso desempenha um papel em seu desempenho. Então agora você pode ver que os holofotes no elimina na nossa frente. E não importa como nos movemos, você pode ver as sombras. Então agora, quando nos movemos em direção ao nosso monstro aqui, podemos eliminar os diferentes objetos são monstros nos ataca e é, você
pode ver como isso é assustador? Sério, isso não é assustador? Um pouco. Ok, ótimo. Agora com esse holofote pronto, deixe-me mostrar o que mais podemos fazer com a iluminação. Então, podemos, por exemplo, ir para nossa coleta de saúde e vamos em frente e adicionar uma luz a ele. E você também pode criar uma luz de área, o que não é um grande negócio. Mas eu geralmente todos são usados como luz pontual e holofotes e isso é tudo. E estes são realmente o suficiente. Então este é o nosso holofote e vamos girá-lo a 90 graus. Vamos movê-lo um pouco para cima. Vamos aumentar o alcance e a intensidade. Ótimo, então agora temos no tapete de volta e podemos, vamos em frente e aumentar o ângulo do ponto nele. Então, só assim. E vamos em frente e adicionar outro. Duplicado irá girá-lo para menos 90 graus, e então nós vamos movê-lo para baixo. Então vamos ver como isso parece. E vamos em frente e aumentar o rangy, mas aumentar a intensidade. Então o que queremos é que queremos uma luz debaixo dela e sobre ela. Então, por todos os lados, se você quiser, com os holofotes. Então vamos ver, isso é muita intensidade, aparentemente, tão bom. Então, agora vamos ver como isso parece. Nós economizamos que podemos até torná-lo capaz de mais verde. Então parece uma verdadeira saúde de volta. E agora, quando salvamos isso, quando batemos em Play, podemos ver que, por exemplo, estamos olhando em volta e BC, whoa, isso é uma saúde lá atrás. Vamos buscá-lo. Legal e podemos fazer o mesmo nossa caixa de munições e veja como isso parece legal para que possamos pegá-la. Ok, ótimo. Agora a última coisa que você pode fazer é que você pode realmente também colocar um holofote para o inimigo. Então aqui, por exemplo, digamos que temos nosso monstro andando por aí. Podemos ir em frente e criar um. Você pode criar um considerando a luz, você pode criar uma luz pontual para estar em sua cabeça, por exemplo. Assim podemos aumentar o alcance, aumentar a intensidade. E vamos guardar isso. Vamos tocar no Play. E agora você pode ver que enquanto você está olhando em volta, você tem aquele inimigo. E ele está andando por aí com seu tipo de luz lá. E é muito ameaçador e assustador. Você terá que remover a luz em você e tudo isso. Agora que mostrei a vocês como as luzes funcionam na unidade, mostrei alguns exemplos em Unidade. Você pode ir em frente e para a iluminação, ir gerar a luz. Ele vai economizar um monte de tempo e um pouco de cálculo para a unidade cada vez que você jogar o jogo. Então, agora, quando
apertamos Play, temos nossos vários slides que adicionamos ao nosso jogo. E, claro, este não é o melhor exemplo. Só estou imitando isso, tudo isso. Só estou tentando mostrar o máximo de exemplos que puder. A coisa realmente não agradável que você pode fazer é, por exemplo, em alguns holofotes ou luzes de área para os vários cubos em seu ambiente. Ou, por exemplo, se você quiser criar algum tipo de túnel através do qual o jogador tem que se mover, você pode adicionar curtidas apenas para o, digamos a porta no final e adicionar um pouco de luz de área na frente do jogador. Então, sempre que ele gira, ele só pode ver na frente dele. Este é um grande mecânico. A maioria dos jogos usa. E o que esse conjunto. Agora é hora do seu desafio e seu canal será deixar que haja luz. Então, configure seu próprio sistema de iluminação em unidade com todas as variações de luzes que você aprende, você não precisa fazer tudo completamente escuro. Eu só queria enfatizar como a iluminação funciona mantendo a luz direcional completamente escura. Você pode anexá-los a diferentes objetos em seu nível e adicionar ambiente ao seu nível. Então, com isso dito, Eu encorajo você a ir e experimentar com iluminação, ver o que funciona para o seu próprio jogo e certifique-se de que você criar um segundo nível nom apenas experimentar em um nível com tudo isso grande, um segundo, terceiro, quarto nível e jogar ao redor, ver o que funciona, ver o que não funciona, e divirta-se, divirta-se. Isso é tudo sobre se divertir e criar algo que você gosta e para o seu próprio gosto de teste e o que você gosta, o que isso disse. Verei vocês no próximo, onde vamos realmente aprender como podemos fazer a transição de nível para nível usando um portal.
60. Transição entre níveis: Bem-vindo de volta, Meus desenvolvedores de jogos favoritos. Neste vídeo, criamos uma porta de saída que nos permite passar de nível para nível. Então, temos esta porta e aqui, e nos aproximamos da abertura e agora podemos passar por ela. Nós abrandar o tempo, e então estamos do outro lado eo próximo nível atirando nossos edifícios. Então não vamos perder mais tempo e vamos começar. Então, a primeira coisa que vamos fazer como vamos e obter o nosso portal a partir dos recursos. Então simplesmente arraste o portal para nossos ativos de jogo. Comprei tudo isso, espere que ele importe. A qualquer momento, deve estar dentro desses ativos de testes, e aqui será uma porta de ficção científica. E nas fontes simplesmente arraste o sulfito ou animação aqui. Ok, ótimo. Agora temos esse Doron de ficção científica aqui. Podemos ir até a porta de ficção científica e extrair os materiais. Você pode extraí-los onde quiser. Você pode extraí-los dentro do material. Então, selecione tudo isso. Muito agradável. Agora a próxima coisa que vamos fazer, vamos mudar o nome aqui para ser simplesmente a porta de ficção científica. Ou você pode limitar o portal ou o que quisermos. E vamos em frente e escalá-lo para dois em todos os lados. Então agora é grande o suficiente para ser uma porta. A próxima coisa que vamos fazer é ir em frente e vamos em frente e realmente desempacotar o pré-fab completamente e vamos para os ativos. Vamos entrar e mudar o material nele. Então já fizemos isso muito tempo. Então o que vou fazer é pular tudo isso. Ok? Então eu pulei tudo isso. Então agora temos o dormitório aqui e talvez possamos mudar um pouco a emissão ou o albedo. Então, se pudermos torná-lo um pouco mais brilhante, tudo bem. Então vamos fazer isso em torno de zero ponto setenta e oito. Vamos tocar no Play. E vamos dar uma olhada na nossa porta e ver como fica. Então, onde está a nossa lei lá? Então, ali está a nossa porta. Atualmente, não faz nada. Está bem. Ótima. Então a próxima coisa que vamos fazer é entrar na nossa ficção científica Doron aqui e vamos criar um animador para isso. Então, oh, e claro, antes de fazermos isso, vamos pegar nos nossos bens e pegar o que é isso? Teste ativos, que é a porta e vamos colocá-lo dentro dos ativos do jogo. E vamos em frente e pegar a janela de animação e aqui, animação. E vamos falar ao lado do console. E vamos pegar também o nosso animador. E vamos mantê-lo lá em cima. Então, vamos clicar na porta de ficção científica. Vamos criar animações e criar uma nova pasta para a porta de ficção científica. E aqui vamos criar nossa primeira animação e vai ser o aberto. Então vamos abrir a porta. Ótima. Agora de volta ao nosso jogo, de
volta à nossa cena, quero dizer, vamos ver aqui que podemos realmente ir e encontrar a verdadeira animação aberta de nossas portas. Então, se entrarmos em nossos ativos de jogo, em nossos ativos de teste aqui, podemos abrir a porta. Podemos ver essas fontes. Se abrirmos isso, podemos ver que esta porta, se apertarmos Play, é na verdade a animação aberta. Então vamos em frente e duplicá-lo. Esta será a, oops, a porta aberta. E vamos em frente e adicioná-lo às animações da nossa porta. Então, arraste-o para cá. Agora, de volta à nossa porta de ficção científica, nós não precisamos, na verdade isso, nós não precisamos dela. Então, um animador aqui, vai, primeiro de tudo, apagar isso. Essa é a porta aberta. Agora temos essa transição para a porta aberta. Mas o que realmente queremos fazer é criar uma animação ociosa. Então vamos criar CO2, a porta de ficção científica. E vamos criar um novo clipe. E chamaremos isso de ocioso. Guarde isso. E vai fazer bem o que realmente faz. Então eu só queria te mostrar uma coisa aqui. E sempre que temos a animação padrão, podemos realmente alterá-la. Então podemos clicar com o botão direito aqui. Podemos configurá-lo como os estados de camada padrão. Assim, sempre que começarmos nosso jogo
, será no IDL. E então vamos em frente e fazer uma transição aqui para a porta aberta. E vamos criar um parâmetro para ele, e vamos torná-lo um booleano. E vai ser a inauguração. Vamos chamar-lhe a abertura. E se a abertura for verdadeira, então vamos abrir. Mas quando for falso, vamos clicar com o botão direito do mouse e fazer a transição de volta. Vamos em frente e fechar a porta, mantê-la ociosa. Então agora vamos arrastar o animador aqui em seguida, animações, e vamos tocar em Play. E eu só vou para o local e também para quem podemos fazer isso. Então, quando paramos, vamos ao local. E quando abrimos a porta, podemos ver que a porta se abre e depois causa e depois fecha. Então vamos ver qual é o problema aqui. Se formos para o nosso projeto, o EIDL está em loop. Vamos parar o loop no ídolo, e vamos parar o loop aqui. Vamos ver como isso parece. E o nosso jogo. Vá para, oops, eu continuo esquecendo que não devemos apertar a tecla de saída. Então agora em nossas cenas e nosso animador, se começarmos a abrir, a porta se abre e então fecha imediatamente
porque volta por causa do tempo de saída que temos. Então, vamos remover o tempo de saída aqui, definir a duração da transição como 0. E aqui também vamos remover o tempo de saída, definir a duração da transição para 0, salvar tudo isso, tocar novamente, e ir para nossas cenas. E vamos ver como isso parece. Então nós somos um ocioso quando estamos abrindo, a porta se abre e então nós queremos quando paramos de abrir, nós não adicionamos a condição para voltar. Não se preocupe com isso. Faça-o falso. Aperte o play novamente. E agora isso deve estar funcionando. Então, quando estamos abrindo, a porta, abre uma, queremos fechá-la. Bem, parece muito estranho. Então você pode ver que sempre que paramos, ele fecha imediatamente. Nós não queremos isso. Queremos que ele volte. Então tudo o que você precisa fazer é ir para essa transição, que faz a transição da porta, abrir o ocioso, e apenas adicionar um pouco de tempo aqui, um pouco de tempo de transição. Então vamos fazer isso, vamos ver, talvez apenas assim, ver como isso parece. Então é cerca de 0,2, 25, salve isso, aperte Play. E agora em nossa cena, vamos ver isso. Então, quando abrimos a porta, ela se abre, quando a fechamos, ela se fecha. Muito agradável. Ok, com isso feito, próxima coisa que precisamos fazer é realmente ir em frente e criar um script aqui. Então vá para nossos roteiros e vamos fazer isso um pouco menor. Vamos clicar com o botão direito do mouse, vamos criar um script C-sharp veio a ser o portal. Porta. Pressione Enter. Espere por isso. E agora vamos em frente e adicionar isso à nossa porta de ficção científica
e aqui, e vamos começar a codificar. Mas o que vamos realmente fazer? Bem, vamos lançar um desafio. Na verdade. Eu vou te dar um desafio e é configurar a animação. Então use o empreendedor Enter para abrir a porta quando entrarmos um determinado colisor de caixa e para fechar a porta, use o On Trigger. Nós nunca usamos isso antes, mas você pode ir em frente e procurá-lo. É muito simples, não há nada também. Finalmente, certifique-se de verificar se estamos colidindo com um jogador e não apenas com qualquer coisa porque
não queremos que nada esteja colidindo com uma abertura. Dito isso, pausar o vídeo agora e ir fazer o desafio. Ok, bem-vindo de volta. Então a primeira coisa que precisamos adicionar aqui é que precisamos criar um colisor de caixa aqui. Então vamos criar isso. Vamos movê-lo um pouco. Então vamos em frente e ajustado. E o que queremos fazer é realmente queremos que o nosso colisor esteja na frente da nossa porta. Então este será o colisor das nossas portas. Então, quando o nosso jogador entra nas proximidades da porta, oops, onde está a porta de ficção científica? Então vamos continuar mudando isso. Então, quando o jogador entrar nas proximidades da nossa porta, a porta abrirá. Então vamos em frente e fazer isso um pouco maior para que possamos sentir natural. Então, basta adicionar o máximo de tamanho possível ao seu colisor de caixa. Então, sempre que o jogador entrar neste lugar aqui, a porta vai abrir. Certo, ótimo, vamos guardar isso. Vamos parar de editar. Vamos voltar para a nossa porta. E aqui nós vamos, é
claro, em primeiro lugar, ir em frente e criar uma referência ao nosso animador. E vai ser chamado de meu animador. E nós estamos indo para obter os componentes do meu animador será igual para obter o componente que é o animador, e isso deve fazê-lo. A próxima coisa que vamos fazer é criar um empreendedor entrando aqui. E vamos verificar se o outro.com marca como jogador. E se for, vamos simplesmente pegar meu animador e
vamos definir o booleano para o que era chamado. Vamos em frente e copiá-lo. Então o animador copie o casaco de abertura volta para o nosso código colado aqui e certifica-se de que é verdade. E então vamos criar uma saída de açúcar. E vamos fazer o oposto. Nós ainda vamos verificar o jogador, mas a abertura deve ser definida como false. Vamos salvar isso, e vamos testar isso na Unidade. Então precisamos ter certeza de que o colisor de caixa como um gatilho toque e vamos manter o animador e aqui. Então, onde está a porta do portal? Onde é que está? Nós colocamos 0, então lá está. Então vamos a pé até ele. Ele deve abrir e, em seguida, quando sair em fecha, Muito bom. Agora ele abre, fecha, abre e fecha. Excelente. Agora a próxima coisa é, claro, que queremos fazer a transição de nível para nível quando alguma vez nós realmente passar pela porta e quatro agora a porta, bem, nós podemos passar por ela, mas vamos adicionar talvez um determinado objeto ou um edifício atrás dele para que o jogador não possa realmente, ou quem está jogando seu jogo não pode realmente ver através dele. Então vamos em frente e adicionar um objeto de jogo em nossa porta. Então vamos criar um objeto de jogo vazio, e vamos colocá-lo aqui na hierarquia. E esta será a nossa saída do portal. E nós vamos adicionar um,
também um colisor de caixa a ele. E nós vamos movê-lo vai torná-lo tão grande quanto a porta, na verdade, que é editada um pouco. Então vamos torná-lo tão grande quanto a porta porque isso é o que o jogador vai colidir com um ordenado para ir para o próximo nível, sony, precisamos ter certeza de que sempre que nosso jogador realmente passar por esta porta, ele vai bater o colisor e não apenas por algum motivo, mover preso. Então vamos expandi-lo. Então sim, Assim como isso, talvez torná-lo um pouco mais grosso, mas certifique-se de que o jogador não pode realmente chegar a ele do outro lado, ou isso não vai mesmo ser um problema se você escondê-lo. Realmente legal. Então isso fez com segurança. Certifica-te de que é o gatilho. E então vamos em frente e adicionar um componente aqui, que vai ser o script. Então vamos criar um novo script C-sharp que vai ser a saída do portal. E tudo bem, ótimo, então não abriu sozinho pela primeira vez. Então vamos adicionar a saída do portal e aqui, o portal de saída e aqui. E vamos abrir isto e ver o que vamos fazer lá dentro. Então eu acho que o início e a atualização não serão necessários. Vamos usar o Scene Manager. Então Unity motor bots gerência sênior. E aqui vamos criar o no açúcar Enter. E vamos verificar se o outro é um jogador. Então compare isso com a camada. Tudo isso agora é coisas básicas que fazemos. E então aqui o que vamos fazer é simplesmente fazer a transição para o próximo nível. Então vamos chamar o gerente de cena. Ei, gerente de cena, pode nos carregar uma cena? E qual cena você deseja carregar enquanto Scene Manager, você
pode nos dizer qual é a cena ativa atual? Então pegue a cena ativa e nos diga o índice de construção dela. Ótimo, então agora que sabemos disso, vamos em frente e adicionar um a isso. E isso é basicamente tudo que conta para fazer. E vamos salvar isso de volta. E mais uma vez, isso está no índice construído. Então, não, eu não queria fazer isso. E nosso BuildSettings aqui, temos o nível para o nível um não está lá. Então vamos adicioná-lo. Vamos mover isso um pouco para cima. Então temos o menu principal. Queremos o terreno aqui. Então, qual era o nível 2? Então o playground e depois temos o nível um, e finalmente temos o nível 2. Vamos salvar tudo isso e vamos ver o que foi até o nível um. Então vamos clicar duas vezes no nível 1, 0. Certo, então o nível 1 era todos esses prédios. O playground era o nosso playground básico. O menu principal era o menu principal e o nível dois é o nível com 0. Tudo escuro aqui. Ótima. Então vamos guardar isso. Vamos tocar no Play. E agora, quando nos movemos para nossa porta, uma porta, então ela se abre e passamos por ela. E então fazemos a transição para o próximo nível. Muito legal. Então, agora que, isso está feito, vamos em frente e adicionar um par de coisas aqui. Então a primeira coisa, nós não queremos que seja instantâneo, nós realmente queremos ter uma co-rotina aqui. Então, se você se sentir à altura do desafio, vá em frente e crie sua própria co-rotina. Antes que eu faça. Então, vamos criar um atraso de saída de nível. E aqui vamos ceder, devolver o novo peso por quatro segundos. E vamos apenas colocar em um fora por enquanto. Mudaremos isso mais tarde. Estes ponto-e-vírgula devem estar lá fora. E agora vamos realmente ir em frente e usar o gerenciador de cena para carregar. E em vez disso aqui vamos começar a gravação, que é a saída de nível. Muito agradável. O que queremos fazer é que realmente queremos começar a controlar a escala temporal da discussão. Por que eu quero isso? Bem, porque queremos, porque estamos atrasando o movimento. Deixa-me mostrar-te o que acontece. Se acertarmos no Play. Se apertarmos Play, podemos ver que quando nos movemos em direção à porta, nos movemos em direção à porta que se abre. Nós nos movemos através dele. E então leva 1 segundo, mas não é muito agradável. Você sabe, sempre que você realmente quer começar a fazer a transição, você quer atrasar tudo. Então o que nós vamos fazer é aqui, nós estamos realmente indo para acessar o ponto de tempo, del dot escala de tempo. E vamos definir a escala de tempo para 0,1 f. Então, desta forma, tudo desacelera. E então, quando nós realmente passar para o próximo nível, nós vamos definir a escala de tempo de volta para um. Então aqui, nós vamos pegar o tempo,
tempo, por favor, tempo, escala de tempo. E vamos ajustá-lo de volta para 1.5. Então, o que acontece quando batermos no Play? Tudo desacelera no jogo. Tudo desacelera quando fazemos a transição. Você pode ver que tudo está em câmera lenta, mas você notou talvez isso agora. É muito legal, na verdade. Mas talvez, você deve ter notado que nós não estamos realmente usando 1 segundo para ir para o próximo nível. E isso é porque estamos esperando pela imunidade dos segundos. Como podemos mudar isso? Bem, podemos usar em vez de esperar quatro segundos, podemos usar esperar por quatro segundos em tempo real. Guarde isso. E agora, novamente, vamos demonstrar esse sucesso Play. E agora, quando entrarmos pela porta, pode ficar com ele se achar que é muito bom. Agora, quando nos movemos pela porta, levará 1 segundo para ir para o próximo nível. Muito legal. Bem dito isso, espero que você tenha gostado do vídeo e eu vou vê-lo no próximo.
61. SEÇÃO BÔNUS - State: Bem-vindo de volta, Meus desenvolvedores de jogos favoritos. Neste vídeo de C avançado e unidade, vamos criar um Q. Yep, isso é tudo. Então não, na verdade, quando tínhamos jogado, bem, você pode ver que agora podemos nos mover. Temos este cubo, e agora, quando atingimos o tipo em qualquer lugar que
quisermos, podemos ver que o cubo foi transposto lá, mas não podemos mais nos mover. Uau, que truque legal. Não, na verdade, esta é a primeira parte de nós realmente certificando-se de que estamos recebendo o ponto exato e correto. Talvez não consigas ver, mas está lá. Se formos e olharmos, o cubo está no ponto em que batemos com um reelenco. Então não vamos perder mais tempo e vamos começar com C-sharp avançado e unidade. o Entãooque eu não ouvi, eu adicionei alguns quarteirões. Reduzo a distância. Nossos monstros podem procurar por um certo ponto. E o que eu tenho também é que eu só
mudo as armas aqui para começarmos com uma pistola. Nada demais, apenas para ter mais flexibilidade em testar coisas. Certo, com isso feito, primeira coisa que faremos é ir em frente e abrir nosso script de camadas. Então aqui, este é o nosso jogador e é aqui que vamos estar lidando com tudo. Então vamos fechar o agachamento, parar agachar, saltar
o movimento da câmera,
o movimento do jogador e o pequeno contador. Então podemos nos concentrar no nosso gancho de luta. Ok, ótimo. Então a primeira coisa que vamos fazer é ir em frente e criar um método aqui. Então vamos em frente e criar um método que vai ser chamado de tiro de gancho punho. Começa. E você vai ver o que temos que vamos fazer neste método vai ser, claro, nulo e podemos torná-lo privado. Não se preocupe com isso. Então vamos abrir isso e começar a codificar. E nós vamos,
claro, chamá-lo aqui mesmo. Então vamos chamar-lhe o identificador. Os hotshots começam dentro da atualização. Então, a primeira coisa que vamos fazer, queremos começar a lançar o nosso gancho sempre que entrarmos algo assim. Então vamos criar uma condição if e verificar a entrada. Desça e com o código do E. E o que vamos fazer aqui? Bem, vamos lançar um raio e com base nesse raio, a posição em que ele bate, vamos ter um raio batendo lá e então vamos fazer outras coisas. Então nós vamos criar um novo elenco het. Vamos chamar-lhe a cabeça. E aqui vamos verificar se a física. O reelenco e a origem serão a posição da cabeça da câmera. E a direção será minha câmera chapéu ponto para a frente. E vamos simplesmente enviar a informação para a cabeça. Então, para a cabeça re-elenco. E se o fizermos, vamos fazer algumas coisas. Bem, o que queremos começar primeiro, vamos criar um pequeno objeto,
e esse objeto será teletransportado para a posição que tínhamos em nosso mundo. Então vamos em frente e criar uma referência aqui. Vai ser, vamos apenas adicionar isso. Vai ser a nossa livraria. E aqui vamos criar uma transformação pública. E vamos chamá-lo de transporte de ponto de ataque. Então este é o objeto que se teletransportará. E o que vamos fazer aqui é criar o ponto de cabeça ou obter o ponteiro de cabeça, transformar essa posição. E vamos movê-lo para o ponto de ataque. Um grande, e vamos para a Unidade. Aguarde isso para compilar. E aqui, vamos em frente e criar um pequeno cubo. Então clique com o botão direito aqui, um objeto 3D, um pequeno cubo. Vamos redefinir a transformação. Coloque-o aqui. Então este é nosso pequeno cubo e vamos dar-lhe o material da bala. Só precisamos de algum tipo de material para ver, vamos guardar isso. Talvez possamos fazer um EBIT menor. Então vamos abrir a transformação e podemos fazer isso 0,5 em todos os lados. Tão bom, guarde isso, aperte Play. E agora temos a nossa pústula. Estes são o nosso mestre lá. E agora, quando escolhemos algum tipo de posição, digamos aqui. Quando tivemos o tipo, sim, não
designamos o jogador. Vamos em frente e atribuir o cubo aqui para o jogador. Guarde isso no nosso jogo. E agora nós simplesmente apertamos a tecla E e você pode ver que ela está lá. E então podemos acertar lá, ali. Você pode vê-lo lá e ali e ali e em todos os lugares. Onde quer que batamos, podemos mover o nosso pequeno quarteirão. Muito bom agora que isso está funcionando, vamos em frente e criar um par de estados para o nosso jogador. Agora, o que são estados? Deixe-me mostrar-lhe em primeiro lugar, e depois continuaremos. Então vamos chamar isso de estados da camada D. E aqui vamos criar uma enumeração privada. E vai ser chamado de estado. Este é um numerador, o que significa que ele tem múltiplos, digamos, rostos ou sites. Então vamos criar um estado normal e aqui, e vamos criar superestados mais tarde. E nós também vamos criar uma variável aqui que vai ser um estado privado que nós escrevemos este estado. E agora podemos escrever este estado aqui. E vai ser chamado de estado, mas com um S não maiúsculo ou minúsculo bem aqui. Então o que temos aqui é que podemos adicionar diferentes tipos de estados. Com base nesses estados, teremos comportamentos diferentes do nosso jogador. Então, por exemplo, uma atualização. Nós vamos criar uma instrução switch. E a instrução switch terá o estado como um caso de switch. Então aqui vamos verificar indica que nosso estado é normal. Então teremos todo o nosso comportamento normal. Então cortamos isso, colocamos aqui,
e é claro que seremos capazes de começar a lidar com o nosso gancho. E além disso indica o padrão, vamos apenas quebrar 0 e esquecemos de adicionar a quebra aqui. E vamos adicionar uma pausa aqui. Então o que acontece aqui é se estamos em um estado normal. Então, se estamos em um estado normal ou o jogador pode se mover, a câmera pode se mover, saltar, podemos agachar, podemos lidar com o nosso gancho e podemos fazer todo o resto. Mas quando estamos em um estado diferente, queremos ter diferentes manobras e comportamentos do nosso jogador vai ver isso muito em breve. Então, aqui vamos nós. Claro, sempre que começarmos nosso jogo, nosso estado será igual ao ponto normal do estado. Então começamos em um estado muito normal. Agora, sempre que nós realmente começar a lidar com o nosso gancho tiro ou quando nós atirar algo, e então nós queremos mudar para outro estado que será o gancho tiro jogador voador ou fazer, ou a livraria vai começar a pilotar nosso jogador. E isso fará parte do seu desafio. Seu desafio é criar o switch. Então, no gancho tiro voador estado e para o nosso enum. Então você vai criar um, outro estado. E a maneira como você criou, como aqui, basta adicionar um pouco de vírgula e, em seguida, criar o segundo estado. Você terá que chamá-lo de jogador de flanco de gancho, ou você pode chamá-lo de qualquer coisa, contanto que represente nossa jogada de voar por causa do tiro de gancho. E então você vai precisar mudar de um estado normal, o gancho tiro jogador voador quando atingimos um certo ponto após o tipo. Então pausar o vídeo agora mesmo e ir fazer um segundo estado. Ei, bem-vindo de volta. Então aqui vamos adicionar uma vírgula e vamos chamar isso jogador voador gancho. Vamos guardar isso. Agora aqui em baixo. Sempre que batermos, vamos transferir ou transpor a posição de nossos pontos de vida transformados para a posição da cabeça. E também vamos mudar o estado que temos em um estado do jogador voador gancho. Então agora este estado, a última vez que dissemos que seria como o jogador de flanco de gancho. Tudo isso aqui não vai funcionar. E vamos testar isso no nosso jogo, então vamos jogar. Podemos mover-nos, saltar, podemos olhar com a nossa câmara. Mas quando tínhamos o tipo e as caixas lá, você pode ver que você não pode mais se mover com o mouse. Você não pode mais se mover com as chaves WASD e tudo está preso. E isso é porque não estamos mais no estado normal. Estamos no estado dos jogadores voadores. Então, finalmente, o que queremos fazer sempre que estamos no estado do jogador voador livraria, nós vamos realmente criar uma alça de vazio privado, tiro de gancho, movimento. E aqui vamos criar um outro estado,
que é o estado em que o nosso gancho atirou no jogador voador. E aqui nós vamos simplesmente chamar o método que é tratado tiro gancho, movimento, e nós vamos quebrar. E no próximo vídeo, tudo o que precisamos para adicionar este. E no próximo vídeo, vamos frente e implementar o movimento de tiro do gancho do punho, onde vamos começar a mover o nosso jogador em direção ao ponto em que temos o nosso pequeno cubo. Com isso dito, espero que goste. Este é o primeiro vídeo da nossa implementação de gancho ou gancho de gancho, o avançado código C-Sharp, se você ainda está confuso sobre estados, vá junto e tente olhar para o código mais uma vez. Veja como criamos uma
enumeração, veja como colocamos o estado normal no início. Então temos baseado em nosso estado, podemos fazer certas coisas e com base em outros estados fim de semana para outras coisas certas. Com isso dito, espero que goste e vejo-te no próximo.
62. Jogador voador com tiro: Bem-vindo de volta, Meus desenvolvedores de jogos favoritos. Neste vídeo, nós estamos realmente indo para mover o nosso jogador duas palavras, a posição de gancho tiro. Então, quando batermos no jogo, vocês verão que podemos, na verdade, quando atingimos um certo ponto, podemos nos mover em direção a esse ponto e então caímos quando chegarmos ao nosso destino. Mas não só isso, nós também adicionamos a capacidade fazer com que nosso jogador pare seu movimento enquanto estiver no ar. Agora, quando a espinha dele, podemos apertar a tecla E e depois parar. Então agora temos esse tipo de movimento agradável e o ar. Então não vamos perder mais tempo. E onde é isso? Bem, o que está acontecendo aqui? Então não vamos perder mais tempo e vamos começar. Ok, então agora nós queremos começar a mover a camada para a posição do nosso pequeno cubo, que significa para a posição onde o nosso gancho, ganchos. Vamos em frente e fazer isso. Primeiro de tudo, vamos abrir nosso roteiro aqui. Então este é o jogador. Vamos subir aqui e vamos criar duas variáveis. Um para verificar a posição da posição fechada do jarrete. Então é um fator três e vai ser chamado de posição de gancho. E outra variável de valor para manter o controle da velocidade de disparo do gancho. Então vamos criar um carro alegórico público, velocidade de disparo de gancho. E vamos colocar em cinco F agora. A próxima coisa que vamos fazer é definir a posição de choque do gancho aqui. Então aqui em baixo, sempre que nós realmente viciado ou encontrar a posição e transição para outro estado, nós vamos tomar esta posição livraria e vai ser igual ao ponto de sucesso. Bastante simples, nada muito complicado. A próxima coisa que vamos fazer é aqui, vamos começar a calcular a direção em que nossos jogadores devem estar se movendo e ordenado que irá criar um vetor três, vamos chamar isso de direção de arremesso de gancho. E será igual à posição do gancho menos a posição do ponto de transformação. Assim, a posição do nosso jogador normalizou. Então o normalizado, bem, fazer nosso vetor de uma magnitude de um. Então vamos guardar isso. Então esta será a direção. Então vamos colocá-lo aqui, logo acima da direção do nosso movimento. E a próxima coisa que vamos fazer é começar a mover nossos jogadores. Então nós já temos o meu controlador, e porque temos um controlador de personagem, isso significa que vamos usar o movimento e vamos colocá-lo na direção. Vamos multiplicá-lo pela velocidade de disparo do gancho. E, claro, vamos torná-lo taxa de quadros e dependente. Então vamos multiplicá-lo pelo time.deltaTIME. Então vamos guardar isso. Vamos voltar e unir, e ver se isso funciona. Então salvamos tudo isso. Nós jogamos e agora devemos ser capazes de começar a se mover, como você pode ver. Mas se tiveres algum movimento estranho, deixa-me ir até aqui e ver a cena. Você pode ver que estamos meio que saltando. Se você tiver esse problema, vá para o player, vá para o animador e remova o movimento Aplicar raiz, salve-o na reprodução. E isso deve começar a funcionar completamente bem. Então, apertamos a tecla E e você pode ver o topo. Consegues ver onde está o nosso jogador? Está bem, tão bom. Estamos nos movendo a uma certa velocidade para a posição bem aqui na parte superior. Mas o problema é que no jogo não podemos nos mover. Então vamos em frente e adicionar o movimento da câmera. Então aqui nesta declaração do interruptor, vamos em frente e copiar o movimento da câmera e colá-lo aqui sob o gancho tiro jogador voador. E agora você verá em primeira mão como os estados realmente operam. Agora temos o movimento da câmera. Então, quando batemos em Play, sempre que realmente ganharmos o gancho e aqui para que ainda
possamos nos mover, podemos pular, podemos fazer qualquer coisa, mas ainda podemos mover nossa cabeça. Agora o que queremos fazer, bem, ainda podemos filmar. E isso porque faz parte do sistema de armas. Ok, então a próxima coisa que queremos fazer é realmente ter a habilidade de controlar nossa velocidade. Agora está muito lento. Podemos aumentá-lo, mas o que queremos é que a nossa velocidade seja controlada pela distância entre nós e a posição da loja de falcões. Então vamos em frente e fazer isso. E aqui vamos criar um carro alegórico. Vamos chamá-lo de modificador de velocidade de disparo de gancho. E é claro que vai ser igual ao vetor 3, a distância entre
a nossa posição de ponto de transformação. Então, o jogador eo gancho tiro posição. Então agora este será um modificador de velocidade e nós vamos multiplicá-lo aqui. Então nós vamos, nós vamos estar considerando isso, então vamos copiar esta velocidade de disparo gancho adicionado aqui, salvar tudo isso. Então agora com base na distância que, que está sendo calculada a cada vez, nossa velocidade aumentará quando estivermos muito longe e diminuirá à medida que nos aproximarmos. Então vamos em frente e realmente aqui no inspetor. Então, agora, quando tocamos no play e devemos ver que quando nós, se eu souber, eu não tenho certeza se você notou, mas sempre que nós, vamos tentar isso de novo. Então vamos diminuir os dois. Vamos tocar no play. Então agora você deve ver que quando estamos voando no início, é muito rápido e então ele desacelera apenas um pouco. Então lá vai você. Você já percebeu como isso diminui. Ótima. Agora, a próxima coisa que queremos é sempre que chegarmos ao nosso destino, queremos, bem, voltar ao estado normal e ter gravidade e todas essas coisas legais. Então aqui embaixo, nós também vamos verificar. Se o nosso vetor de 3 pontos distância entre a posição de transformação e a posição de disparo do gancho é, oops, é menor que dois f. Então, basicamente, estamos quase lá. Nós vamos voltar o nosso estado para
um estado de operações normal é igual ao estado ensinado um normal. Assim teremos a gravidade novamente e seremos capazes de nos mover e fazer todas as nossas coisas. Então guarde isso no nosso jogo. E nós batemos no Play. E agora podemos acertar o tiro. Quando chegarmos à posição, começamos a cair novamente. Muito agradável. Então vamos tentar de novo. Voamos, chegamos lá e caímos. Tentamos isso. Chegamos lá. E depois caímos. Então a queda é um pouco rápido demais e isso é por causa de algo que não está certo com o nosso jogo e nós vamos corrigi-lo mais tarde. Mas, por enquanto, quero fazer algo muito importante. E isto é, eu quero realmente fixar a velocidade do nosso oxigênio. Então, às vezes, esse problema pode estar em, você pode ter encontrado esse problema sozinho. Não é muito óbvio e aqui, mas às vezes a velocidade é muito lenta sempre que chegamos à nossa posição. Então, queremos prender o que está agachando? Bem, deixa-me mostrar-te. Aqui dentro. Vamos criar um carro alegórico. E um flutuador vai ser a velocidade de disparo de gancho ou a velocidade mínima de disparo de gancho, e vai ser igual a 12. Então esta será a velocidade mínima. Agora isso, eu acho que é exagerado e, em seguida, o máximo será igual a 50 f. E o que nós vamos fazer aqui é que nós estamos indo para obter nosso modificador de velocidade de disparo gancho irá cortar tudo isso. Vamos colocá-lo aqui, e vamos apenas remover essas duas linhas. E em vez de apenas configurá-lo para o vetor 3, vamos realmente ir em frente e obter grampo de ponto F matemática. E este molusco dá o valor entre o mínimo dado e o máximo. Então o que isso faz é mesmo que nossa velocidade fique abaixo disso, digamos 12, o que eu acho que é exagerado, então ele vai ficar em 12. Então vamos dizer que estamos voando a uma velocidade de 0,2, que é muito lento, então o que isso vai fazer é que ele vai realmente colocá-lo em 12 F. E então, se nós estamos voando muito rápido, se nós estamos, se nós colocarmos um tiro de gancho no final do ea distância está na velocidade máxima não excederá. Então isso será muito útil mais tarde se, por alguma razão,
tivermos alguma velocidade exagerada ou velocidade subestimada. Então vamos ficar com ele. Então o primeiro valor será o valor real que queremos. Vamos em frente e adicionar um espaço aqui porque não queremos que as linhas sejam muito longas. Vamos adicionar um valor mínimo, que é a nossa velocidade mínima. E vamos adicionar o valor máximo, que é o nosso tiro de gancho, velocidade máxima. Ótima. Vamos fechar isso, ter o ponto-e-vírgula, salvar tudo isso. E agora devemos ver, embora isso não seja óbvio, porque não somos. Em velocidades muito altas. Vamos gancho. Ok, ótimo. Então agora nossa velocidade é muito melhor, mas você pode ver que há algo errado. Então você pode ver aqui a velocidade no y, a gravidade continua aumentando. E à medida que voamos, podemos ver que a gravidade aumenta e estamos caindo cada vez mais rápido no chão, o que é muito irritante. Não é natural e não nos sentimos como se estivéssemos realmente voltando a um estado normal, como se estivéssemos sendo esmagados. Então o que vamos fazer é criar um método aqui. E vai haver um vazio privado. Reiniciar a gravidade. E aqui vamos simplesmente definir a velocidade do ponto y igual a 0 F. E onde vamos chamá-lo aqui depois de alcançarmos nossa distância ou vamos redefinir nossa gravidade, vamos salvar isso de volta em nosso jogo. E devemos ver muito mais melhorias. Então, quando
batermos no play, veremos que quando esperávamos o tiro, vamos cair muito e melhor. Mais uma vez, caímos muito melhor. E você pode ver que o y não está apenas aumentando. Quando apertamos a tecla E, estamos lá, caímos e depois reiniciamos. Nós caímos lentamente cada vez que nos movemos através do nosso mundo com o nosso gancho de tiro. Bastante agradável. Então agora vamos continuar. Você pode ver que quando esperávamos filmar, não
podemos mais usá-lo até chegarmos ao nosso destino e nossas costas ao nosso estado normal. Então, queremos mudar isso. Queremos ser para adicionar a capacidade para o nosso jogador para realmente parar o gancho tiro meio do caminho e, em seguida, cair se ele pressionar a tecla novamente. E isso vai fazer parte do seu desafio. Seu desafio é parar o movimento do gancho. Então pare nosso jogador voando em direção ao ponto de choque do gancho no ar. E então eu vou te dar algumas dicas. Verifique se pressionamos o tipo enquanto voamos. Se colocarmos o estado de volta ao normal, e é claro que terá de repor a gravidade. Então, com isso dito, pausar o vídeo agora e ir fazer o desafio. Ok, bem-vindo de volta. Agora, você pode ter usado isso aqui, então você estaria checando o E enquanto estava no meio do nosso movimento. Mas eu vou fazer apenas um pequeno truque bacana aqui. E nós vamos realmente criar um método para lidar com isso. Então vamos criar um privado e isso não terá, não
será um vazio, ele realmente terá um tipo de retorno. Então, esta é uma ótima maneira de apresentá-lo a um, a um método que tem um tipo de retorno porque nós nunca realmente usamos um. Ok, então nós vamos chamar isso de entrada de teste para baixo gancho tiro. E aqui vamos simplesmente voltar. Então isso significa que nós realmente retornar um valor. E porque é do tipo booleano, vamos devolver um booleano. E o que é esse booleano? Bem, vai ser a entrada da tecla E. Então vamos copiar isso. Volte aqui,
cole-o aqui, cole-o aqui, feche o ponto-e-vírgula, e guarde isso. Então agora aqui, em vez de verificar o 0x0, nós podemos realmente ir em frente e anotar o teste, tiro de gancho. Guarde isso, e isso voltará a ser verdade. Então, porque este tem um tipo de retorno de Booleano, ele vai retornar verdadeiro quando atingimos o Like. E também aqui vamos testar enquanto estamos voando, se o gancho de teste caiu. Se for verdade, significa que apertamos a tecla E novamente enquanto voamos. Vamos pôr o estado de volta ao normal e vamos repor a gravidade. Então vamos testar isso. E se você não criou a mãe, não se preocupe com isso. Eu só queria acrescentar isso como um lugar perfeito para adicionar esta lição. Então nós tivemos o tipo, nós voamos,
ok, então nós apertamos o QE, apertamos a tecla E novamente e nós paramos de voar. Apertamos a tecla E que tínhamos, de novo, começamos a voar, certo? Então agora podemos parar no meio do ar enquanto estamos voando. Então este é o fim do nosso vídeo e isso é o que queríamos fazer neste. E no próximo, nós vamos realmente adicionar a capacidade de saltar com o nosso jogador. Então, enquanto estamos voando, digamos que chegamos aqui, pressionamos o botão de espaço e voamos isso nos permitirá chegar a lugares mais altos, como por exemplo, este prédio aqui, ou este pequeno prédio aqui também. Então, com isso dito, espero que você goste e te vejo no próximo.
63. Salto no Ar meio: Bem-vindo de volta, Meus desenvolvedores de jogos favoritos. Neste vídeo, nós realmente adicionamos a capacidade de saltar durante o engate. Então, agora, quando atingimos o tipo, voamos e quando tínhamos o espaço, nós realmente pulamos e ficamos em cima das coisas. Então isso exigirá muitos ajustes, muita concentração de você, especialmente porque o código é um pouco complicado, mas é para isso que você se inscreve. Então agora chegamos a esta posição, começamos a filmar e reiniciamos o tiroteio. E nós podemos atirar nosso foguete em segurança a partir desta posição e matar nossos inimigos para baixo. Eles são muito legais. Então não vamos perder mais tempo e vamos começar. Oh, ok. Então vamos começar com o salto no ar. Então vamos para o nosso código e aqui e o nosso jogador. E nós vamos criar um método aqui que vai testar para o salto. Então vamos criar uma bola privada que é entrada. Pular. E nós vamos retornar a entrada, obter o keydown e o código de tecla, o espaço. Ótima. Agora, enquanto estamos todos, enquanto estamos voando no meio do ar, quando apertamos a tecla espacial, queremos saltar para cima. Por isso. Queremos preservar o nosso impulso. Então nós vamos criar, e aqui um método, quero dizer, desculpe, uma variável que vai ser o momento do personagem voador. Então, vetor privado 3, impulso de personagem voador. E nós vamos colocá-lo na camada ou movimentos. Então vamos entrar no movimento do jogador e abri-lo se você não tiver fechado. E aqui mesmo antes de adicionarmos o movimento ao controlador de personagens, vamos aumentar o movimento do jogador
pelo momento voador vezes tempo ponto delta tempo. Ok, ótimo. Vamos guardar isso. Agora a próxima coisa que queremos fazer é realmente adicionar amortecimento ao nosso impulso. E o que é amortecimento? Deixe-me mostrar-lhe a tinta de uma hora. Então, digamos, por exemplo, que estamos voando e então chegamos à barra de espaço por aqui. Então vamos continuar voando com um certo impulso. O que queremos fazer é queremos sempre que voamos. Por exemplo, digamos que pressionamos a barra de espaço aqui. Continuamos a voar. Mas o que queremos fazer é que realmente queremos começar a diminuir. Então, queremos começar a diminuir a velocidade até finalmente pararmos aqui. Então, para fazer isso, vamos fazer algumas coisas agora essas linhas são um pouco complicadas, mas não se preocupe, vamos passar por elas. Então, primeiro de tudo, vamos verificar se realmente temos algum tipo de impulso de vôo. Então nós vamos copiar isso, colocá-lo aqui, e se a magnitude disso é maior que 0, então isso significa que nós já estamos, nós já temos algum impulso voador. Vamos começar a amortecimento. A primeira coisa que vamos fazer é criar uma quantidade de redução. Então nós vamos obter a quantidade de redução flutuante e ele vai ser igual a um. Talvez tenhamos que mudar isso mais tarde. Teremos que ajustá-lo. Talvez você precise ajustá-lo com base no
seu jogo, na sua taxa de quadros e em tudo o resto. Mas vamos continuar. A próxima coisa que vamos fazer é começar a reduzir nosso impulso de personagem voador. Então, ele vai ser igual a menos igual o momentum caractere de vôo real vezes a quantidade de redução vezes tempo ponto delta tempo. Está bem? Então isso continuará produzindo nosso impulso até que finalmente se torne 0. E então vamos verificar se nosso termo de carro voador momentum ponto magnitude chega a um certo ponto onde é menor que 1 f, então vamos em frente e ajustá-lo de volta para o vetor 3, 0. E isso significa que ele se tornará 0 no x, no y e no z. Então nós obtemos o valor da redução. Começamos a reduzi-la. Em seguida, verificamos se ele está abaixo de um determinado limite, então nós vamos defini-la imediatamente de volta para 0 porque
usar, usando este direito aqui nunca irá levá-lo para 0 real. E finalmente, vamos verificar e nosso movimento de gancho, lidar com o movimento hotshot. E aqui nós vamos verificar se nós realmente, nós vamos testar para o salto de entrada. E se tivermos um salto de ponto final, vamos criar um flutuador com um pouco de impulso extra. Então isso vai nos ajudar a empurrar um robô para a frente. E então nós vamos realmente adicioná-lo ao nosso ímpeto de caráter fino, ou nós vamos realmente criar o nosso impulso de personagem voador. Assim, o momento do caractere do folheto é igual à direção da estante porque precisamos adicioná-lo na direção. Vai ser multiplicado pela velocidade de disparo do gancho. Então, a velocidade do gancho. E vai ser multiplicado pelo impulso extra que temos. E então nós também vamos, este é um método que precisamos adicionar esses dois colchetes. E nós também vamos definir o estado de volta para, bem, o estado normal porque queremos adicionar a gravidade e tudo isso. Então isso realmente nos impede. E nós também vamos redefinir a gravidade. Vamos guardar isso e vamos testar isso agora. Ele vai, é claro, precisar de um pouco de ajustes. Então, agora, quando atingimos o espaço, quando
tocamos o jogo, podemos ver que quando nos ligamos a um lugar, atingimos o espaço. E você pode ver que ainda temos impulso acontecendo. Agora o único problema aqui é que quando
paramos, temos muito impulso e não está produzindo o suficiente. E o outro problema é que sempre que atingimos esse ponto, paramos e não estamos voando. Temos apenas um impulso para a frente e queremos mudar isso. Então, a maneira como mudamos isso é que vamos realmente adicionar algum impulso para cima. E para adicionar um pouco de impulso para cima, eu vou te dar um desafio. Então seu desafio é adicionar velocidade ascendente. Então configurou a velocidade de salto que você tem. Quando pressionamos o espaço lá dentro, queremos que o nosso jogador suba um pouco. Então, vou te dar alguns eventos. Use o vetor para cima. Então, com isso dito, pausar o vídeo agora e ir para o desafio. Ok, bem-vindo de volta. Então aqui vamos adicionar outro flutuador, que vai ser a velocidade de salto e vai ser igual a 40. Então talvez precisemos ajustar isso mais tarde. E aqui vamos ter o nosso impulso de caractere de linha,
esperança impulso de personagem mentiroso. E nós vamos adicioná-lo com o vetor 3 pontos cima vezes a velocidade de salto para cima. Então guarde isso em nosso ganho. Quando batermos no jogo. Agora, sempre que
filmámos em algum lugar ,
batemos na barra espacial e não, não temos velocidade suficiente. Então, de novo, saltamos. Meio que funciona, mas precisa de um monte de ajustes. Então vamos em frente e ajustá-lo. Ei, então eu mexi algumas coisas. Então deixe-me apenas dizer-lhe o que você deve fazer e o que você deve esperar de cada parâmetro. Primeiro de tudo, entre no modo de jogo e certifique-se de que você tem a sincronização v ativada. Isso vai mudar muitas coisas. E o que isso faz é que geralmente deixe-me mostrar a vocês quando apertamos Play, o FPS deve estar estável em torno de 60. Agora esta não é a melhor solução para ter isso. Estamos usando Time.DeltaTatime, mas às vezes quadros apenas ir para cima e para baixo. Isto talvez estabilize um pouco as coisas. Mudei o modificador de gravidade para cinco. Mudei o John Pi para 20. Mantive o anzol às duas e deixa-me mostrar-te o que codifiquei. Então aqui, em primeiro lugar, a quantidade de redução é para e o que isso faz, ele vai acelerar o processo de redução de sua velocidade. Então, por exemplo, se é zero ponto 85 para, deixe-me apenas mostrar-lhe e nós apertamos Play. Então, agora, quando ganharmos nossa chance, saltamos. Mas o problema é que leva muito tempo até reduzir sua velocidade. Então nós, na verdade, fomos retirados. Então, se entrarmos aqui, saltarmos espaço e você pode ver que leva muito tempo e ainda estamos nos movendo. Então, colocar isso é muito melhor. Mas a desvantagem disso é que nós realmente paramos muito bem. É um pouco interrompendo como se estivéssemos cortando as coisas. A outra coisa que mudei aqui é isto. Então é o limiar em que colocamos, paramos o impulso do personagem voador, o impulso. E eu coloquei em cinco. Eu acabei de experimentá-lo e por isso é cinco e isso é o que a solda quando você, quando o impulso de seu vôo começa, por exemplo, para cinco, ele vai parar. E você pode ajustar isso também e ver como isso afeta. Então este é o, quando nosso movimento é cortado, você não quer que ele, nós não queremos ter um muito grande porque dessa forma você quer sentir o salto e assim por diante. E a próxima coisa aqui em baixo, eu mudei isso para um mais igual. Então, não sei por que isso muda muito as coisas, mas muda, ajuda a criar um salto mais suave para a frente. E eu também fiz o impulso extra, ou na verdade eu mantive em 14 e fiz a velocidade de salto 70. Então isto é o que eu tenho no final. E tudo isso é baseado em sua preferência. Então eu quero que você vá lá fora e teste tudo isso. Então, agora, quando jogarmos, vamos ver. Então esses prédios são difíceis de chegar porque eles são muito estreitos. Mas este, por exemplo, se acertarmos em um determinado ponto e isso é o que eu quero dizer com dependendo de como você quer ter. Então talvez queiras ter o teu jogador, se ele tiver o gancho aqui e saltar espaço, ele pode chegar ao topo. Para mim, por exemplo, eu quero ter despesas ou talvez deveria em, em torno deste ponto. E então, quando ele salta, ele fica aqui e é realmente muito estável e muito agradável. Agora podemos chegar a lugares altos e começar a atirar em nossos inimigos. Então vamos testar isso. Tente este cume estreito. Acho que gosto muito desta livraria. É um muito bom. Você pode ajustar isso ao redor. Você pode adicionar sua própria velocidade, sua própria velocidade para o jogador. Então depende de como você quer ganhar tiro para se sentir. Dei-te os parâmetros que precisas de ser. Então vá em frente e ajustá-los com o dito,
Espero que você tenha gostado do vídeo. E no próximo, vamos em frente e
começar a atirar algum tipo de tiros de gancho. Então, por enquanto só temos esse cubo que fica preso em algum lugar e nossa peça voa lá. Não, queremos ter um tiro de
gancho real realista que toque a posição em algum lugar no ar. E quando toca, começamos a andar com o nosso jogador. Mas até lá, vejo-te no próximo.
64. Hookshot: Bem-vindo de volta, Meus desenvolvedores de jogos favoritos neste vídeo, em vez de simplesmente colocar um pequeno quadrado em algum lugar no nosso mapa. E aqui nós realmente adicionamos este pequeno cilindro que nos segue e parece um pouco desonesto. Então, agora o que acontece quando tivemos algo parecido em algum lugar? Podemos ver que ele vai lá e quando ele chega lá, nós pulamos e estamos em nosso lindo avião. Então agora nós realmente criamos um gancho. Então, não só temos uma garra, como também
temos um gancho. Não vamos perder mais tempo e vamos começar. Oh, ok, vamos começar. A primeira coisa que precisamos fazer como nós, enquanto nós, o que realmente queremos fazer aqui é criar
uma maneira de realmente ir em frente e enviar um gancho para a Praça Vermelha. E quando ele chegar lá, então nosso jogador vai começar a voar. Então vamos para o nosso código e vamos
subir e fechar o Considerando que se o movimento do jogador, não
precisaremos mais dele. Se o fizermos, abriremos. Isso é muito simples. Aqui dentro. A primeira coisa que vamos criar é uma transformação para o gancho. Então, uma forma pública trans e o gancho de luta. Guarde isso. Agora a próxima coisa que vamos fazer é ir em frente e criar,
e aqui um cilindro que representará o gancho de garra. Então vamos clicar com o botão direito. E aqui vamos criar um objeto 3D que vai ser um cilindro. Vamos em frente e torná-lo 0,2 no eixo x e 0,2 no eixo z. Nós vamos, oops, nós estamos indo, bem, vamos lá, vamos lá. 0.2. Nós vamos girá-lo em torno do eixo x exatamente assim. Então, em torno de 90 graus aviso não é necessário, mas eu vou fazê-lo. E também vamos em frente e torná-lo um pouco menor no eixo y. Nós vamos então criar um outro objeto de jogo aqui que vamos chamar de gancho de garra. Então, o recente a posição ou ignorá-lo. Então, vamos arrepiar o cilindro até o gancho de garra. Então, agora, quando avançarmos e
mudarmos o fim, também vamos redefinir a posição aqui, então mil mil. E agora o que queremos fazer é que realmente queremos ser capazes de
manipular o Zed aqui, a fim de jogar nossa conexão. Para fazer isso, não queremos ter tudo pronto para ir para os dois lados. Só queremos ir por um caminho. Então, para fazer isso, vamos escolher o nosso cilindro aqui e vamos movê-lo a meio caminho. Então isso significa que por volta, vamos ver, talvez seja 0.2. Eu não tenho certeza. Então olhamos para o gancho de garra, verificamos o ponto de pivô e queremos que isto seja do outro lado. Então nós, eu acho que precisamos movê-lo 0.4. E agora o gancho, sim, está aqui. Então, agora o que acontece quando aumentamos ou diminuímos o deserto? Você pode ver que ele aumenta a partir do ponto de pivô. Então lembre-se. Certifique-se de que ele está no ponto de pivô e você mover, mover este cilindro para a borda. Ok, ótimo. Com isso feito, temos a habilidade de aumentar
nossas coisas e vamos em frente e mover o gancho de luta para o nosso jogador aqui. E vamos em frente e fazê-lo com a cor lisa ou podemos torná-lo mais escuro. Depende de você. Vou ficar com o estudioso. Certo, então vamos colocar aqui. E é um pouco desonesto, mas não se preocupe com isso. Vamos em frente e adicioná-lo ao nosso jogador aqui. Então vamos dar ao jogador a referência do gancho de luta. E vamos guardar isso. E vamos em frente e mostrar o gancho de luta para o jogador. Então agora o gancho vai se mover com o nosso jogador. Ótima. Agora vamos em frente e criar um método aqui que vai realmente jogar nosso gancho e mudar seu tamanho. Então vamos fazer isso aqui. Acima do punho gancho tiro movimento. Vamos criar um anzol privado. E aqui a primeira coisa que vamos fazer é pegar o gancho e vamos
olhar para a posição que queremos realmente atirar no gancho. Então é a posição de choque do gancho. Então queremos ir em frente e criar um carro alegórico. E esta será a velocidade na qual o nosso gancho será lançado. Então vai ser através do gancho, tiro, através da velocidade. E vamos fazer isso por enquanto. Desligue, talvez mudemos mais tarde. Então o que queremos fazer é ir em frente e obter o tamanho da nossa livraria. Então ainda não temos um tamanho de gancho. Vamos criar um. Então, tamanho do gancho. E antes de criarmos lá em cima, vamos em frente e dizer o que é. Então ele vai ser dependente do gancho tiro através, que disparou velocidade de lançamento, enquanto que gancho tiro velocidade de arremesso. E nós vamos multiplicá-lo por time.deltaTIME. E então vamos pegar nosso gancho e vamos acessar a escala local. E vamos criar um novo vetor 3 porque a escala é um fator três e vai ser um no x, um no y. E porque nós dissemos que vamos ser cada vez mais zed, então ele vai ser o tiro de gancho. Deixe-me copiar isto e colá-lo aqui. E então vamos em frente e criar essa variável. Então esquecemos de criá-lo. E vai ser um carro alegórico e vai ser privado. Não precisamos que seja público. Então chegue no tamanho do tiro flutuante e gancho. Ótimo, então agora está tudo pronto. Vamos nos certificar de que isso está correto. Onde é que está aqui? Isto está correcto. Então, agora o que queremos fazer é realmente queremos lançar o nosso tiro de gancho, mas queremos criar um estado no qual estamos lançando o instantâneo. E então vamos em frente e criado. Então aqui, vamos criar um novo estado que vai ser chamado de gancho. Então, tiro de esperança jogado, guarde isso. E nós vamos criar uma instrução switch para ele. E esta declaração de mudança será, vamos colocá-lo aqui. Então, no caso de termos o estado no gancho arremessado, então aqui vamos lançar um tiro de gancho. Então jogue o gancho. E agora, qual é o problema aqui? Então, tiro, ok, então precisamos adicionar o intervalo. E agora o que queremos fazer é sempre que começarmos, em vez de lidar com o movimento do gancho fechado imediatamente aqui, onde está? Então, quando terminarmos aqui, em vez de começarmos imediatamente a pilotar o jogador, queremos, antes de fazermos isso, queremos ir em frente e começar o arremesso de gancho. Guarde isso. E também o que queremos fazer é que queremos que o tamanho do gancho esteja em 0 F. E agora vamos em frente e testar isso e unidade. Então, de volta ao nosso jogo. E sem comentários duvidosos, por favor, se você quiser adicionar um comentário em um comentário. E agora, quando pressionamos o gosto, podemos ver que nossas lutas e objetivos, não
podemos mover nem nossa câmera nem nosso movimento. Vai e continua? Continue a ir para cima. Deixe-me sair daqui, ir para as cenas e continua a acontecer para sempre. Então, o próximo passo natural é começar a fazer a transição para o vôo da nossa camada. E na verdade vai fazer parte do seu desafio. Então o seu desafio para a transição para o estado de voo. Então calcule a distância entre o jogador e a posição da loja de falcão. E se for maior que o tamanho do gancho, queremos fazer a transição para o estado voador. Então, o que você precisa fazer é ter certeza de que
sempre que o tamanho da nossa estante está dentro, à medida que aumenta, se ela ficar maior do que a distância entre a posição de transformação e a posição de loja de falcões, você necessidade de transição para o estado do gancho tiro jogador voador. Então, com isso dito, pausar o vídeo agora e ir em frente e fazer qual Alan? Kaye, bem-vinda de volta. Então aqui o que vamos fazer é descer. E enquanto estamos jogando nosso gancho, vamos verificar se o tamanho do nosso gancho fica maior que os vetores. Distância de ponto entre a caixa de transformação Xin e o tiro de gancho. Onde está o gancho tiro posição superior. Então o que vamos fazer é tomar o nosso estado e fazer a transição para as operações. Quero dizer, vai ser igual ao estado e vamos fazer a transição para o gancho de tiro voando na camada. Assim começaremos a voar. E mais uma coisa que eu queria fazer é aqui, nós também podemos mover o nosso jogador. Então vamos adicionar o movimento da camada. E vamos em frente e também adicionar o movimento da câmera. Oh, o que é isso? Copie isso e adicionaremos o movimento da câmera. Vamos guardar isso. Então agora de volta à Unidade. Vamos ver isto e deixa-me pôr a cena sozinha aqui. Embora. Estou no jogo sozinho aqui, torná-lo um pouco maior para vermos o que está acontecendo. Vamos tocar no Play. E agora, quando começarmos o jogo, vejamos. Quando tivemos o tipo, o nosso, oops. Então nosso gancho vai e podemos nos mover, nós podemos, nós podemos saltar ainda, e quando chegar ao ponto, e então nós vamos. Mas como você pode ver, ainda há muitos problemas. Então vamos tentar de novo. Tínhamos a chave E em outro lugar e é muito, muito lento, mas pelo menos está funcionando. Então deixe-me reorganizar isso um pouco, fechar o gerente e aumentar a velocidade. Então a velocidade é muito lenta. A velocidade de lançamento de choque do Reino Unido, Vamos fazer o dobro da velocidade, triplicar a velocidade. Então faça 30 de volta aqui. É uma boa ideia colocar a velocidade do tamanho dos ganchos aqui. Não é nada mau. Então, quando atingimos o tipo, ele vai, leva muito tempo. Ainda precisamos aumentá-lo. Então vamos fazer 60, novamente, dobrar a velocidade. Volte para o nosso jogo. Aperte Play. Eu só quero ter um bom gancho de luta como se fôssemos Spykman. Então, Hideki, ele vai, nós voamos, nós pulamos, e nós chegamos ao topo do prédio. Agora ainda temos nosso grande, enorme gancho de luta, então teremos que mudar isso. E isso também está nos causando um monte de problemas porque nós estamos realmente criando isso na nossa frente e nós podemos fazer qualquer coisa sobre isso. Então não se preocupe com isso. Vamos resolver todos esses problemas no próximo vídeo. Mas o que disse, espero que goste. Espero que tenha se divertido um pouco e tenha um pequeno laboratório. E vemo-nos na próxima, onde vamos resolver todos os nossos problemas com este estranho Huike.
65. Toques finais: Bem-vindo de volta, Meus desenvolvedores de jogos favoritos. Neste vídeo, nós realmente corrigimos todas as coisas que estavam erradas com todos os ganchos de garra, mas não só isso, agora que nós apertamos a tecla E, ele não desvia o olhar. E tínhamos um sistema de partículas. Adicionamos um zoom in e zoom out para a câmera. Isso adiciona muito mais velocidade ao nosso ganho. E nós realmente corrigimos tudo errado com o Outlook. Então agora parece mesmo um gancho de verdade. Então agora voamos. Temos este sistema de partículas. Estamos a deformar o nosso mundo. Podemos atirar em nossos inimigos enquanto caímos. Temos um jogo incrível. Temos até um menu de pausa e o menu principal. Então não vamos perder mais tempo e vamos começar com este vídeo muito longo. Oh, caso. Então vamos em frente e resolver nossos problemas. Não há muito, mas vamos consertar. Então, primeiro de tudo, o que você quer fazer é quando
começamos, queremos desativar nosso gancho de luta. Então vamos para o gancho. Será necessário acessar o objeto do jogo e vamos definir ativo como falso. Então, sempre que começamos nossos biscoitos GREP, a próxima coisa que vamos fazer é criar, temos tudo isso aqui. Então vamos criar um método para eles. O quê, deixa-me mostrar-te o que quero dizer. Então, por exemplo, o estado normal Andy redefiniu a gravidade. Também queremos adicionar a ele, sempre que paramos de
nos mover, queremos enviar o objeto do jogo do nosso gancho para false, então não queremos adicioná-lo em todos os lugares. Então vamos simplesmente, então temos três lugares onde os temos. Então vamos em frente e criar um método para todos estes. Vamos chamar-lhe o vazio privado, parar, gancho, tiro. E aqui nós vamos copiar estes, adicionar um par de coisas mais para isso e você vai ver É muito importante ter este fim vai sair do gancho de garra que definir ativo, quero dizer, o ponto do objeto do jogo definido ativo e vai ser falso. E vamos em frente e chamar isso de ação top hook shot. E aqui, e aqui. E também aqui. E se encontrarmos outro lugar. Então também precisamos parar o tiro do gancho. Temos outro lugar para isso? Eu acho que não. Não, não temos. Está bem. Ótima. Então, onde estamos sempre que realmente filmamos aqui quando começamos a jogar,
queremos ir em frente e pegar o gancho de luta, o objeto do jogo, e queremos configurá-lo para ativo. Certo, ótimo, vamos guardar isso. Vamos em frente e testar isso. Então, quando acertarmos o jogo, enviaremos o nosso tiro de gancho. Vai para lá e quando chegar à distância, vai parar. Ok, ótimo. Agora a próxima coisa que queremos fazer é realmente
ir em frente e manter o tiro de gancho olhando. Resolva o problema agora mesmo. Se nós, por exemplo, dispararmos um choque de gancho lá, quando nos movemos, você pode ver que o tiro de gancho começa a se mover conosco. Então vamos precisar lidar com isso. Vamos entrar no nosso movimento de tiro de gancho. Então aqui, sempre que escolhemos a direção e tudo isso,
nós estamos realmente indo para, bem,
depois de nós estamos realmente indo para, bem, escolhermos a direção, nós estamos realmente indo para ir em frente e obter o ponto de gancho de garra olhar. E nós vamos estar olhando para, posição do gancho. Então, agora mesmo enquanto estamos nos movendo ou voando, nosso gancho de gancho ou gancho está sempre olhando para a posição do gancho. Guarde isso. Agora, vamos dar uma olhada e ver se isso funciona em jogo. E agora o tipo vai, mesmo quando olhamos ao redor, nos movemos. Não, aí está o gancho. Ainda está lá. Muito agradável. Tão grande. Tudo deve estar funcionando bem. Se desaparecer quando chegarmos à nossa posição, não aparece mais sob os EUA. Só aparece quando precisamos, e então pulamos e tudo funciona muito bem. Agora é hora de adicionar algumas coisas como, por exemplo, queremos que nosso FOB ou a câmera amplie e diminua com base em nosso enquanto estamos voando, isso irá adicionar um pouco de sensação de velocidade ao nosso jogo. Então vai ser parte do seu desafio. Então amplie e diminua quando estamos voando. Então encontre a câmera e amplie quando estamos voando usando livraria e diminua quando paramos de usar a ferradura. Então nós já fizemos esse tipo de desafio, eu acho que alguns vídeos atrás. Então seu único trabalho é descobrir onde precisamos ampliar e quando não deveríamos ampliar. Então pausar o vídeo agora mesmo e ir fazer o desafio. Ok, bem-vindo de volta. Então, se bem me lembro, foi o movimento da câmera. Então a câmera se move para aqui e está ampliando, e precisamos de um alvo Zoom, então um alvo de OPV de volta em nosso player. E onde devemos chamar nosso zoom in? Bem, devemos chamá-lo desde que o tiro de gancho não tenha realmente ido, chegou à posição. Então, contanto que o tamanho do gancho aqui. Então, enquanto o tamanho do gancho ainda é menor que a distância, então o que vamos fazer é ir em frente e encontrar um objeto de jogo do tipo. Vai ser o movimento da câmera. E aqui vamos acessar o Zoom In. E quanto devemos ampliar? Vamos ver. Se formos para a câmera, aumentamos isso. Se nós, digamos ir para 100, é 100 muito. Acho que é muito. Então, se nós talvez, oh, você sabe o que nós
queremos, nós queremos ter esse olhar pequeno como convexo. Então 100 eu acho que é realmente bom. Então vamos fazer um 100 F. Poupe isso. E quando devemos diminuir o zoom? Deveríamos estar dando zoom quando paramos nossa livraria. E felizmente criamos um método aqui. Então vamos em frente e encontrar o objeto do jogo do tipo. Vai ser o movimento da câmera. E nós vamos em frente e diminuir o zoom. E isso deve redefinir a posição e não precisa de parâmetros. De volta ao nosso jogo. Vamos colocar o jogo e aqui não precisamos mais olhar para a nossa cena em jogo. Então, agora, quando começarmos a voar, oh, legal. Então isso dá um pouco de uma sensação de zoom como se estivéssemos indo rápido em algum lugar. Muito agradável. Então não é ruim. Se talvez pudéssemos fazer mais do que 100. Talvez possamos ir em frente e fazer Onde está, Onde está? Onde é que está? Ok, então aqui, talvez seja 120. Mas o problema é que o argônio permanece em posição, então não é muito bom, mas não se preocupe com isso. De qualquer forma, 120. Finalmente, o que eu quero fazer é adicionar algum tipo de sistema de partículas que nos dará a sensação de que estamos viajando pelo espaço. Então vamos adicionar um sistema de partículas. Normalmente usamos sistemas de partículas que tínhamos em nossos exemplos. Agora vamos criar o nosso próprio. Então, esta é a unidade avançada. Bom. Vamos em frente e clique com o botão direito aqui. Podemos ir aos Efeitos e criar um sistema de partículas. Então eu já preparei algo, então eu já sei o que estou fazendo. Então, só para ser completamente transparente com você. Então você não acha que eu sou algum tipo de sistema de partículas. Isso realmente me levou um tempo para fazer isso. Então a primeira coisa que vamos fazer é queremos realmente girar em direção ao jogador. Então, no eixo x, vamos girá-lo assim. Então é menos 1, 18, e vai estar na frente do nosso jogador. Então nós seremos capazes de, ok, ele não parece no modo de jogo. Isso é porque é tão longe que o jogador nem consegue vê-lo. Então vamos colocá-lo aqui,
aqui e para baixo um pouco. Então, isso está de frente para o jogador? Não. Perspectivas 3D são tão difíceis de trabalhar. Ok, então agora no nosso jogo, sim, lá está, nós podemos vê-lo. Vamos colocá-lo aqui e vamos torná-lo muito menor. Ok, vamos movê-lo de um jeito só um pouquinho. Então isso é suficiente se você quiser mantê-lo assim. Mas não, nós realmente vamos adicionar um monte de coisas aqui. Primeiro de tudo, a hora de início, Vamos fazer 0,28. Assim, a hora de início vai realmente atrasar em segundos. O sistema de partículas esperará até emitir uma partícula. Em seguida, vamos para a taxa de emissão. E vamos ver aqui temos a taxa de emissão,
a taxa ao longo do tempo. Vamos fazer com que seja 69. Assim, isso aumentará a taxa de emissão. Claro, o número de partículas que são emitidas irá para a forma e nós vamos talvez fazer o ângulo 0. Então, ele se tornará como um cilindro. Então o ângulo será 0. E vamos aumentar o raio. Então vamos fazer por volta das quatro. - Legal. Agora temos um efeito muito legal. A próxima coisa que vamos fazer é entrar na vida. Então, a vida toda aqui, e vamos em frente e torná-lo um. Então essas partículas não serão. Apenas indo por todo o lugar e isso realmente vai ajudar com nosso poder de processamento. Assim, quanto mais partículas você tiver, mais poder de processamento requer. E até mesmo meu laptop agora, quando eu diminuí o número de partículas, quero dizer, a vida útil das partículas, ele parou de ir. Então os fãs pararam de tentar ligar para o meu sistema. E vamos em frente e aumentar a velocidade de partida de cinco, e vamos torná-los 20. Então agora eles são super rápidos. Agora podemos voltar aqui e colocá-los assim. A próxima coisa que vamos fazer é ir para
a renderização e queremos fazê-los como se fossem algum tipo de lasers vindo até nós e renderizar. Vamos mudar isso de Billboard para outdoor esticado. Então agora nós os temos um pouco esticados. E vamos mudar o comprimento da escala para 13. Então, como você pode ver, estes são agora mais aparentes à medida que estamos nos movendo através do espaço e do tempo. Ok? Então também vamos mudar a cor ao longo do tempo. E vamos para a cor ao longo do tempo, e podemos precisar de 0. Primeiro de tudo, liga. Podemos escolher entre dois gradientes aleatórios. Então vamos escolher, antes de tudo aqui, algum tipo de cor azul. E outra cor aqui, que vai ser algum tipo de cor vermelha. Então vamos ver isso em ação. Certo, então ainda tem um pouco de branco. Então aqui, vamos em frente e torná-los completamente azuis. E aqui vamos torná-los completamente vermelhos. Então vamos ver como isso parece. Ok, isso não é muito ruim. Pelo menos é alguma coisa, está bem? Talvez possamos diminuir o Alfa. Então este é o Alfa e aqui podemos fazê-lo ir de 0 a 215. E isso terá o mesmo efeito. Então, de 0 a 50. E isso, ok, então vamos ver, isso parece bom o suficiente. Agora em nossos materiais, Vamos em frente e criar um material de trabalho. Então este é o material chamado de tapete de dobra. E faremos do sombreador um sombreador legado aditivo. E a textura aqui será o padrão. Então escolha a partícula padrão, partícula como a textura aqui. E vamos mover este alfa para 250, caso esse. Agora o que vamos fazer é este material em nosso sistema de partículas. Então vamos voltar ao nosso sistema de partículas aqui e aqui em baixo na renderização. Vamos fechar este aqui. Aqui temos a partícula padrão. Vamos adicionar a deformação aqui. - Legal. Então agora isso vai deixar nossas cores um pouco mais brilhantes e você pode ir em frente e ajustar tudo isso. Eu realmente encorajo você a ir e aprofundar isso. Agora eu sei como a maioria deles funciona. E para realmente ir e testar isso na frente de você e fazê-los vai levar em torno de três vídeos. Então vá em frente e tente o seu melhor, veja o que funciona para você. Veja o que não funciona. Tão grande. Agora temos o sistema de partículas, tudo o que precisamos fazer. Antes de
continuarmos, precisamos ter certeza de pré-aquecer isso. Se não adicionarmos o calor supremo quando realmente ligarmos o sistema de partículas, ele não começará imediatamente. Vai levar um pouco de tempo. Então reaquecer está sempre lá, pronto para começar. Ele adiciona um pouco de sapatos de desempenho, mas não vamos nos preocupar com isso. Não é tão significativo. Ok, ótimo. Agora com isso feito, vamos adicionar este sistema de partículas ao nosso jogador. Agora, você pode adicionar isso à sua cabeça. Então, como você escreveu, você continua vendo essas partículas ou você pode simplesmente adicioná-las ao jogador para que eles se movam com ele. E vamos em frente e redefinir a posição dessas partículas para que elas olhem diretamente na cara do nosso jogador. E vamos simplesmente movê-los para trás e movê-los um pouco para cima. Então agora eles parecem muito bonitos. Agora é hora de ir em frente e obter uma referência a eles e ativá-los e desativá-los com base em como queremos. Então, de volta ao nosso código aqui, e vamos em frente e criar uma referência. Então vamos criar um sistema ou sistema público de partículas. E as partículas de dobra, guarde isso. E vamos colocá-los no inspetor antes que esqueçamos, porque eu sempre esqueço. Isso é no sistema de partículas aqui. Guarde isso no nosso código agora onde devemos ligá-los e desativá-los? Podemos usá-los assim como usamos o áudio que podemos tocar e podemos parar. Então vamos fazer exatamente como usamos o zoom in, vamos usar o sistema de partículas. Então aqui, vamos chamar as partículas de dobra e vamos colocá-las. E quando pararmos de nos acoplar, vamos trabalhar partículas, parada de tiro. E agora e você sabe o quê? Vamos voltar a ligar as partículas. Então, agora, quando batemos no jogo ,
tudo bem, então eles estão sempre ligados, vamos clicar nessas partículas aqui e vamos desligar, jogar acordado. Guarde isso. Agora, quando batemos no Play, eles não deveriam estar tocando o tempo todo. Ok, ótimo. Então agora, quando pressionamos o tipo, temos nossas partículas muito boas. Agora eles estão se movendo com os jogadores tinham, se você não quiser isso, você pode realmente separá-los. Mas eu acho que isso parece muito legal. Então agora podemos ver que temos o zoom n, temos as partículas, temos nosso gancho se sentindo muito bem. Podemos pular em cima de prédios e terminamos oficialmente com nosso gancho de luta. Espero que tenham gostado do vídeo. Espero que não tenha sido muito longo. E com isso dito, muito
obrigado. E vejo-te talvez na próxima.