Transcrições
1. Por que você deve assistir este curso: O desenvolvimento de jogos como uma arte de potencial ilimitado e a criatividade e cada desenvolvedor de jogos precisa de três habilidades essenciais, capacidade de
programação, motor de jogo e design de jogo. Eu adoraria ensinar todos os três. E a melhor maneira de aprender qualquer coisa é criando e fazendo isso de uma maneira divertida. Meu nome é Michael Moore, fundador da ADM em profundidade e quero compartilhar meu conhecimento sobre desenvolvimento de jogos. Se você tivesse desenvolvido uma estratégia para ajudá-lo a se tornar o melhor desenvolvedor de equipe e a maneira mais divertida possível usando o motor do Unity, vamos construir nosso jogo 3D. Milhares de aspirantes a desenvolvedores de jogos criaram ganhos reais usando a estratégia. E eu quero que você faça o mesmo. Eu aprendi que pode ser realmente difícil
saber por onde começar quando se trata de desenvolvimento de jogos, porque eu estive lá e quais os passos a tomar para ir do iniciante completo ao mestre absoluto, não só no jogo desenvolvimento, mas também em aprender a codificar. E eu posso dizer com absoluta confiança nas pontuações, torna mais fácil iniciante com 0 experiência de codificação para saltar e aprender a criar ganhos incríveis. Não deixamos pedra sobre pedra. Nós nos aprofundamos mais do que qualquer outro campo em todos os aspectos do Unity 3D, C-sharp e design do jogo. E as festas mais incríveis é que estamos fazendo tudo isso, a última versão da unidade com as mais recentes técnicas e conteúdo e desenvolvimento de jogos modernos, eu ajudei milhares de pessoas a criar jogos do mundo real, e eu Quero que sejas uma dessas pessoas. Então, como vamos fazer isso? Na Seção um, temos a introdução e é onde vamos configurar tudo, vamos baixar a humanidade e integrado com o Visual Studio. Vamos aprender a interface de ambas as ferramentas e criar nosso primeiro código apenas para que possamos obter medos iniciais gerais. Na seção dois, começamos a construir as bases para nosso grande projeto com um mini-projeto, formas mágicas 3D. Vamos aprender os conceitos básicos de afiada pela compreensão de variáveis são se declarações são como matrizes funcionam, e tudo isso enquanto cria um jogo divertido em Unity e aprende o básico lá também. E se você já tiver uma unidade instalada e souber como usá-la,
podemos saltar imediatamente para a seção três, e é aí que começaremos a construir nosso foguete. Aprenderemos sobre como criar materiais, criar movimento, adicionar áudio ao nosso foguete e realmente deixar Elon Musk orgulhoso. Quando tivermos nosso foguete pronto, precisaremos de um espaço para ele voar. É aí que entra a secção quatro. E é tudo sobre design de nível. Vai falar sobre os conceitos básicos de nível de design e o que é preciso para fazer níveis divertidos e jogos. Aprenderemos como criar obstáculos para nossos jogadores e explorar gerenciamento
visto e o código que nos permitirão percorrer os níveis que criamos. Seção cinco como projeto avançado de foguetes. E é para onde levamos nossos foguetes. O próximo nível irá adicionar novas dimensões para trabalhar com uma tampa de acompanhamento e a respirar mais vida e nosso foguete, criando efeito de partícula, mais áudio e adicionando uma barra de saúde com mecânica de jogo extra. Finalmente, vamos passar para a Seção 6 e em outros lugares irá aprofundar o design novo. Vamos expandir nosso conhecimento de unidade aprendendo a manipular a iluminação, criar menus principais e mover nossos obstáculos para tornar nosso jogo mais divertido e interessante. Então, o que você deve esperar até o final deste curso, você vai se tornar um mestre solucionador de problemas, vai entender os fundamentos da codificação C-sharp e aprender a programar jogos, assim como os que você está vendo na tela agora. Você também terá a chance de flexionar seus músculos de desenvolvedor de jogos ,
porque em cada vídeo há um mini desafio para você completar. E mesmo que você possa descobrir como fazer o desafio, eu estarei lá para completá-lo com você depois que nós tentamos, tudo dentro, nosso jogo será configurável. Então você pode ajustar, brincar e dar ao jogo e sensação individual e especial sobre ele. Então você vai colocar em sua própria criatividade nisso e realmente torná-la sua própria. Estou tão animada para começar e espero que você também. Este é o momento perfeito para começar a aprender a codificar. Então biv esteve comigo e eu vou ajudá-lo ao longo cada passo de sua jornada de desenvolvimento de jogos.
2. Baixe o Unity e Visual Studio para o Studio passo a passo: Bem-vindos de volta a todos. Então, neste vídeo vamos simplesmente ser baixados no hub da unidade, instalando nossa versão do Unity e configurando tudo para começar a criar jogos. Então, vamos começar. A primeira coisa que você precisa fazer é ir e para qualquer navegador que você está usando. Estou usando o Google Chrome no momento. Isso não importa. Basta ir em frente ao Google e digitar o download para o hub de
unidade e você deve obter este resultado de pesquisa. Então, basta ir e clicar no hub de download da unidade. Deve ser o primeiro link que estaria no site Unity 3D.com. E ele irá levá-lo a esta página aqui, e ele irá pedir-lhe para baixar o hub de unidade. Agora, o que é o centro da unidade? Bem, unidade hub é um lugar onde podemos adicionar diferentes versões do Unity. E também podemos ter todos,
todos os nossos projetos representados de forma muito ordenada e muito cuidadosa, que é muito útil e muito melhor do que a maneira como usamos a Unidade antes. Então, basta clicar em Baixar hub unidade e você deve obter a instalação que está bem aqui, que é a configuração hub unidade. Então clique duas vezes sobre isso e ele vai iniciar uma instalação. É bastante fácil. Basta clicar em concordar e instalá-lo. E onde quer que a pasta de destino que você tem, eu já tenho unidade hub, então eu não vou aborrecê-lo com o processo de download. Irá pedir-lhe que concorde com algo que é bastante fácil. Então vá em frente e instale o hub do Unity. Oh, ok, então agora que você tem Unity Hub instalado, você deve ter esta janela bem aqui. E a primeira coisa que você precisa fazer porque eu já estou conectado, então você precisa criar uma conta. Estou usando meu e-mail do Google, que é muito útil e muito mais fácil. E aqui você pode ver que nós temos todos os nossos projetos, não atualmente, nós não temos nenhum projeto ainda, mas nós teremos muito em breve. Aqui você tem guias diferentes para aprender e para a comunidade, que você pode ir e conferir e ver o que há. Mas o que vamos nos concentrar agora está indo para instalado. Como podem ver, já tenho uma versão do Unity, que é 2020.1.2 uma. Então talvez você seja do futuro e tenha uma versão melhor ou mais, ou uma versão mais recente. E uma ordem para adicionar uma nova versão, basta
clicar aqui no aplicativo. Então, quando você clica em Adicionar, ele lhe dá opções diferentes para baixar a unidade. Agora, como você pode ver, você tem lançamentos recomendados, você tem versões oficiais e você tem pré-lançamento. Agora, o que você deve escolher? Bem, pessoalmente eu, eu gosto de escolher os lançamentos oficiais porque eles geralmente são o menos buggy. Há a versão recomendada que também não é ruim. E há os comunicados de imprensa pré-lançamento. E agora comunicados de imprensa nem sempre são buggy ruim, mas às vezes você pode encontrar não muito bons desempenhos durante o jogo ou durante a criação do jogo. Eles não são tão comuns, mas eu pessoalmente prefiro os lançamentos oficiais. Então vá em frente e escolha um deles. Vamos escolher o lançamento oficial de 2020.1.10. E vamos clicar em Avançar. Agora, isso deve levá-lo para outros módulos para sua janela de instalação. E o que temos aqui é um monte de complementos e usos para a unidade. Então, por exemplo, você tem cinto Android, que irá ajudá-lo a construir jogos para Android, você tem linha próxima suporte construído e Mac e assim por diante e assim por diante. Você também tem a documentação que eu recomendo que você baixe. E você tem o idioma de volta, que se você tem algum tipo de idioma diferente, chinês ou coreano, eu não tenho certeza do que são. Você também pode verificar um deles e baixá-lo. Mas o mais importante é que você precisa verificar essa ferramenta de desenvolvedor, que é o Microsoft Visual Studio Community 1019. Talvez você tenha uma versão mais recente. Portanto, isto é absolutamente uma obrigação. Vamos usar o Visual Studio para codificar todos os nossos jogos. Então vá em frente, clique neles e clique em Avançar. E o download deve começar aqui mesmo enquanto você está tendo uma caixa semelhante a esta e com uma pequena barra azul aqui em cima esperando para terminar o download. Então, agora vou apresentá-los ao seu desafio, e este é o seu desafio para hoje. Então você precisa baixar o Unity e o Visual Studio. Então, primeiro de tudo, vá em frente e baixe o hub de unidade. Então a unidade de download é a versão mais recente. E certifique-se de baixar o Visual Studio com a unidade. Então vá em frente e faça o desafio, e te vejo no próximo vídeo.
3. Unity e Visual Studio 101: Ok, então bem-vindos de volta a outro vídeo. Vamos ver o que é unidade. Então unidade é um motor de jogo multi-plataforma desenvolvido pela Unity Technologies, vai usar Unity para desenvolver o nosso jogo. Então, o que significa multiplataforma? Isso significa que podemos usá-lo em diferentes plataformas. E é um motor de jogo. E que motor de jogo é, é
um ambiente para nós desenvolvermos jogos e adicionar física e adicionar coisas diferentes para criar o nosso jogo. Então vamos ver como Unity realmente se parece e eu vou explicar algumas coisas. Então, isto é a unidade. Primeiro de tudo, temos esta barra de ferramentas bem aqui acima de tudo. E isso fornece acesso aos recursos de trabalho mais essenciais. À esquerda, ele contém as ferramentas básicas para manipular a exibição da cena e os objetos do jogo dentro dela. No centro temos o jogo, a pausa e o botão de controle stub. E os botões à direita dão acesso ao Unity Collaborate, ao serviço
Unity Cloud e à conta Unity. E não vamos nos meter muito nisso. No lado direito,
temos o menu de visibilidade da camada, e temos o editor, que fornece alguns layouts alternativos para a janela do editor e permite que você salve seus próprios layouts personalizados. Então, se você não tem o mesmo layout que eu, você pode simplesmente clicar aqui no layout e você pode escolher o layout padrão. E este é o jogador padrão que temos. São os projetos aqui, inspetor e tudo mais. A próxima coisa que vamos falar sobre a janela da hierarquia aqui. É uma representação hierárquica de cada objeto de jogo e nossa cena. Então, cada item na cena tem uma entrada na hierarquia. Assim, as duas janelas são inerentemente ligadas. A próxima hierarquia revela a estrutura de como objetos de jogo anexados uns aos outros. Aqui temos a cena da amostra. Se clicarmos nisso, temos a câmera principal embaixo. E se adicionarmos outro objeto de jogo, ele também aparecerá aqui. E aqui está o inspetor, como você pode ver à direita. Este é o inspetor de janelas e ele dá, ele permite que você visualize e edite todas as propriedades do objeto de jogo selecionado atualmente. Portanto, se você não selecionar o objeto do jogo, não
veremos nada. Quando clicamos na câmera principal, temos essas janelas diferentes aqui, e os layouts e o conteúdo do contador da janela do inspetor mudam cada vez que você seleciona objetos de jogo diferentes ou agora não temos um objeto de jogo diferente. Então vamos nos contentar com a câmera. Próximo. Então temos esta vista de cena bem aqui. E a visualização da cena permite visualizar, navegar e editar sua visualização. A exibição de cena pode mostrar uma perspectiva 3D ou uma perspectiva 2D dependendo do tipo de projeto que você está usando. Você também pode, aqui mesmo clique no botão para o botão e ele vai 3D. Então, como você pode ver, nós temos esta visão 3D, mas nós não vamos precisar, ele, vai simplesmente para o, para o esfregão. E, finalmente, quero falar sobre a janela do projeto aqui, que exibe sua biblioteca e ativos que estão disponíveis para uso. No seu projeto. Então, quando você importar ativos para o seu projeto, eles aparecerão aqui. Então, por exemplo, por enquanto não temos nenhum ativo, teria apenas a pasta de cenas. E dentro da pasta de cenas, temos esta pasta de exemplo. Então esta é uma rápida visão geral da unidade e do que todos esses painéis e gadgets são. Iremos, é claro, aprofundar-nos mais neles à medida que passarmos pelo curso. Mas agora eu quero falar sobre algo muito importante e que é o Visual Studio. Então, o que é o Visual Studio? Bem, o Visual Studio é id e o IDE é um ambiente de desenvolvimento integrado. E o que ele faz, ele realmente perguntou, significando que Visual Studio vai nos ajudar a escrever o código usado para manipular objetos de jogo no Unity usando algo chamado scripts. Então, como usar o Unity com o Visual Studio? Então precisamos de uma maneira para a unidade e o Visual Studio para se comunicar. Mas eles não fazem isso simplesmente. Precisamos adicionar algo a ele chamado o arquivo dot cs, e que são nossos scripts. Nós realmente pegamos esses scripts, nós os anexamos a objetos de jogo, e usando esses scripts será capaz de adicionar comportamento a diferentes tipos de objetos de jogo. E veremos isso muito, muito em breve. Então, vamos ao Visual Studio e ver do que se trata. Este é o Visual Studio. E talvez a primeira vez que você abrir, você terá painéis diferentes aqui
à direita e janelas diferentes aqui à esquerda. Sinta-se livre para fechar todos eles. E não se preocupe com o que acontece a seguir. Claro, você não terá isso na primeira vez que iniciar o Visual Studio, mas verá isso em breve. E vou apresentar-lhe algumas linhas de códigos bem aqui. Então vamos ampliar só um pouco. E aqui no topo você pode ver que estamos usando coleções de sistema, estamos usando coleção de selos. Coleções são genéricas e, mais importante, estamos usando o mecanismo Unity. O que são todos esses? Enquanto esses são chamados namespaces. E basicamente, estas são bibliotecas que nos dão a oportunidade de usar diferentes tipos de casaco. Assim, por exemplo, Unity engine, que adicionamos aqui, nos
permite usar o método start e o método de atualização e diferentes mecanismos para criar jogos e torná-lo muito mais fácil. E nós simplesmente escrevemos aqui usando o motor Unity. E isso nos poupa muito ouro e nos dá toda a biblioteca para usar. Em seguida, temos a classe pública, o nome da classe. E este é o,
na verdade, o nome da classe, que deve estar bem aqui. Será o script que falamos e será anexado a um objeto de jogo. E ele vai abranger todo o código que vai mudar o comportamento do nosso objeto de jogo e jogo de parede lateral e comportamento
mono é uma classe base e é realmente isso para significar que ele herda do comportamento mono, que lhe permite usar diferentes tipos de manipulações e motor e física e assim por diante e assim por diante. E a próxima coisa que temos é o começo e acima é algo chamado Comum. Então, sempre que você escrever código e adicionar essas duas linhas aqui, ele vai comentar as coisas e comentários realmente não são executados e ouro e eles são perfeitamente seguros. Então é o começo. Iniciar é chamado antes da primeira atualização de quadro. Assim que o nosso jogo começa, o método de início, e isso é chamado de método que vamos começar a executar. A próxima coisa que temos a atualização, e a atualização é chamada uma vez por Frank. Então, cada quadro que temos em nosso jogo, a atualização é chamada. Então start é normalmente usado para dar as propriedades iniciais ou configurações para determinados objetos. E a atualização é usada para objetos que talvez estejam se movendo ou alterando cada quadro. Então, se tivermos um carro, por exemplo, e começar, podemos dar-lhe a cor, o nome, a velocidade em que ele pode ir. Uma atualização estará movendo o carro, fará o salto, fará o carro ir mais rápido, talvez aumentar sua velocidade. Então você tem a idéia básica do Visual Studio, e agora é hora do seu desafio. E o teu desafio é ir fazer mira em massa. Então abra a unidade, crie um projeto. E se você não sabe como criar um projeto, faremos isso no próximo vídeo. E quando acabares, depois de o fazeres ir ao próximo vídeo vamos fazer o nosso primeiro casaco e começar. Vemo-nos no próximo vídeo.
4. Seu primeiro código: Bem-vindos de volta meus colegas desenvolvedores de jogos. E como podem ver aqui, temos uma mensagem e estamos dentro da Unidade. Criamos um objeto de jogo. Colocamos uma mensagem dentro do console
e, na verdade, também criamos algumas linhas de código. Então este será o seu primeiro código. É muito excitante. Não vamos perder mais tempo e vamos começar. Oh, ok, então vamos começar. Primeiro de tudo, precisamos abrir nosso centro de união e aqui eles nos dizem que você não tem projeto, mas não tem preocupações. Vamos mudar isso daqui a pouco. Primeiro de tudo, clique no novo aqui, e esta janela se abrirá. E aqui você pode escolher se deseja fazer do seu projeto um projeto 2D ou um projeto 3D. E os outros dois são rp de alta definição, onde você cria muito mais gráficos e pipeline de renderização universal, que é semelhante ao 3D, mas tem um pouco de diferenças que não vamos cobrir agora. Vamos continuar. A primeira coisa que você precisa fazer é ter certeza de que você tem o local adequado de criado uma pasta dentro do diretório D, que é projetos de unidade. E foi ali que salvei todos os meus projetos da Unidade. E eu também recomendo que você faça o mesmo. A próxima coisa que você precisa fazer é nomear seu projeto. Vamos nomear nosso projeto. Olá, World. Ótima. Então, agora que você tem o nome do seu projeto configurado, você sabe o local e certifique-se de escolher um 3D porque nosso jogo será em 3D, basta clicar em Criar. E agora vamos esperar que o nosso projeto seja compilado. Não vou te aborrecer com isso. Vou usar a magia da edição e verei vocês quando meu projeto for compilado. Então, vemo-nos daqui a pouco. Oh, ok, bem-vindo de volta. Então, como podem ver agora, estamos em união. E este é o meu layout. Se você não tem o mesmo layout que eu, basta ir para Les UPS, layouts aqui aparecem e clique em Padrão e tornar a tela maior. E nós dois devemos ter o mesmo layout. Agora, como podem ver, temos algo novo aqui, que é o console. E se você não tiver o console, vá para a janela, vá para geral, desça e procure console. Você deveria ver bem aqui. Basta clicar nele. Você terá uma janela e poderá encaixá-la onde quiser. E atualmente encaixando bem aqui ao lado do projeto. Ótima. Agora, o que vamos fazer? Primeiro de tudo, vamos criar um script para ver como Visual Studio e Unity engine realmente se comunicam uns com os outros. Então vamos em frente e fazer isso. Clique com o botão direito aqui. E nossos projetos vão para Criar. E você vai descobrir aqui que você pode realmente criar um script C-sharp. Então, clique nisso. E antes de fazermos alguma coisa, pare agora. Antes de continuarmos quando precisamos ter certeza de que nomeamos nosso script corretamente, porque o nome do nosso script será o nome da nossa classe. E nós podemos realmente mudar o nome do nosso script mais tarde ou em nome da nossa classe. Mas haverá muitos erros. Então, para evitá-los, sempre que você criar um script, certifique-se de que você nomeá-lo corretamente. Então vamos nomear nosso roteiro. Olá, mundo. E quando você estiver satisfeito com o nome do seu script, pressione Enter e aguarde a integridade para começar a compilar seu script C-sharp. Como você pode ver aqui, você pode ter um vislumbre de como seu script C-sharp se parece. E já tem algumas linhas de código. Vamos simplesmente clicar duas vezes em hello world e abri-lo. E o nosso Visual Studio, o caso O. Agora temos o Visual Studio pronto. E eu falei sobre algumas coisas. Eu falei sobre namespaces em, sobre o início e a atualização. Não vou passar por cima deles de novo. Porque mais tarde também vamos mergulhar ainda mais neles quando começarmos nosso primeiro cubo de jogo de Magic 3D. Então, vamos começar por imprimir algo para o console. E a forma como imprimimos as coisas para o console, como simplesmente escrevemos aqui, imprimimos. E imediatamente você pode ver que mesmo sem terminar a impressão de palavras, Visual Studio ou a frente nos ajuda e nos diz que você está tipo de impressão escrita. Então deixe-me ajudá-lo quando você chegar a este ponto e você não quiser terminá-lo,
terminar de escrever sua própria frase, basta apertar o botão guia e Visual Studio continua automaticamente. Então precisamos abrir esses colchetes e você pode ler sob o,
sob o código aqui que você,
isso registra mensagens para o console de unidades. Perfeito, então isso é o que realmente precisamos. E você pode ver também a maneira que precisamos adicionar uma mensagem aqui mesmo. E esta mensagem pode ser ou deve ser uma string. E o que uma string
é, é um tipo de variável que falaremos mais tarde. Mas tudo que você precisa entender que uma string é algo que colocamos entre essas duas aspas bem aqui. E é uma sequência de caracteres para que possamos escrever palavras e frases dentro. Então a primeira coisa que vamos escrever, é claro, é olá mundo com um ponto de exclamação. E você pode ver que aqui nós temos esta linha vermelha ondulada. E o que isso significa, é uma indicação do Visual Studio nos dizendo que,
whoa, whoa, whoa, whoa, whoa, há um problema aqui. E o problema, se passarmos sobre ele, é que ele está esperando este ponto e vírgula bem aqui. Então nós adicionamos, e cada linha em c-sharp precisa ter um ponto-e-vírgula no final dela. Agora temos de salvar o guião antes de voltarmos para a Unidade. E sempre que você não salvou seu script ainda, você pode ver esses pequenos asteriscos bem aqui no Helloworld dot cs. E para salvar seu script, basta clicar em Controlar como e ele será salvo. Quando ele salvou a sua não é mais os pequenos asteróides, correto? Agora vamos voltar para a Unidade e esperar que a unidade entenda que fizemos algumas mudanças. Você pode ver que mudou bem aqui no inspetor. E agora, quando clicamos no jogo, devemos ver algo no console, mas isso não será o caso que demonstramos. Então, quando clicamos no jogo, estamos olhando para o nosso console, mas não há nada lá. Por que é isso? Bem, porque não anexamos o script R a nada. Então, mesmo que tenhamos criado nosso código e ele está muito bem escrito e deve funcionar perfeitamente bem. Ele não está ligado a nada em nossa cena de jogo ou em nosso jogo. Então vamos mudar isso criando um objeto de jogo, nós também podemos anexá-lo à câmera principal ou à luz direta, mas não vamos fazer isso. Vamos criar nosso próprio objeto de jogo. E a maneira como fazemos isso clicando com o botão direito do mouse na hierarquia. E vamos descer e, por enquanto, vamos simplesmente criar um objeto de jogo vazio. Então este é um objeto de jogo vazio. E aqui você pode ver a transformação, que é a posição, a rotação e a escala do nosso objeto. Então, se clicarmos em nosso objeto de jogo, pressione a tecla W. Agora podemos mudar a posição deste objeto de jogo cima e para baixo e para a esquerda e para a direita e todos os tipos de direções. E podemos redefinir sua posição subindo aqui e atingindo esses três pontos bem aqui e acertando o reset. Assim, as transformações, posição, rotação e escala serão redefinidas para 0. E uma vez grande, agora o que queremos fazer é anexar este script Hello World ao nosso objeto de jogo. A forma como fazemos isso é muito simples. Podemos arrastar o mundo Olá para a hierarquia em nosso objeto de jogo ou podemos arrastá-lo
aqui mesmo no inspetor se tivermos objeto de jogo nele. Então vamos fazer isso aqui. E como você pode ver, um novo componente foi adicionado ao nosso objeto de jogo. Então agora nosso objeto de jogo, que faz parte de nossa cena, que funciona dentro de nosso jogo, tem esse script anexado a ele. E este script que está ligado a algo em nosso mundo
está dizendo ou dizendo tornou-se objetos que você precisa para imprimir Olá mundo para o console. Então vamos ver se isso funciona. Vamos salvar nossa cena. Além disso, você pode ver que temos um asterisco, Control S, coletar em jogo. E agora, se você for para o console, você pode ver que ele diz Olá, mundo. Legal. Portanto, podemos agora ter a certeza de que isso realmente funciona. E agora que você tem total fé no funcionamento dos roteiros V e da Unidade, é hora do seu desafio. E seu desafio é imprimir seu próprio nome. Então, em vez de hello world, imprima seu próprio nome no console. E você, o que você precisa fazer é mudar
o Hello World para Olá e, em seguida, adicionar seu nome ao lado dele. Então eu vou te dar um par de mãos porque o vídeo, se você já sabe como fazer isso, pausar o vídeo agora mesmo e ir fazer o desafio. Se não, siga-me. Então adicione seu nome dentro dos três pontos que eu lhe disse aqui, salvo Visual Studio, isso é muito importante. Vá para a unidade e clique no jogo. Verifique seu console e verifique se ele funciona e se você pode ver seu nome dentro do conceito. Então pausar o vídeo agora mesmo e ir fazer cada desafio. Ow, kay, bem-vindo de volta. Então, como você se saiu com isso? Deixe-me fazer o desafio sozinho. Então, em vez de “Olá Mundo”, vou escrever o meu próprio nome aqui e vai ser “Olá Michael”. Olá Michael com pontos de exclamação. Vamos fazer isso. Nós guardamos isso. Voltamos em unidade. E aqui podemos realmente remover a clara no jogo. E agora, quando
clicamos no jogo, temos Olá Michael, e podemos limpar tudo isso. Podemos então voltar e clicar no jogo novamente. E podemos ver “Olá Michael”. Então esta é a sua introdução à unidade. Esta é uma parte muito importante. É aqui que superamos o medo de usar código. É aqui que superamos o medo de usar o Visual Studio e um mecanismo Unity, que são ambos muito assustadores à primeira vista, mas como você pode ver, eles são coisas que podemos usar para criar ganhos incríveis. Vemo-nos no próximo vídeo.
5. SEÇÃO 2: MOLas MÁGICOS 3D para consolar com Debug.Log(): Bem-vindos de volta meus colegas desenvolvedores de jogos. E como você pode ver, nós já criamos uma cena 3D com um objeto chamado formas Palmer, e nós adicionamos um script a ele, que é um gerador de forma Com explicado o que todos os namespaces são, o que é início, o que é atualização. E nós temos realmente impresso tem algumas linhas bem aqui em nosso console, mas não apenas uma mensagem. Também imprimimos um aviso e imprimimos também um erro. Então não vamos perder mais tempo e vamos começar. Certo, então a primeira coisa que vamos fazer é criar um novo projeto. Então abra o seu centro de união aqui mesmo. Clique em Novo. E aqui podemos escolher que tipo de projeto queremos criar. Então ele vai ser um projeto 3D, e ele vai ser chamado de jogo de Magic Q 3D. Muito agradável. Então vamos em frente e criar um, certifique-se de que você tem o local adequado para ele salvar. E o meu está no diretório D com dentro do projeto Unity. Então clique em Criar, e nós simplesmente vamos esperar por todo esse tempo. Mas como tenho a habilidade de usar a magia da edição, vou simplesmente pular todo esse processo e verei vocês daqui a pouco. Oh, ok, ótimo. Então agora você deve ter a mesma visão que eu tenho sempre que seu projeto terminar de compilar. Se você não tem a mesma visão, você pode ir para a direita aqui para o padrão e eu quero dizer para o layout e clicar no padrão. E isso deve dar a você o mesmo layout que eu tenho. Ok, ótimo. Agora, agora que configuramos a interface, é hora de, antes de tudo, criar um objeto. Então vamos para a nossa hierarquia bem aqui sob a, sob a cena da amostra. E, na verdade, vamos em frente e mudar a cena da amostra e vamos simplesmente torná-la nosso nível um. Nós não teremos nenhum outro nível, mas apenas para entrar no hábito de nomear nossas cenas foram Criar vai nomear este nível um. Então clique com o botão direito em nossa hierarquia e vá em frente e crie um objeto de jogo vazio. E como podem ver, surgiu no meio da nossa cena bem aqui. Se não estiver no meio, você pode ver aqui que são todos zeros. Você pode realmente redefinir sua posição. Então, mesmo que seja algum tipo de posição diferente da minha, você pode simplesmente redefini-la e será no 00. Muito agradável. Agora, este objeto de jogo vai ser o nosso gerador de forma. É onde nossas formas serão criadas. Então, vamos dar o nome de nossa forma de desova. Legal. Então agora temos um gerador de forma em nossa cena. A próxima coisa que precisamos fazer é criar um script para nossos geradores de forma. Então vamos em frente e fazer isso. Clique com o botão direito do mouse no interior do projeto. Vá para Criar e script C-sharp. E este script SSH vai ser chamado Shape spawner. Vamos clicar nisso e esperar que ele compile. Aqui temos ele pronto para usar. E antes que
esqueçamos, vamos em frente e adicioná-lo à geração de formas e nossa hierarquia. E agora, se clicarmos em nosso objeto, você pode ver que o script está anexado aqui mesmo sob o transporte. Muito agradável. A próxima coisa que vamos fazer é simplesmente abrir isto. E ele deve abrir no Visual Studio e esperar que ele se abra. Oh, ok, ótimo. Então, como você pode ver aqui, nós temos um monte de código que já está presente e deixe-me apenas levá-lo através dele um pouco antes de começarmos. Então aqui temos essas três linhas que estão perdendo a coleção do
sistema usando coleções genéricas e o uso do mecanismo Unity e o que essas três linhas são chamadas R. Estes são namespaces e o que os namespaces nos permitem fazer é nos permitem usar funções diferentes de uma entidade específica. Então, por exemplo, vamos explicar o mecanismo Unity bem aqui. Isso nos permite, antes de tudo, usar o início e a atualização, que vamos chegar em apenas um pouco. E isso nos permitirá manipular o comportamento de certos objetos que estão presentes em nosso mecanismo Unity bem aqui. Então, por exemplo, podemos acessar o gerador em forma de D, mudar sua posição. Podemos fazer muitas coisas porque estamos usando o namespace do mecanismo Unity. Agora, sob Unity Engine, você pode ver que é um público. Vamos rever o que é público, é uma aula. E tem o nome das formas Palmer. Agora esta forma Spawner é o nome do script que lhe demos. E é por isso que eu sempre digo que você precisa ter
certeza de que sempre que você nomear seu script que ele é nomeado, os dois vão manter porque se você mudar o nome do script, o nome da classe não vai mudar e haverá ser muitos erros no futuro. E o comportamento de Mano é, como você pode ver bem aqui, cada unidade é script, uma base que você pode usar. Assim, o comportamento de mana permite que você use
o início, a atualização e outras funções que usaremos mais tarde. Então vamos falar sobre o começo. O que é d start irá distorcer é chamado
no quadro quando um script é habilitado pouco antes da atualização. Então, o que tudo isso significa? Se entrarmos na unidade, por exemplo, e clicarmos no jogo quando começarmos. Então agora começamos o método start na forma geradora começará. Então é a primeira coisa que começa sempre que entramos em nosso modo de jogo. Vamos sair daqui e voltar para a Unidade. Então, a próxima coisa que temos é a atualização. E a atualização é chamada uma vez por quadro, como você pode ver aqui no comentário. E é usado para implementar qualquer tipo de script de jogo. Então, se quisermos mover nossos objetos, usamos a atualização. Se nós, o quê? Se quisermos obter entrada de um jogador? Usamos a atualização. Se quisermos mudar a posição, rotação, talvez comece alguma coisa. Não, eu não quero atualizar agora. Se queremos fazer qualquer coisa que envolva movimento e mudança de direção ou comportamento, nós sempre usá-lo uma atualização porque esta função é chamada Cada single. Frank, eu fui demonstrar isso daqui a pouco. Mas a primeira coisa, vamos em frente e usar, vamos imprimir algo para o nosso console. E vamos usar algo diferente do que a impressão digital. E na verdade é o relógio de ponto de depuração. Então, a maneira como fazemos isso é simplesmente escrever log de pontos de depuração. E se você está se perguntando como eu estou realmente auto completando estes, eu estou simplesmente escrevendo ponto de depuração e ele me dá opções. Eu escrevo o L o e, em seguida, eu pressionar na guia e ele continua qualquer opção que eu escolhi. E dentro daqui vamos escrever uma mensagem que vai ser, Ei,
lá, eu estou usando depuração no início. Então vamos fechar isso e lembre-se sempre de adicionar um ponto-e-vírgula. E agora, se entrarmos em nossa unidade, coletaremos em jogo. Devemos ver no console aqui mesmo que Hey lá, Eu estou usando depuração iniciar. Muito agradável. E se você não tiver o console, entre na janela, entre no geral e você deve ter o console aqui pronto para você usar. Eu adulterei ao lado do projeto porque este é um, meu lugar favorito para acoplar o console. Agora vamos em frente e ver o que acontece se
usarmos esta linha aqui dentro da atualização. Então vamos copiar isso. Cole aqui e usaremos a atualização de depuração e silo. Guarde isso de volta na Unidade. E vamos ver o que acontece quando clicamos no jogo. E você pode ver que temos cada quadro que estamos imprimindo para o console. Ei, estou usando depuração e atualização. Muito agradável. Então, estes são os conceitos básicos do debulk. Não é nada de especial. É exatamente o mesmo que a impressão, mas eu queria usar a depuração porque, porque é uma maneira muito mais profissional de imprimir coisas para nosso console e vamos usá-lo mais tarde durante a depuração. Nós vamos. Isso é usado, por exemplo, se temos um método e não temos certeza se estamos realmente inserindo esse método ou função. Usamos o depurador para imprimir algo e que nos
permitirá entender se temos algo funcionando. Agora, outra coisa ou outro recurso de depuração, vamos simplesmente remover isso aqui porque não vamos usá-lo e atualizá-lo. Outra característica da depuração Deepa que é muito útil é o aviso de log de pontos de depuração. Então, em vez de simplesmente imprimir uma mensagem, podemos realmente imprimir um aviso. Então, ei aí. Este é um aviso com um ponto de exclamação. Vamos fechar isso e vamos ver o que acontece quando clicamos no jogo em unidade. Então, clicamos no jogo. E como você pode ver, hey, isso é um aviso e na verdade é um tipo diferente de símbolo bem aqui. Se você não pode vê-lo, você deve olhar bem aqui à sua direita. E você pode realmente desabilitar e habilitar se você pode visualizar erros ou mensagens ou avisos. Assim, os avisos são como se estivessem um passo acima das mensagens normais que nos ajudam a entender que isso não deveria estar acontecendo. Ou, por exemplo, isso ou algo está faltando ou algo não está certo. E por último, temos algo que é o erro de log de pontos de depuração. E isso realmente nos permite imprimir um erro. Então, ei, isso é um erro. Cu então, oh, eu não tenho certeza o que é isso. Isso é simplesmente clicar sobre isso e o X, salvar isso. E aí, isso é um erro. E se formos para Unity, coletar em jogo, podemos ver que isso imprime um erro. Um erro significa que temos algo muito fatal e devemos certificar-nos mudar isso e corrigido e código, é claro. Então, vamos voltar de lá. E vamos ver. Então temos o blog debug dot, debug dot warning e depurar esse erro. E agora é hora do seu desafio. E seu desafio é simplesmente adicionar algumas linhas. Portanto, adicione uma mensagem exibida
no console dizendo ao jogador para pressionar uma determinada seta. Por exemplo, adicione uma mensagem de aviso. Pode ser o que você quiser e adicionar uma mensagem de erro. Pause o vídeo agora mesmo e vá fazer o Challenger. Oh, ok, bem-vindo de volta. Então, como você se saiu com isso? Espero que tenha tentado o seu melhor. Vamos alterar este registo de depuração aqui. E vamos dizer ao jogador para pressionar a tecla de seta esquerda para ir para a esquerda. E no aviso, vamos em frente e mudar isso. Não pressione a tecla de seta para a direita para ir para a esquerda. E no final, a flecha, devemos escrever. Pressionando a tecla de seta para a direita para ir. A esquerda é fatal com dois pontos de exclamação. Opa, com dois pontos de exclamação. Então vamos guardar isso. Vamos voltar para a Unidade. Vamos clicar no jogo. E dentro do console podemos ver que pressione a tecla de seta esquerda para ir para a esquerda. Não pressione a tecla de seta para a direita para ir para a esquerda. E pressionar a tecla de seta para a direita para ir para a esquerda é fatal. Então eu espero que você tenha gostado deste vídeo muito simples. Não é nada novo. Nós já imprimimos algo para o console antes, mas esta é uma maneira mais profissional e robusta. Então, vemo-nos na próxima.
6. Variáveis 101: Bem-vindos de volta a um novo vídeo. E este vamos aprender tudo sobre variáveis. Então, como você pode ver aqui, não
há nada que realmente chame a atenção. São apenas números e palavras. Mas se olharmos bem no fundo do nosso código, podemos ver que adicionamos três variáveis. Um é float, um é inteiro, e uma string. E nós realmente integramos nossas variáveis dentro de nosso blog de pontos de depuração, que é um aspecto muito legal do revestimento e extremamente útil e versátil. E isso realmente nos leva para o próximo nível de codificação e escritos nítidos. Então eu espero que você tenha gostado do vídeo e não vamos perder mais tempo e começar. Certo, então quais são as variáveis? Deixe-me contar tudo sobre variáveis. Então deixe-me colocar meu laser e agora estamos prontos para ir. Então variáveis são como caixas. Digamos que temos uma caixa e esta caixa tem um nome, e o nome desta caixa é vida. Então, o que fazemos com a caixa? Bem, colocamos coisas dentro dela. Então colocamos, por exemplo, um três dentro da caixa. Então agora temos uma caixa que tem um nome de vidas e tem um inteiro que é três dentro dela. E é exatamente assim que a variável funciona. Então é assim que introduzimos variáveis dentro do nosso código. Temos o público, que é a acessibilidade. Temos variáveis públicas e privadas. Variáveis públicas podem ser usadas em qualquer lugar do nosso código. As variáveis privadas são usadas apenas dentro
do script ou da classe que são as mesmas que criamos. Então temos o inteiro, e este é o tipo de variável que temos. Então, por exemplo, aqui mesmo, o inteiro, a variável é três, isso significa que é um inteiro. Então temos o nome da nossa variável. E finalmente temos os dados que queremos colocar em nossa variável. Então vamos falar sobre os diferentes tipos de variáveis que temos. Nós temos, nós falamos sobre inteiro, agora falamos sobre o flutuador. Então, por exemplo, você pode ter a velocidade de um carro. Não são, por exemplo, dez milhas por hora ou 32 milhas por hora. Pode ser às vezes 4,8 milhas por hora ou 6,7 milhas por hora. Então é sempre, sempre que temos uma variável que pode ter um flutuador, usamos essa velocidade de flutuação igual a 4,8. E sempre que criamos um flutuador, precisamos adicionar o f no final dele. Outra coisa que precisamos ter em mente sempre que estamos nomeando nossas variáveis, que a primeira palavra de uma variável é sempre com um primeiro caractere minimizado ou minúsculo. Então, por exemplo, a velocidade V está sempre em minúsculas. Mostraremos como às vezes você verá a Apple em maiúsculas. Então este é um exemplo de maiúsculas. E é uma variável que é um booleano. E um booleano pode ser verdadeiro ou falso. Isto é muito útil. Vamos usar muito esta variável booleana em todos os projetos. Então, tenha isso em mente. E como podem ver aqui, a convenção de nomes. A primeira palavra, que é,
é, está em minúsculas, enquanto a segunda palavra, que é que está em maiúsculas. Então este booleano, que é chamado é que é igual a true e às vezes pode ser igual a false. E o último tipo de variável que vamos falar é a variável string. E string significa uma cadeia de caracteres, caracteres próximos um do outro. Aqui temos uma caixa com o nome do meu nome e o meu nome é Michael. Assim, a cadeia de caracteres que são ICH, et cetera, et cetera, são string juntos para criar uma variável que é do tipo String. Então vamos agora tentar implementar variáveis de uma boa maneira em nosso código para que possamos ver a eficácia das variáveis. Vamos voltar para o nosso Visual Studio, O.K. Então, como vamos usar variáveis aqui? Vamos primeiro de tudo, removemos o aviso e o erro como não os usaremos agora. E vamos em frente e criar uma variável aparecer. Mas o que deve esta variável B? Antes de fazer isso, vamos criar uma circunstância para usar nossa variável. Então vamos dizer que aqui temos o,
pressione a tecla de seta esquerda para ir para a esquerda. Digamos, por exemplo, que precisamos pressionar a tecla de seta várias vezes. Então pressione a tecla de seta para a esquerda cinco vezes para ir. Ri, muito bom. Então, agora, se salvarmos e voltarmos ao Unity, clicamos no jogo. Devíamos chegar aqui. Então, vamos pressionar a tecla de seta esquerda cinco vezes para ir para a esquerda. Certo, digamos que queremos mudar isso. Digamos que precisamos pressioná-lo sete vezes. Salvamos isso, voltamos e nos unimos e vemos que precisamos passar sete vezes. Mas isso é muito fácil, não convencional porque temos 20 linhas de código. O que você faria se tivéssemos, digamos, 2 mil linhas de código? E você precisa encontrar isso aqui,
este log de pontos de depuração de mensagem. E você precisa encontrar o lugar exato onde há um sete e você precisa mudá-lo. Bem, é aqui que as variáveis entram. Então vamos em frente e criar uma variável. Digamos que é um privado. Então podemos escrever em privado, podemos escrever em privado e depois bater no Tab. Então é privado. É um inteiro, e ele vai ser chamado número de vezes. Então, como você pode ver, eu nomeei esta forma de convenção, maneira convencional de nomear variáveis. A primeira palavra está em minúsculas. Segundo Mundo tem o primeiro mais plano e a maiúscula e a última palavra também para cada trabalho subsequente tem a primeira letra em maiúsculas. De qualquer forma, agora podemos realmente ir em frente e colocar um lado sete do nosso número de vezes. E vamos usá-lo aqui mesmo em nosso debug.org. Então, em vez dos sete, vamos adicionar estes dois. Cotas bem aqui, eu não tenho certeza se eles são chamados de cotas são chamados de cotas. Nós adicionamos um plus e escrevemos aqui número de vezes, e adicionamos outro plus. Então vamos guardar isso. E vamos mudar isso para, por exemplo, 236. Vamos guardar isso. Então voltamos para a Unidade. E agora temos estes cinco aqui. Estamos colecionando brincadeiras. E agora precisamos pressionar a tecla de seta para a esquerda 236 vezes para ir para a esquerda. Muito agradável. E eu fiz algo em um vídeo anterior que eu notei que era muito rápido e eu realmente posso limpar este console. Se você clicar em Limpar sobre isso aqui, clicamos em Limpar, Tudo é limpo do nosso console. E outra característica muito legal é que você pode limpar no jogo. Assim, sempre que você clicar em Reproduzir novamente, tudo no console é limpo. Ok, e eu vi que isso era uma nota lateral. Legal. Então agora você pode ver a eficácia das variáveis dentro do nosso código. Vamos em frente e criar outra variável. Vamos tornar este público. E vai ser uma variável flutuante. E o que deve nossa variável flutuante b? Bem, deve ser, por exemplo, a velocidade, a velocidade de e vai ser, digamos 6.93. E vamos ver onde podemos adicioná-lo. Então, pressione a tecla de seta para a esquerda número de vezes. E como você pode ver aqui, seu instrutor acaba de cometer um erro e nós
não adicionamos o f no final da nossa variável. Então vamos em frente e fazer isso. Uma coisa a ter em mente é que cometer erros é perfeitamente bom, desde que você assuma a responsabilidade por eles e certifique-se de tentar nunca mais cometê-los. De qualquer forma, vamos continuar. Então pressione a tecla de seta para a esquerda número de vezes para ir para a esquerda na velocidade de, Digamos que este é um, isso é puramente por exemplo. E nós vamos adicionar a velocidade da variável no Android aqui e remover o quarto em que, salvar isso. Vamos voltar para a Unidade e ver se isso funciona. Clique no play e pressione a tecla de seta esquerda 236 vezes para ir para a esquerda na velocidade de 6,93. Muito agradável. Então agora nós também podemos mudar isso imediatamente para o que quisermos e muda
diretamente sem nós entrar e mudar string dentro do ponto de depuração. E isto é, as variáveis são extremamente importantes e são, na verdade, a parte mais importante, creio
eu, no revestimento. Eles são usados em todos os lugares, em todos os códigos concebíveis e imagináveis que você possa imaginar. Dito isso, é hora do seu desafio. E seu desafio será criar suas próprias variáveis. Então, primeiro de tudo, você precisa criar uma variável do tipo string e usá-la na mensagem de log de depuração. Você pode até criar outra mensagem de O'Clock depurada, se desejar. E você precisa alterar a variável string e verificar se ela muda no console. Pause o vídeo agora mesmo e vá fazer o desafio. Ok, bem-vindo de volta. Como você plantou isso? Espero que não tenhas ficado a olhar para a tela uns segundos à minha espera. De qualquer forma, vamos em frente e criar uma variável. Vai ser uma corda. Então, se não adicionarmos nada atrás da string, a variável será pública. E lembre-se, vamos chamar essa corda de seta para pressionar. E vai ser a seta para a esquerda, ou simplesmente para a esquerda. Ou vamos mudá-lo para escrever. E vamos guardar isso. E agora bem aqui, então nós vamos pressionar V em dois quartos em um plus, e vai ser seta V para pressionar. Ok. - Legal. Então vamos ver se isso funciona e lembre-se sempre de salvar o caminho, você sabe, se você ainda não salvou, você precisa verificar aqui. E você pode ver que tem uma pequena estrela ao lado dela. Isso significa que o script não foi salvo para salvar simplesmente frio ou pressione Control S. E tudo deve ser salvo em seu script e voltar para o Unity. E vamos clicar no jogo e ver o que acontece. Então precisamos pressionar a seta para a direita. Ok, legal. Então vamos mudar isso para a seta para cima. Guarde isso de novo, volte para a Unidade. E é claro que temos a certeza em jogo se removermos a clara no lugar. Então talvez esta seja uma opção melhor. Então, removemos a coluna, clique no jogo, e temos a tecla de seta pressionada 236 vezes a velocidade de 6,93. Muito agradável. E eu não sei se você notou talvez alguns de vocês que são afiados. Notei que no roteiro temos isso aqui no inspetor. Então, qual é esse valor? Bem, nós podemos realmente mudar esse valor. Por exemplo, clique em jogar e desvalorizar e aqui também vai mudar, o que é uma ferramenta muito útil. E você vai precisar disso vamos falar mais tarde em nosso projeto. Então eu espero que você tenha gostado do vídeo e eu vou vê-lo no próximo.
7. Corpos rígidos e pinças: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, adicionamos uma plataforma. Adicionamos um cubo com um corpo rígido e caixas de colisão que vamos falar. E quando coletamos em jogo, r cubo realmente cai e salta em nossa plataforma. Então este é um vídeo muito divertido. É uma das mais excitantes. Não vamos perder mais tempo e vamos começar. Certo, então o primeiro passo é criar um cubo. Então vamos em frente e criar uma fila. Vamos clicar com o botão direito do mouse e nossa hierarquia aqui, ir para o objeto 3D e criar uma fila. Então agora temos um cubo, e como eu já disse antes, vá em frente e redefina sua posição. E se foi muito rápido para você, esta é a transformação. Estes são os três botões que precisamos clicar, e aqui temos uma opção para redefinir o transporte. Então agora está na posição 0, rotação de 0 e a escala é 111. Isso é movê-lo um pouco aqui para que possamos ver claramente. E se clicarmos na vista de jogo, podemos ver que temos um cubo e nossa visão de jogo. Vamos mudar isso de três aspectos para 16 por nove, e isso simplesmente nos ajuda a manter uma boa proporção. Então vamos em frente, vamos voltar e ver. E como podem ver aqui, temos muitas coisas ligadas ao nosso cubo e ao inspetor. Então vamos falar sobre eles um pouco. Primeiro de tudo, temos a malha, e essa malha é o que determina as operações. Então quebra de cubo é o que determina a forma que temos. Então, por exemplo, podemos escolher uma cápsula, um cilindro, ou uma esfera, um quad, um avião, tudo, o que quisermos, mas por enquanto vamos mantê-lo como um cubo. Em seguida, temos o renderizador de malha, e isso é realmente onde podemos ajustar a aparência do cubo r. Então, podemos alterar isso do material padrão para um quadro de sprite padrão diferente. Não sei o que é isso. Isso é o, isso está fazendo dele um buraco negro. E se o sol e a câmera estão incomodando
você, você pode realmente ligar os aparelhos, ou você pode simplesmente fazer os aparelhos muito menores para que eles não nos incomodem. Está aqui em cima, nos aparelhos. Ok, legal. Então agora temos nossos cubelets negros escuros mudados de volta para seu material padrão. Mas foi bem, material
padrão, não importa. E você também tem as sondas de iluminação e configurações adicionais que você pode aprofundar. E finalmente, temos este colisor de caixa em volta do nosso cubo. Agora, o que é este colisor de caixa? Mas antes de falarmos sobre Box Collider, confie em mim, falaremos sobre Box Collider. Vamos primeiro falar sobre corpos rígidos. Agora, o que são corpos rígidos? Agora? Se clicarmos no jogo, podemos ver que simplesmente temos um cubo e uma pequena mensagem que devemos remover. De qualquer forma, temos uma raiz de cubo aqui, mas nada acontece com ela. É simplesmente um objeto de jogo e não tem nenhuma vida nele. Então, como adicionamos vida ao nosso cubo? Precisamos adicionar algo chamado corpo rígido. Agora, o que é esse corpo rígido e como o adicionamos? Simplesmente aqui no componente Adicionar. Se clicarmos nele, podemos ir em frente e procurar corpo rígido. E temos dois tipos de corpo rígido. Temos o corpo rígido 2D e temos o corpo rígido sem nada, que é 43 d, e estamos trabalhando em 3D. Então vamos em frente e adicionar um corpo rígido. Agora, se clicarmos no jogo, podemos ver que o cubo r começa a cair. Por que é isso? Bem, deixe-me explicar com alguns slides. Então, o que é um corpo rígido? É, nos dá o controle da posição de um objeto através da simulação física. Objeto corpo rígido será puxado para baixo pela gravidade sem adicionar qualquer código. E nós também podemos aplicar nossas próprias forças sobre eles. Então, de volta à Unidade, há uma explicação muito simples do corpo rígido. Adorei a documentação em Unity. Ou você pode simplesmente ir em frente e pesquisa Google para unidade ou unidade de corpo rígido e você terá um link para a documentação que você pode ler tudo sobre corpo rígido. Mas como você pode ver agora, nosso corpo rígido adiciona massa. Adiciona arrasto, adiciona arrasto angular, e adiciona gravidade. Também podemos torná-lo cinemático. Há muitas coisas que podemos mudar sobre o nosso objeto de jogo quando temos um corpo rígido ligado a ele e realmente misturar tudo em nosso jogo muito mais natural, e ele realmente adiciona um elemento físico. Ele faz o nosso trabalho jogo com a física do motor de unidades e agora r cubo e clicamos em Jogar, simplesmente cai. Agora outra opção que temos é simplesmente desligar a Gravidade de Uso. E agora, se clicarmos no jogo, nosso objeto não cai. Tão legal, isso é muito legal. Limpar no Play, limpar isso, salvar tudo isso. E o que devemos fazer a seguir? Bem, nós deveríamos estar explicando um pouco sobre colisões de caixa. Então, vamos clicar sobre isso aqui, que é o volume delimitador Editar. Se clicarmos nele, podemos ver que há um quadrado verde em cada lado do nosso cubo. E isso faz dele um cubo verde. Nós podemos realmente mudar isso para que possamos aumentar seu tamanho. E isso é realmente o que nos permite
interagir com outros objetos de jogo que têm caixas de colisores sobre eles. Então deixe-me falar sobre colisores de caixa e hábitos. Então, o que é um Colisor de Caixa ou um Colisor? E o nosso caso é um colisor de caixas, mas porque está à volta da caixa. Assim, torna possível que objetos interajam e colidam, daí o colisor uns com os outros. E vamos usá-lo para capturar objetos que têm um corpo rígido e estão caindo por causa da gravidade ou qualquer outra razão para eles caírem. Então vamos voltar e ver o que nosso colisor de caixa realmente faz. Mas antes de fazermos isso, na
verdade você vai descobrir como funciona um Colisor de Caixa porque pegar nosso cubo caindo faz parte do seu desafio. E seu desafio é pegar o cubo caindo. Então encontre uma maneira de impedir que nossa deixa caia
no abismo por Simon, seja lá o que for, e a Unidade seja. Esse é o Airbus, eu chamo de abadessa. E vou te dar algumas dicas porque esse é um desafio difícil. Primeiro de tudo, você precisa criar outro cubo e dimensioná-lo para o tamanho da plataforma. Então você precisará criar uma plataforma sob nosso cubo. Você precisará desmarcar usando a gravidade ou remover o componente. E você precisará adicionar um colisor ou certificar-se de que sua plataforma tem um colisor. Pause o vídeo agora mesmo e vá fazer o desafio. Bem-vindos de volta a todos. Espero que tenha feito o desafio e não tenha sido muito quente. Nós estamos simplesmente indo para duplicar o nosso cubo e vamos nomear este formulário plataforma v. E vamos movê-lo um pouco para baixo, colocá-lo na posição 0. E para torná-lo maior, podemos realmente brincar com essa escala. Então vamos aumentar a escala do eixo e fazê-lo para quando t5 aumentará a escala y. Devemos aumentar o dispositivo K? Não, não precisamos aumentar a escala y. E vamos em frente e aumentar a escala. Agora temos uma plataforma, mas uma hora de jogo. Meio que parece bom. Nosso cubo é falso. Mas o que acontece? E, na verdade, nada acontece. Por que é isso? Bem, porque a gravidade está desligada no cubo e na plataforma. Então vamos em frente e voltar a ligar a gravidade no cubo. Clique no jogo. E o que acontece? Bem, como podem ver, ambos
estão caindo no abismo da unidade. Por que é isso? Bem, porque nossa plataforma, mesmo não sendo usada pela gravidade, outras forças também estão afetando nosso corpo rígido. Agora, há duas maneiras de resolver isso. Há a cinemática, mas isso leva a um comportamento estranho porque vamos em frente e fazer a plataforma cinemática. Seja clique no jogo. Cubo R cai, nada acontece, mas se adicionarmos mais cubos, a plataforma começa a girar. Portanto, a melhor maneira é simplesmente remover o componente rígido do corpo da nossa plataforma. E outra coisa sobre a qual eu queria falar. Então vamos colocar o z do cubo r de volta para 0. A vista do jogo é boa. Parece bom, mas não é tão bom quanto queremos. Então, queremos mudar a posição da nossa câmera. E se você clicar na câmera, você pode ver como a visão do jogo aqui nesta pequena caixa parece. Então queremos mudá-lo. Queremos que a posição seja, por exemplo, aqui em cima. E podemos começar a mover a câmera para cima e para baixo e ter certeza de que funciona. Mas há uma outra maneira mais chique de fazer isso. Se escolhermos a maneira que queremos olhar para a cena do jogo, por exemplo, eu quero este. Nós clicamos na câmera. Podemos realmente subir aqui e para o objeto do jogo e para baixo podemos ver que temos a opção de mover para ver ou Alinhar com vista. Então, vamos clicar em Alinhar com vista. E vocês podem ver aqui que, na verdade, nossa visão é agora, bem, a visão que temos em nossa cena que escolhemos é na verdade a visão e o nosso jogo principal. Portanto, esta é uma maneira muito útil de mudar a posição de nossas câmeras muito rapidamente. Também pode usá-lo para mudar outra posição. Quero dizer, você também pode usá-lo em outros objetos do jogo, mas eu achei que a câmera é o correspondente para fazer isso foi com. Então vamos voltar para a câmera. Agora, se clicarmos no jogo, esta será a nossa visão. E mais uma vez, não é muito agradável. Vamos mudar isso. Por exemplo, coloque-o aqui, e talvez mova a caixa para cá. Mas, na verdade, vamos mudar a malha aqui e torná-la branca apenas para que possamos diferenciar entre cubo r e a plataforma. Está caindo. Então agora RQ cai e cai na plataforma. Muito agradável. Então, mais uma coisa que eu queria acrescentar, só por diversão, vamos em frente ao nosso projeto. Vamos clicar com o botão direito e podemos realmente criar, o que devemos criar? Bem, nós podemos realmente criar um material e este material vai chamá-lo de material cubo. E nós podemos realmente adicionar o material de script para todos os cubos aqui em cima. E nós temos a opção, temos muitas opções. Você pode ir e verificar todos eles, mas o mais importante que precisamos é a cor. Então podemos mudar a cor do nosso cubo e torná-lo talvez um vermelho, vermelho alaranjado, ou mantê-lo vermelho, vermelho. E também podemos criar um outro material. Então vá em frente e crie um material. E deixa-me mostrar-te outra vez. Então, apertamos no botão direito do mouse ir para criar. Temos muitas opções e uma delas é o material aqui. Então nós criamos um material, plataforma, material e vamos adicioná-lo à plataforma. E vamos mudar a cor para verde. Agora temos uma plataforma verde. Ou, na verdade, acho que vamos manter a nossa plataforma um pouco. Peixe branco cinzento esbranquiçado, que é melhor porque vamos estar adicionando outros componentes, outros cubos e esferas e cilindros. H terá sua própria cor manterá este padrão. De qualquer forma. Em outra coisa, a parte divertida deste vídeo vai ser adicionar um material de física. Então aqui em baixo nós temos o material físico ou material físico para D, Nós escolhemos o material físico. E este será o plat para a física. Esta não é a parte mais importante, mas vamos precisar dela. Vou te mostrar o porquê. Podemos mudar aqui o atrito dinâmico. Podemos mudar o atrito estático. Mas o que mais nos interessa é a salsicha. Então vamos fazer o bounciness um, e vamos arrastá-lo em nossa plataforma. Então, se clicarmos na plataforma e olharmos para o colisor de caixa, podemos ver que nosso material é agora a física da plataforma que criamos. E agora, quando clicamos no jogo e nossa caixa falsa, ele realmente começa a saltar. Muito legal. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
8. Prefabs e sistema de entrada básico: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, vamos aprender sobre duas coisas. Primeiro, aprenda sobre prefabs. Então este cubo aqui e a esfera e esta plataforma são todos prefabs. E outra coisa que vamos aprender é como usar a entrada de um jogador para mudar as coisas em nossa visão de jogo. Então, agora, se clicarmos na vista do jogo, se pressionarmos o botão de espaço ou a barra de espaço, instanciamos um cubo. Podemos instanciar quantos quisermos. E se pressionarmos o botão esquerdo do mouse, também
podemos instanciar esferas que rolaram e interagir com o mundo ao nosso redor e também cair da borda para o abismo. Então isso é muito divertido. Este vídeo é muito legal. Requer um pouco de atenção e confiança, então não vamos perder mais tempo e vamos começar. Certo, antes de começarmos com a entrada do jogador, vamos primeiro criar uma pré-fabricada. E antes de criarmos um prefab, vamos falar sobre o que é um prefab. Então vamos para o nosso laser. Obrigado. E aos nossos slides. E agora vamos falar sobre o prefeito. Então, o que é um prefab e unidade? É um conceito muito importante e talvez você já tenha ouvido falar antes. Deixe-me explicar. Você, explicou a você o que eles preferem bys e a maneira mais simples possível. Então é um objeto previamente fabricado. Muito fácil. Então, diria objeto previamente fabricado. O que é uma pré-fabricada? É um modelo para um determinado objeto de jogo. O sistema pré-fabricada permite armazenar um objeto com todas as suas propriedades. Então você pode ir para o próximo. Você pode realmente pegar um objeto de jogo que tem, por exemplo, um corpo rígido com uma massa de 15. E você pode pré-fabricá-lo. Então você pode criar outros objetos de jogo como este cubo que têm uma massa de tudo o que eu disse, a mesma massa. E você pode produzi-lo mais e mais e mais. Então, para que o usamos? Podemos reutilizar um objeto de jogo configurado de uma maneira particular. Podemos editar muitos objetos de uma só vez e podemos usar o mesmo objeto em cenas diferentes muito mais fácil. Agora, a última parte que veremos mais tarde,
vamos entender por que isso é muito importante. Mas por enquanto, como temos uma única cena, não
saberemos como isso funciona, mas é muito importante. Então vamos em frente e criar um prefab. Então o prefab é um conceito simples, mas na verdade criar um prefab é muito, muito complicado. Para criar um prefab, você precisa clicar no cubo. Por exemplo, se você quiser pré-fabricar o cubo e precisar
arrastá-lo para os ativos. E é isso. É assim que você cria um prefab. É uma das coisas mais simples que, coisas que você pode fazer. Então, como você sabe que é uma pré-fabricada? Você realmente vê que o cubo esgotado na hierarquia está na cor azul. E você também pode pré-fabricar a plataforma. E você também pode pré-fabricar esta bomba formas de choque. Você pode pré-fabricar a câmera principal. Você pode preferir a luz direcional, você pode preferir o que quiser. Então agora que temos um cubano ou pré-fabricada, podemos realmente ir em frente e adicionar outro cubo. E outro cubo. Outro cubo. Então agora, como você pode ver, temos muitos cubos e somos vistos. Eles estão sob o solo, mas pelo menos eles são cubos e são vistos e todos eles são vermelhos e todos eles têm os mesmos componentes no inspetor. Então por que a pré-fabricada é tão legal? Porque vamos tomar este cubo por exemplo. Se aumentarmos a escala do eixo, nós realmente temos uma opção aqui que é substituir. E o que isso faz, ele realmente nos permite aplicar as mudanças em todos os outros transportes, quero dizer, todos os outros prefabs da mesma origem ou cubos. Se clicarmos em aplicar, todos os outros cubos também aumentaram em escala na direção x. E este não tem que ser o original. Então, podemos escolher, por exemplo, o cubo para, podemos aumentar a escala na direção z. E se olharmos para cima, podemos aplicar isso. Agora, todos os cubos vinculados ao prefab também alteram a escala de zoom. Muito agradável. Então vamos excluir tudo isso e vamos levar nosso cubo de volta ao tamanho normal, então 111 e salvar tudo isso. Então agora você entende por que e o que nossos prefabs e a maneira mais simples possível. A próxima coisa que vamos fazer é usar este pré-fabricado e ordenado para criar formas em nosso mundo usando nossas formas Palmer. Então vamos em frente e aplicar tudo isso para trazer de volta ao cubo e normal. E vamos para o nosso código. Então aqui, como podem ver, temos muitas variáveis. Temos a depuração, e por enquanto não precisamos da depuração. Podemos excluir tudo isso ou simplesmente adicionar dois comentários que fazem isso, faz disso um comentário e não vai funcionar. Portanto, este não é mais um código que é executado. É simplesmente um comentário. E por enquanto, vamos em frente e excluir todas as nossas variáveis porque elas eram apenas exemplos. Mas vamos criar uma variável. E esta será uma variável muito especial que você verá mais tarde. Agora, qual é o nosso objetivo? Nosso objetivo é instanciar cubos, nosso gerador de cubos ou formas Palmer, usando uma certa chave, que é a barra de espaço. Então, o que queremos dizer com uma barra de espaço ou uma chave? Isso significa que temos de introduzir algo na nossa unidade. E há várias maneiras de fazer isso, mas uma das melhores está usando algo chamado entrada. Agora, eu inicialmente queria apenas ir junto e criar todo o código. Mas o meu objetivo neste curso é realmente ensinar-lhe habilidades que lhe permitirão sair para o oeste selvagem e
selvagem do desenvolvimento de jogos e realmente ter as habilidades também. Passar pelos problemas sozinho porque este é um curso que eu não tenho certeza, oito ou dez horas. E isso não vai te ensinar tudo sobre tudo o que você precisa para aprender a realmente resolver os problemas, não apenas ver alguém resolver os problemas para você. Então deixe-me levá-lo pelo caminho passo a passo. Normalmente resolvo os meus problemas. Então eu preciso da entrada. O que eu faço? Vou ao Google, escrevo a unidade de entrada, e encontro esta documentação aqui. Então é sobre as entradas. Eu li a descrição um pouco. Eu entendo que é uma interface para o sistema de entrada. Então isso nos permite entrar no sistema de entrada. Eu li um pouco, Eu vejo que o uso em dispositivos móveis tem acelerômetros. Não se preocupe com isso. E é assim que o usamos no mar. Se entrada obter botão, fogo, o que for. É um exemplo, eu vou para baixo e para baixo e realmente começar a olhar para as propriedades estáticas. O que são todos esses? Olhei para baixo, li alguns, vejo o que posso usar. E finalmente, eu usei IC, o método estático. Isto é o que eu preciso. Preciso de métodos para mudar as coisas. E como eu leio através, eu posso ver que há uma opção aqui que é a tecla get para baixo e eu leio mais, ele retorna true durante o usuário enquadrado começa pressionando para baixo a tecla identificada pelo nome. E eu olho para ele, vejo que é realmente o que eu preciso. Agora, este é, este processo é muito mais difícil. Eu já sei o que quero usar, mas estou apenas dando um exemplo de como isso quase funciona. Normalmente leva de cinco a dez minutos. Mas de qualquer forma, eu uso isso fica chave para baixo. Abri a chave do portão e olhe para ela. A descrição me diz que ele retorna true durante o quadro para o usuário começa a pressionar a tecla. Agora talvez você seja apenas um começo. Você está apenas começando em codificação e você não sabe o que retorna, o que significa mesmo retorno? O que é verdade? É um booleano, mas não sabemos como funciona. Felizmente, temos aqui um exemplo. Então vamos em frente e copiamos este exemplo. Voltamos para a Unidade. E se olharmos mais de perto, podemos ver que estava dentro da atualização. Ok, legal. Então eu coloquei aqui, cole-o dentro da atualização, salvei tudo isso. Agora eu tenho um botão de entrada usando o espaço. Então, e na verdade também imprime algo para o nosso console, que é a tecla Space foi pressionada. Então vamos tentar isso. Talvez seja tudo um mito. Talvez não funcione. Tentamos em Unity. Nós clicamos no jogo, nós clicamos na barra de espaço e whoa, ele realmente funciona, ou a tecla Space foi pressionada. Muito agradável. Então, qual é o próximo passo? O próximo passo. E não se preocupe com a condição se e qual retorno é verdadeiro. Tudo será explicado em detalhes detalhados em alguns vídeos. Agora, qual é o próximo passo? Passo? O próximo passo é realmente instanciar o cubo usando esta barra de espaço. Agora, antes de seguirmos em frente, esta é uma referência de string e ouvimos que não gosta muito de referência de string. Tentamos encontrar uma maneira de evitá-los. E a melhor maneira de
evitar, evitá-los é usar a tecla get down e usar realmente algo chamado código de chave. E este código de tecla nos permite escolher uma tecla em nosso teclado, que é o espaço. Podemos escolher muitos códigos de chave diferentes. Por exemplo, o m, v ser o V, qualquer coisa que você coração deseja. A próxima coisa que temos que fazer é precisamos de uma referência ao nosso cubo ou forma. Então vamos fazer isso. Agora precisamos criar uma variável e vai ser um tipo especial de variável. Vai ser uma variável do tipo que vamos fazer nós mesmos. Antes de fazermos isso, vamos para a Unidade. Vamos para o cubo e vamos adicionar um componente aqui. E isso será uma forma. Agora, não temos nada chamado forma. Na verdade, vamos criar um novo script. E vamos criar um novo script. E o script terá um nome de forma. E nós vamos criá-lo. Vamos esperar um pouco. E agora nosso cubo tem um script que é chamado de forma. Vamos em frente e aplicar isso. Então agora todos os nossos cubos que criamos têm esta forma bem aqui. E agora o que podemos fazer é voltar às formas Palmer. E nós podemos realmente ir em frente e criar uma forma pública e criar uma variável que é o meu q. Então esta é uma variável muito, muito especial. E ele realmente faz referência, faz referência a qualquer objeto que tenha o script de forma nele. E vamos ver como isso funciona. Então agora tornamos público. E como você pode se lembrar, qualquer coisa que é público está realmente disponível aqui mesmo no Inspetor. Mas antes de
irmos, precisamos salvar isso. E se clicarmos nestas naves, Palmer, podemos ver que agora também temos uma opção aqui para adicionar uma forma ao nosso inspetor. E nós vamos realmente pegar este cubo que temos em nossa hierarquia e vamos arrastá-lo aqui mesmo, Qu. Então agora temos uma referência a uma forma de cubo. E o que é ainda melhor, uma maneira melhor de fazer isso é realmente ir e pegar o prefab e arrastá-lo para o gerador de forma. E isso vai ser muito, você vai saber por que, porque quando nós excluímos a forma são o cubo da nossa hierarquia, nós ainda temos em forma geradora o cubo direito quadril. Legal. Então agora criamos uma variável especial que é nossa forma com editado e nosso Inspetor, temos uma maneira de usar a barra de espaço. O último passo é realmente instanciar a forma sempre que pressionamos o espaço. E vamos voltar e imaginar que não temos ideia do que está acontecendo. Então nós simplesmente queremos instanciar algum tipo de objeto em nosso mundo. Então vamos em frente ao Google e escrevemos unidade instanciada, e obtemos este. Então este método aqui. Então nós podemos realmente usar isso e ele retorna o objeto ou o instanciado, o clone. Então nós podemos realmente dar a nós esta instanciação estática pública e dar-lhe o objeto que queremos instanciar e ele realmente cria um clone e adiciona-o ao nosso mundo. Muito agradável. Vamos ver o exemplo. O que tem? Ele tem um monte de coisas, mas podemos ver que podemos realmente usar apenas um único parâmetro para fazê-lo funcionar. Então vamos em frente e fazer isso. Por isso, instanciamos, abrimos os parênteses. E o que queremos instanciar? Bem, vai ser o Mike Hugh. Por que isso continua acontecendo? Então vai ser o meu cubo. Nós o fechamos com um ponto-e-vírgula, e agora estamos prontos para fazer as coisas funcionarem. Clique no jogo. E vamos ver o que acontece quando pressionamos a barra de espaço. Então acabamos de adicionar uma fila. Nós clicamos novamente e novamente e novamente e novamente e novamente e novamente. E podemos criar quantos cubos queremos até que RPC trava. E se você olhar para a hierarquia à esquerda, você pode ver que na verdade é um clone e não o prefab original. É um clone do cubo que temos como prefab,
assim como o conjunto de documentação do Unity. Então, agora que confiamos mais na documentação da Unidade, vamos em frente e fazer um desafio. Então o seu desafio vai ser para instanciar outras formas. Então, criando outra forma e Prefab usando outro botão no teclado para instanciar a forma. E um pequeno desafio extra para todas as pessoas experientes lá fora. Use o botão do mouse para instanciar. Ooh, muito bom. Pause o vídeo agora mesmo e vá fazer o desafio. Oh, ok, bem-vindo de volta. Então vamos em frente para a nossa unidade. E aqui vamos clicar com o botão direito do mouse em 3D objeto e vamos criar uma esfera, vai redefinir sua posição e colocá-lo aqui. Vamos em frente e adicionar o material do Cubo à nossa esfera. Por enquanto, talvez mudemos mais tarde. Mas, por enquanto, isso parece bom pesquisadores, mas apenas posicionar novamente e colocá-lo aqui. Então, agora, se entrarmos no gerador de formas, podemos ver que ele leva um cubo. Queremos adicionar um campo Formas. Antes de
fazermos isso, precisamos adicionar a forma à nossa esfera. Então agora nossa esfera é uma forma e criamos um prefab a partir dela. E nós vamos para as formas Bonner, quero dizer, no roteiro, a forma geradora. E vamos criar uma forma pública, a minha esfera. Se guardarmos isso, voltamos para a Unidade. Agora temos uma opção para adicionar nossa esfera e adicionamos nossa forma de esfera. Lembre-se de ter o script na esfera ou então isso não funcionará. Apagamos esse medo da nossa cena. E agora o que precisamos fazer é
usar algum tipo de chave e ordem para instanciá-la. Então vamos copiar isso porque não sabemos se as declarações são para agora. E uma espécie de barra de espaço que vamos instanciar usando os animais de rato você pode usar 0 ou uma ou qualquer outra opção. E em vez disso, em vez da minha fila, vamos usar a minha esfera. Então vamos guardar isso. E a maioria 0, se não estou enganado, é o botão mais à esquerda ou o direito. Vamos verificar e ver. Então, de volta ao Unity, clicamos no jogo. Tudo deve estar no lugar. Se clicarmos no QI da barra de espaço, um cubo instanciará, se clicarmos no botão mais à esquerda, uma esfera instanciará. E a coisa engraçada que esquecemos de adicionar um corpo rígido a ele. Então, esfera de backend, vamos para o componente, quero dizer, o prefab, nós adicionamos um componente e ele vai ser um corpo rígido e tudo deve ser ajustado. Usa a gravidade. Muito agradável. Salvamos tudo isso. Voltamos ao modo de jogo e agora criamos um cubo. Instanciamos uma esfera e lotes e lotes e muitas esferas. Então agora temos esferas rolando e
temos cubos e esferas e cubos e esferas, que é, que são todas lidas uma pequena dica se você quiser entrar nela, você pode realmente adicionar outro material à esfera para diferenciar entre eles. Então eu espero que você tenha gostado do vídeo e eu vou vê-lo no próximo.
9. Declarações de If Else: Bem-vindos de volta a um novo vídeo. E neste vídeo vamos aprender sobre se condições, e também vamos usar nossas condições para mudar a cor de nossas formas. Tudo bem, agora como você pode ver, a plataforma estripou. E é por uma razão muito boa. Vamos dar um pouco para cima. E quando clicamos no jogo, R cubo é lido até ficar verde e até ficar amarelo. E tudo isso é possível usando as condições if. Deixe-me mostrar-lhe outra coisa que é muito legal que fizemos neste vídeo, se colocarmos a plataforma do outro lado, clicamos no jogo. É vermelho, é verde e é azul. Então este é um vídeo muito divertido e não vamos perder mais tempo e começar. Certo, então se as condições e declarações, elas são parte crucial do revestimento em qualquer linguagem que você queira aprofundar. Mas antes de começarmos a explicar e se as condições são, deixe-me dizer-lhe por que vamos usá-las em nosso código. Então, digamos, por exemplo, que
temos este cubo bem aqui. Vamos redefinir sua transformação. Então está no meio. E digamos que temos este cubo, por exemplo, a uma certa altura no eixo y e seu, por exemplo, 9,83. E o que queremos é que queremos mudar a cor
do nosso cubo se ele cair abaixo de uma certa altura. Então, digamos, por exemplo, se r cubo fica abaixo de 3, queremos que a cor do nosso cubo mude de vermelho para uma cor, por exemplo, azul ou amarelo ou qualquer coisa. Por isso, queremos mudar a cor dos nossos cubos se caírem abaixo de um certo limite. É aqui que começamos a usar algo chamado condição if. Então vamos explicar a estrutura das afirmações “se”. E a propósito, às vezes eles são chamados se declarações ou se condições, não importa. Pode chamá-los do que quisermos. Mas de qualquer forma, esta é a estrutura de uma declaração if. Então você tem que fazer uma pergunta. Se alguma condição que precisa ser verdadeira for verdadeira, executamos o código que está dentro desses dois colchetes. Então, se temos alguma condição, assim como fizemos no vídeo anterior, onde pegamos a condição de alguém pressionando um determinado botão, por exemplo, a barra de espaço ou o botão do mouse. Se alguém pressionar esse botão, então o código dentro desses colchetes será executado. Agora, outra coisa que temos nas declarações se é o elsif. Então vamos dizer que esta condição aqui não executada e estamos procurando por uma condição diferente ou alguma outra condição. Então talvez você esteja procurando, talvez seja o espaço, mas a barra de espaço ou o, por exemplo, desabotoar. Portanto, se a primeira condição não for atendida, o código dentro de você não será executado. A declaração if olha abaixo. Então, se alguma outra condição que é verdadeira, se for verdadeira, então executamos o código que está dentro desses colchetes. Então. É assim que a estrutura da instrução if funciona. Mas digamos que ambas as condições não são verdadeiras. Então este é falso, este é falso. O que acontece então? Bem, nós podemos sair de nossas declarações se e apenas continuar executando qualquer código que esteja abaixo dele. Ou também temos outra opção que é a outra. Então isso não leva nenhuma condição só funciona se ambas as condições que adicionamos aqui são ambas falsas. Podemos adicionar tantas outras instruções if, mas só podemos adicionar uma única instrução else no final, que será executado por padrão se todas as outras condições não são atendidas e são todas falsas. Certo, ótimo, então agora que você entende a estrutura da declaração if, vamos voltar para a Unidade e ver como vamos usá-la. Bem, nós vamos, é claro, criar uma estrutura if, mas o que estamos realmente mirando para mudar a cor do nosso cubo? Bem, fomos ensinados que estamos mirando nosso material porque como você viu no cubo aqui, podemos mudar a cor usando o material que temos em nosso cubo. Então vamos voltar a isso. E onde está esse material? Como você se lembra, pegamos esse material e o arrastamos para o nosso cubo. Onde é realmente uma hora inspetor e como podemos ter acesso a ele? Bem, se você olhar aqui no Mesh Renderer, você pode ver que temos uma opção que é os materiais e outros materiais que temos o tamanho eo elemento 0. E este elemento 0 é na verdade o nosso material de fila. E se você clicar
nele, ele é destacado aqui mesmo nos ativos. Então você pode ver claramente que é o material do Cubo. Então, do que precisamos? Bem, precisamos de uma referência ao nosso Mesh Renderer. Então Mesh Renderer é o componente em nosso cubo. E a partir do renderizador de malha vamos ter acesso ao material nele. Vulcões. Então vamos em frente e fazer isso. E onde vamos fazer isso? Bem, porque estamos mudando a cor do nosso cubo e todas as condições estão no cubo. Na verdade, vamos usá-lo dentro da forma. Então vamos abrir a forma. E como você já pode ver, ele tem um par de código, que é o início e a atualização. Então vamos começar. A primeira coisa que precisamos, como já disse, é de uma referência ao material. Então vamos em frente e criar uma variável que é do tipo material. E vamos chamá-lo de material de forma que temos. Então, a próxima coisa que precisamos fazer é realmente instanciá-lo ou dar-lhe a referência. Agora, como você se lembra anteriormente, nós poderíamos usar, nós
obtemos, a referência usando uma variável pública. Então nomeamos esse público e entramos no inspetor e arrastamos o que quisermos uma referência, assim como fizemos em forma. Mas agora vamos usar um método diferente, o que é muito melhor. Então, sempre que você tiver um componente. Então vamos voltar para a Unidade. Então, se você olhar em cubo, podemos ver que temos o cubo bem aqui, e ele tem script em forma de D. E também tem outro componente anexado apenas
com o renderizador de malha que tem o material. Então. Em vez de criar uma variável pública para obter acesso a um componente que já está em nosso objeto de jogo Cube, podemos realmente ir em uma outra rota e um muito mais profissional, e vamos chamá-lo de uma maneira melhor de acessar o componentes. Então, a maneira como fazemos isso dentro de, dentro do início, vamos escrever material de forma. E ele vai estar usando um método que é chamado de componente get. E se passarmos o mouse sobre ele, podemos ver que ele retorna o componente do tipo, tipo. Então ele retorna um componente que é o tipo que vamos determinar. Claro, se o objeto do jogo tiver um anexado. Então temos o Mesh Renderer anexado ao nosso objeto de jogo para que possamos ter acesso a ele. Então, clicamos nisso. Nós abrimos esses dois operadores naturais, vamos chamá-los. E dentro daqui vamos escrever renderizador de malha, renderizador de malha. E fechamos com este. Mas como podem ver, ainda temos um erro. Por que é isso? Bem, porque ainda não temos o material. Acabamos de acessar o Mesh Renderer. Para acessar o material, clicamos no pensamento e ele imediatamente nos diz que podemos obter o material porque Visual Studio é tão útil. Ok, ótimo. Então agora temos acesso ao nosso material. Em seguida, o que devemos fazer? Bem, dentro da atualização, vamos criar uma condição
para verificar a posição do nosso cubo, cada quadro. E se a posição do nosso cubo no eixo y ficar abaixo dos três, vamos mudar sua cor. Então criamos uma declaração if dentro daqui. A condição vai ser, em primeiro lugar,
a posição do ponto de transformação ponto y. e se a posição do ponto de transformação que y é menor que três, bem nós vamos executar um determinado código é a cor do ponto de material em forma de D. Então nós acessamos a cor do nosso material seria igual a cor ponto verde. Ok? Então vamos falar sobre a condição aqui de novo. Então é a transformação, voltar para a Unidade. É a transformação, sua posição. Então, dentro do transformado eu fui para a posição. E, finalmente, queremos o eixo y, que é o y bem aqui nos três Cu. E nos certificamos de que se for menor que três, então sempre que a posição transformada ponto y recebe menos de três, pegamos nosso material de forma que criamos aqui. Pegamos a cor, então acessamos a cor e mudamos a cor para uma cor verde. Então isso é muito simples. Nós simplesmente temos uma classe que um estudioso ponto verde e nós temos acesso ao verde. Então salve esse roteiro, volte para a Unidade. Vamos subir um pouco, subir um pouco. Então é sobre o 18 e clicamos no jogo. E o cubo R cai, é rasgado e quando fica abaixo de um certo limiar, ele se transforma no verde. E se você está se perguntando como eu maximizo minha visão, como minha visão de jogo tão grande, você pode realmente clicar em Maximizar no Play aqui. Então. Agora que você entende como as condições se funcionam, como agimos, o material. É hora do seu desafio. E seu desafio será adicionar uma condição “if”. Então crie uma outra condição para a forma passando por cima de um determinado valor x. Então você precisa verificar a posição de um cubo ou a forma ou qualquer coisa sobre um determinado valor x no eixo x. Vou dar-lhe uma pequena dica, que é inclinar a trama por um pouco em torno deste eixo apenas para fazer nossas formas deslizar para baixo. Se o seu cubo não estiver deslizando, então você pode movê-lo na direção x. Ok, ótimo. 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 agora verificar ou criar uma condição if para a posição do nosso cubo na direção x. Então, de volta aqui, podemos verificar, por exemplo, se nossa posição ponto de transferência ponto x é menor que menos três, então ele fica abaixo de menos três. Nós vamos mudar a forma, a cor do ponto material, e ele vai ser igual a cor ponto azul, Nas. Então vamos guardar isso. Vamos voltar para a Unidade. E como eu disse no folheto, vamos pegar isso e girá-lo apenas um pouco em torno do eixo z. Então cubo r desliza para baixo. Tome r cubo um pouco mais alto, clique em jogar. E agora nosso cubo cai, ele se transforma em verde, e então ele desliza para baixo e se transforma em uma cor azul. Muito agradável. Então, pelo menos isso funciona. Precisamos colocar nossa plataforma, talvez um pouco mais para ter certeza de que nosso cubo desliza bem. E vamos verificar isso de novo. Então o cubo R é lido, ele cai, ele se transforma em verde e se transforma na cor azul e continua caindo no abismo. Muito agradável. Agora, alguns de vocês podem ter tentado adicionar uma, outra declaração if else. Se você não fez, vamos em frente um adicionado juntos. Então, se Transformar ponto posição ponto ponto x é maior do que três, vamos mudar a forma, material, cor, e para a cor amarela. Então agora transformar posição ponto x é maior que três, que mudará a cor da forma e para a cor amarela volta em unidade com a plataforma na outra direção. E agora, quando clicamos no jogo, cubo
R é lido, ele cai verde e se transforma no amarelo. Então, como você pode ver. Então temos essa cor de forma se transformando em azul se for menor que três, ou a posição do nosso objeto de jogo for menor que três, ele se transforma em amarelo sempre que sua posição for maior que três. E espero que tenha feito o desafio. Espero que tenha gostado do desafio e te vejo no próximo vídeo.
10. Arranjos e loops: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos construir aprendendo tudo sobre loops e matrizes porque esses dois componentes, codificação andam de mãos dadas. Então, o que fizemos neste vídeo? Na verdade, quando clicamos no jogo e pressionamos a barra de espaço, apenas a barra de espaço, temos essas três formas que instanciam, que são um cilindro, a esfera e o cubo r. E se pressionarmos a barra de espaço várias vezes, como podem ver, o mundo enlouqueceu. Então este é um vídeo muito divertido e não vamos perder mais tempo e recebe Dr. Oh, ok, então arrays, há bugger para ensinar e eles são um bug ou para aprender. Mas as matrizes são muito importantes para qualquer pessoa que esteja procurando tornar-se sério na codificação. Então vamos falar sobre matrizes. O que é um array? Um laser? O que é, o que são arrays? Enquanto matrizes permitem armazenar vários objetos do mesmo tipo em uma única variável. Assim como temos variáveis, temos matrizes, mas a diferença entre elas é que é um conjunto de variáveis. Então você tem muitas variáveis do mesmo tipo sob um único nome, e nós chamamos este nome e matriz. Então é assim que uma matriz se parece. É muito semelhante a uma variável, pois tem um tipo. Também pode ter acessibilidade, por isso pode ser público ou privado. Claro, ele tem um tipo, ele tem um nome, então número de inimigos é o nome. E se você notou que cada tipo, em vez de simplesmente ser um inteiro ou INT, ele também tem esses colchetes ao lado dele, que indica que este é um array. E, finalmente, temos os valores aqui, então não é um único valor, mas são vários valores juntos dentro da matriz que temos. E uma coisa também muito importante a observar sobre arrays é a forma como eles são numerados. Então, o primeiro elemento em uma matriz está na verdade no índice de 0. Então começamos com os quatro no índice 0, depois seis em um, depois 11 no segundo, no índice número 271, no índice número três e assim por diante. Portanto, isso é muito importante lembrar que os índices e matrizes começam em 0. Agora, o que é um ciclo completo? Bem, para loops são Act ou qualquer outro loop ir de mãos dadas com matrizes. Então loops podem executar um bloco de código várias vezes. Loops são úteis se você quiser executar o mesmo código uma e outra vez, cada vez com um valor diferente. Então vamos falar sobre a estrutura de um loop for. Esta é a estrutura básica de um loop for, assim como temos a condição if. Temos o loop for, mas é claro que é muito diferente. Tem uma condição dentro dela, mas é diferente. Então, por exemplo, começamos com a condição inicial. Então começamos com um inteiro que é igual a 0. Em seguida, definimos o limite deste inteiro para que precisamos continuar subindo ou adicionando um. Cada vez que isso i plus significa que estamos adicionando um cada vez até chegar a um certo limite. E cada vez que aumentamos os altos, fazemos coisas que são o código que está dentro de nossos colchetes. Então começamos em 0, executamos o código. Aumentamos o 0 para um. Nós executamos o código pode aumentar o 02 para o um para dois. Fazemos o código até chegarmos a um certo limite que determinamos. Então ele continua a executar o código dentro até que eu alcancei o limite certo que estabelecemos. Então, como vamos usar arrays e loops e fazer tudo isso dentro do nosso jogo e torná-lo justo. Bem, a maneira que vamos fazer isso é que vamos realmente instanciar vários objetos dentro do nosso jogo. Agora, já temos um cubo e uma esfera, e cada um deles tem seus próprios botões para pressionar a
fim de ativá-los ou instanciá-los. Mas agora vamos criar uma maneira de instanciar ambos dentro de um, ir usando arrays e loops. Certo, então a primeira coisa que precisamos é criar uma matriz. Então vamos para essas formas geradora, e abrir o Visual Studio. Ok, ótimo. Então vamos em frente e em vez de minha esfera e meu cubo, vamos deletar esses. E em vez de a forma ser uma variável regular, vamos torná-la uma matriz. E para torná-lo um array, nós simplesmente adicionamos esses dois colchetes ao lado dele. E vamos nomear a nossa matriz, os prefabs de forma. E vamos manter a nossa matriz pública. Agora que temos nossas prefabs de forma prontas, podemos voltar e agora temos flechas bem aqui. Tudo bem, não se preocupe com isso. Ou, na verdade, vamos comentar isso por enquanto. Vamos trocá-los mais tarde. Então salve o script, oops, contrastes de script
salvos e volte para o Unity. Agora, quando clicamos no gerador de formas, podemos ver que temos essa lista suspensa aqui, e esta é na verdade a matriz que criamos e podemos realmente dar-lhe um tamanho. Agora, há duas maneiras de lidar com isso. Podemos adicionar um tamanho aqui, que
possamos, por exemplo, escrever dois e chegar a lugares para nossas formas ou podemos mantê-lo em 0. E um truque bacana que a Unidade tem é que podemos clicar nessa esfera. Ou antes de fazermos isso, clique de volta no gerador de forma e certifique-se de que você tem este pequeno ícone de cadeado bloqueado. Assim, sempre que clicarmos em outros elementos em nosso projeto, o inspetor não muda. Então clique na esfera, mantenha o controle, clique no cubo e Jack, ambos em forma 2D, não decide em prefabs de forma 2D e eles serão automaticamente adicionados à matriz. Muito agradável. Então a próxima coisa que vamos fazer é criar um loop, a fim de
instanciar todas as formas que temos em nossa matriz de volta em nosso código. O que estamos procurando fazer é criar um loop que nos
ajudará com um simples toque de um botão para instanciar os dois pré-fabs. A maneira como fazemos isso é que vamos realmente nos livrar do rato. Botão. E dentro desta condição se, deixe-me apagar isto aqui. Vamos criar um loop for. Então criamos, escrevemos quatro. Colocamos a condição inicial, que vai ser o i igual a 0, o limite que queremos. Então, o número de vezes que queremos iterar, este será o número de formas que temos dentro da nossa matriz aqui em cima. Por que é isso? Bem, como eu disse, nosso objetivo é instanciar todas as formas que temos dentro de nossa matriz. E a maneira de fazer isso é percorrer cada elemento da matriz. Então vai ser as formas pré-fabricadas, e uma maneira bacana de obter o comprimento da matriz é simplesmente digitar o comprimento ao lado dela. Fechamos usando o i plus. Isso aumentará o I uma vez a cada iteração. Então, clique na guia aqui, então em todos alinhados juntos. E aqui vamos instanciar. Então, N. Onde é instanciar? E aqui vamos escrever os prefabs de forma. Vamos abrir os colchetes e n Aqui vamos dar o índice da forma que queremos obter a partir da matriz. E a maneira como fazemos isso é simplesmente clicando aqui. Então vamos guardar isso. Agora, de volta para a plataforma que colocou a rotação de volta para 0. E o que eu quero é realmente mudar o ângulo da nossa câmera. E também quero mudar a posição do nosso cubo e esfera. Então vamos colocar o cubo, vamos colocar a esfera. E vamos mudar a posição do cubo aqui em cima. E, na verdade, não é substituto. Vamos para o cubo. E uma maneira bacana de fazer isso é simplesmente clicando nos três títulos aqui, copiando a posição, entrando no cubo, um prefab, e colando a posição. Então você tem a posição base bem aqui. Então agora o cubo sempre especiará nesta posição. E a esfera também,
bem, se a esfera já estiver em uma boa posição. Então apague os dois. A cor pode tocar. E agora instanciamos cubos e esferas um em cima do outro. Muito agradável. Agora, eu quero tirar a câmera dela, então vamos colocá-la aqui em cima. Vamos para o objeto do jogo da câmera e vai alinhar com a vista. Então, agora, quando clicamos no jogo, vamos verificar a vista, certifique-se de que tudo parece legal e faz muito bom. Então vamos falar sobre o loop for novamente antes de entrar em seu desafio porque alguns de vocês podem estar familiarizados com loops e é a primeira vez, então vamos repassar um pouco mais. Primeiro de tudo, temos a condição if, que verifica se realmente inserimos a chave que precisamos, que é a barra de espaço. Se esta condição for atendida, vamos para o código que está dentro da condição if. E o código é um loop for. Então, a maneira que isso para loop funciona é. Tomamos uma condição inicial. Assim, a condição inicial é em i igual a 0, temos um certo limite, que é o comprimento da nossa matriz que é moldado prefabs. E cada iteração aumentamos o i por um. Então começamos com i igual a 0. Então, um exemplo no nosso caso, começamos com i igual a 0. Executamos o código que está dentro daqui. Então é T formas 0 e ele fica em, obtém o primeiro elemento dentro do nosso cubo. Quero dizer, dentro dos nossos prefabs de forma, que é o cubo. Então aumentamos em um. Temos i igual a um, e executamos o código que está dentro daqui. Instancia prefabs em forma de D no índice número um, que é a nossa esfera. Então isso significa que instanciamos um cubo e uma esfera dentro deste para loop, é imediato, é muito rápido e faz isso instantaneamente. E quando chegarmos a um, verificamos se ainda
é menor que o comprimento pré-fabricada? Se for, paramos o array, enchemos o loop e saímos da execução do código. Se não for, se tivermos, por exemplo, dez formas e eu ainda no índice dois, então continuamos instanciando e percorrendo nossos prefabs de forma até chegarmos ao último elemento em nossa matriz. Então, agora que arrays e loops são entendidos, é hora do seu desafio. E seu desafio é adicionar outra forma ao nosso ganho. Então, crie outra forma a ser adicionada
à matriz e certifique-se de que eles não instanciem um em cima do outro. 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 em frente e criar um objeto 3D, que vai ser um cilindro. E cilindro vai realmente ter o material do Cubo nele. Então tudo vai ser lido. E nós vamos redefinir sua posição só para saber onde o 0 está e onde devemos colocá-lo? Bem, se adicionarmos um cubo, adicionamos uma esfera. E vamos colocar o cilindro atrás deste medo bem aqui, mesmo ao lado das nossas formas. Então agora temos essas três formas. E antes de
esquecermos, adicionamos um componente que é o corpo rígido. E temos tudo pronto, exceto o roteiro de forma. Então nós adicionamos um script de forma e agora nosso cubo é uma forma. Muito agradável. Último passo, criamos um prefab do cilindro e excluímos todos estes em nossa cena, vamos para o gerador forma e podemos realmente arrastar o cilindro e colocá-lo dentro das formas preferem. Então agora nossas formas pré-fabricadas tem três elementos. Na verdade, e a beleza disso é que não precisamos mudar nada. A única coisa que muda dentro do nosso código é o comprimento de prefabs em forma de D. Então agora em vez de simplesmente ir para i é igual a um, isso vai entrar em i igual a dois e ele vai verificar se é dois menos que o comprimento da forma? Bem, é porque o comprimento das formas é três. E se chegar a três, esta condição não é mais viável porque r igual a três não é mais menor que. Isso é muito crucial para entender. É, pode ser assim. Pode ser menor ou igual, mas isso é estritamente menor do que o comprimento pré-fabricada de formas T. Então salve isso, volte para Unity, colete no jogo, e vejamos o que acontece quando começamos a instanciar várias formas. E como podem ver, temos cilindros voando por aí, temos bolas voando ao redor. Temos cubos em todos os lugares, e cada um deles está em cores diferentes. Espero que tenham gostado do vídeo. Espero que tenha entendido tudo sobre matrizes. Se você ainda tem dúvidas sobre como eles funcionam, sinta-se livre para ir e procurá-los um pouco e brincar com eles em unidade para ter certeza de que você tem uma compreensão firme sobre loops e arrays. Então, vemo-nos na próxima.
11. Criando caos,: Bem-vindos de volta a um novo vídeo. E talvez você tenha se acostumado um pouco comigo. E toda vez que eu faço uma apresentação, eu falei sobre o que vamos fazer só para deixar você animado. Mas, na verdade, neste vídeo, eu vou simplesmente deixar a jogabilidade falar por mim. Então o caos foi prometido e o caos foi entregue. Espero que tenha gostado do vídeo e te vejo daqui a pouco. Então, criando caos, este é provavelmente o meu vídeo favorito. Bem, na verdade, o que quero dizer com criar caos é adicionar forças aos nossos objetos. Então, agora, se você olhar para nossos cubos e esferas, sempre que os instanciamos,
eles simplesmente caem de você da força da gravidade que está agindo sobre eles. E agindo sobre eles porque adicionamos o componente do corpo rígido. Mas este componente rígido do corpo pode realmente fazer outras coisas mais interessantes. Não apenas usar a força da gravidade, mas também pode ter uma força que é diferente da gravidade que pode ser aplicada a ela, a fim de mover objetos ao redor. E adicionar a força será possível usando um método que é chamado de anúncio para. Então deixe-me levá-lo para a documentação e vamos verificar o que essa força é realmente. Então você pode ver que ele tem alguns parâmetros. Então você tem o vetor três quartos, e o vetor três é na verdade o eixo Y e o eixo Z. Temos o modo de força, mas acho que não vamos precisar dele por enquanto. Então, a única coisa em que precisamos nos concentrar, é aplicada a um corpo encravado, como você pode ver aqui. E leva em um vetor três. Vamos ler um pouco sobre o tamanho da descrição. É bom hábito ler sempre um pouco sobre a descrição e talvez verificar o exemplo. Em primeiro lugar, forças aplicadas continuamente na direção do fator de força que escolhemos. Então ele aplica uma força sobre o objeto
na direção do vetor de força que escolhemos adicionar. E um detalhe muito agradável aqui que você precisa tomar nota é que ele adiciona uma força ao corpo rígido. Então, somente quando você tem um corpo rígido no objeto do jogo, você pode adicionar uma força a ele. Então vamos fazer isso. A primeira coisa é que precisamos entrar no nosso Visual Studio e precisamos entrar na forma. Na verdade, vejo que temos aqui uma breve observação. Acho que não precisaremos mais disso. Você já sabe como usar as horas de depuração. Então guarde isso em formas agora ou em forma. Agora, a primeira coisa que precisamos é de uma referência ao nosso corpo rígido. Então vamos em frente e fazer isso. Então vamos criar uma variável que é o nosso corpo rígido, e vamos chamá-lo de meu rígido. Corpo. Então agora temos uma referência ao nosso, quero dizer, acabamos de criar uma variável. E aqui vamos adicionar uma referência ao nosso corpo rígido. E como o corpo rígido de uma forma já está presente no objeto do jogo, podemos ir em frente e obter o componente diretamente. corpo tão rígido. E isso é tudo o que precisamos. Muito agradável. Agora vamos adicionar algumas forças usando um par de setas. Então, e aqui vamos criar uma condição if. Você já sabe como usar a entrada. Então entrada, se escrevermos corretamente, então ponto de entrada obter C0. E em vez de sermos chutados, vamos usar o Get C0, que vai continuar pressionando. Bem, deixe-me mostrar-lhe novamente a descrição antes de um. Portanto, não há confusão. Ele retorna verdadeiro enquanto. Portanto, não retorna true assim que pressionamos ou, ou o quadro que pressionamos,
ele retorna true enquanto o usuário mantém pressionada a tecla. E este é o nosso objetivo porque ao adicionar forças queremos que o objeto continue tendo essa força aumenta a ele, desde que pressionemos um determinado botão de tecla. Então ponto de entrada obter chave de ponto q0 e código de chave. Vamos usar a seta para a esquerda. Seta para a esquerda que temos aqui. E dentro dela vamos usar meu ponto de corpo rígido na força. E ele vai estar usando o vetor três pontos restantes. Está bem, fixe. Então vamos salvar isso e vamos para Unity e ver o que acontece quando clicamos no jogo. Ter o nosso ganho. Nós clicamos no jogo, pressionamos a seta para a esquerda. E como podem ver, nossos cilindros, caixa e esfera se movem na direção z. Então vamos em frente e tentar adicionar um monte destes e criar o caos. Guru. Como você pode ver, todos eles voam para o abismo. Essa é a unidade é profundidade. Agora que você entende como podemos adicionar forças aos nossos corpos rígidos, é hora do seu desafio. Deixe-me colocar o laser terminou movimento em forma de D. O que eu quero dizer com o movimento acabado em forma de D? Bem, crie um código para as formas se moverem na direção ascendente. E crie código para que a forma se mova na direção certa. E se você quiser um desafio extra para si mesmo, você também pode criar outras direções também. Então para a direita, talvez para baixo, talvez, eu não sei, ser criativo. É só por diversão. Pause o vídeo agora mesmo e vá fazer o seu desafio. Oh, ok, bem-vindo de volta. Então agora precisamos adicionar um código de tecla para a seta para cima e para a direita. Então vamos copiar isso. Vamos colar isso e colar isso de novo. Então, em vez de esquerda, vamos adicionar a seta para a direita. Em vez do vetor à esquerda. Vamos adicioná-lo à direita. E aqui em vez da seta para a esquerda, vamos usar a seta para cima. E em vez do fator três pontos à esquerda, vamos usar os vetores três pontos acima. Vamos salvar tudo isso. E vamos ver o que acontece em união agora. Então eu prometi ao caos, e aqui, o caos vem em seu caminho. Então clique no espaço. Se pressionarmos a seta para a direita, vamos para a direita. Se pressionarmos a esquerda para se mover para a esquerda quando pressionarmos para cima
, tudo flutua ao redor. Ok. Estão prontos, pessoal? Este é o momento. Vamos aproveitar o que acabamos de criar. Então nós, tudo se move, desliza ao redor. Tudo é, bem, na verdade, você sabe, não
é tão divertido porque eles são realmente muito lentos. E se você tem o mesmo problema que eu, você gostaria de mudar. Você gostaria de torná-los um pouco mais rápidos. Então a maneira como fazemos isso é, na verdade, vamos
multiplicar esses vetores por uma força que irá adicionar bem aqui. Então vamos em frente e criar uma variável. Vai ser o flutuador, vai ser do tipo flutuador e vai ser como são chamados de força magnitude. Magnitude. Não sei se é assim que a magnitude é escrita. Mas vai fazer por enquanto, vai torná-lo 5F ou porque é um flutuador, vamos em frente e torná-lo cinco pontos oito. Por que não? E qualquer aqui ao lado do ponto vetorial esquerdo, vamos multiplicá-lo pela magnitude da força que acabamos de criar. Vamos copiar isto, multiplicar a direita e a parte superior. Vamos guardar isso e ver se alguma coisa muda. Talvez isto não seja suficiente, mas vamos verificar. Então criamos duas formas e as removemos. Certo, isso parece promissor. Vamos criar muitas formas e começar a mover todas elas. Como você pode ver, isso é muito bom para que possamos realmente criar formas. Podemos movê-los para cima, para baixo, para baixo, ainda não temos, mas seria muito legal. E como podem ver, o caos foi alcançado. Espero que tenham gostado deste vídeo. Este é um dos vídeos mais divertidos. Honestamente, eu digo isso sobre todos os vídeos, mas este é realmente um dos vídeos mais divertidos. Espero que tenha gostado e te vejo no próximo.
12. Métodos públicos e tipos de retorno: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos aprender tudo sobre métodos públicos. Então, como vocês podem ver agora, nossas formas voam extremamente rápido porque nós realmente criamos um método que é o aumento da força. E é, na verdade, como você pode ver aqui, é um método que criamos dentro do navio gerador que causa um método de aumento de força que está em forma, que é um método público com um parâmetro. Então vamos aprender tudo isso neste vídeo. Então não vamos perder mais tempo e vamos começar. Ok, então, uh, métodos e funções, eles são usados de forma intercambiável. Você pode usar o método da palavra, você pode usar a função da palavra. Agora há uma diferença entre eles. Mas honestamente, eu nunca vi ninguém que estivesse louco se você usá-los de uma maneira errada. De qualquer forma, chame-os onde quiser, vamos usá-los livremente como quisermos. Vamos falar sobre métodos e funções. Então esta é a estrutura de um método típico que você vê, assim como com nossas variáveis. Os métodos também têm acessibilidade até agora, se for privado, ele só pode ser usado dentro da classe. E se for público, você pode usá-lo de outras classes fora do seu script. Há também o tipo de retorno. Pode ser inteiro, pode ser flutuante,
pode ser o que você quiser, mas se usarmos o vazio, isso significa que ele não retorna nada. Também temos o nome do método. Então geralmente sempre que queremos nomear nosso método, ele deve ser nomeado após o que o método faz. Então, por exemplo, se
nossos métodos, nosso método adiciona velocidade, vamos nomeá-lo adicionando velocidade. E como você pode ver, há uma pequena diferença entre a convenção de nomenclatura entre variáveis e métodos. A primeira letra é sempre maiúscula. E finalmente, temos os parâmetros. E os parâmetros é na verdade uma variável que enviamos em nosso método para ser usado a fim de mudar as coisas. Ou, por exemplo, podemos dizer que estamos adicionando velocidade. Queremos, por exemplo, acrescentar cinco. Então nós adicionamos um parâmetro aqui que vai ser um flutuador, por exemplo. E vai ser chamado de velocidade a ser adicionado. E dentro do método, vamos adicionar este parâmetro aqui para o que quisermos dentro do músculo. Ótima. Então, antes de seguirmos em frente e vamos para as nossas formas. Boehner ou quero dizer, a forma aqui. E vamos em frente e criar um par de métodos antes de passar para o desafio. Agora, como você pode ver aqui e atualizar, nós temos dois tipos de códigos. Se você olhar muito de perto, você tem o movimento de nossas formas e você tem condições em nossas formas. E sempre que estamos criando, você verá isso mais tarde. Nós sempre queremos que a atualização seja muito, muito arrumada. E... Muito simples. Então deve ser muito simples porque atualização é onde sempre olhamos para tudo o que está acontecendo ao redor. E se agora nossa atualização é realmente muito desajeitada e tem muito código e é realmente desnecessário. Podemos realmente escolher ou destacar todas
as condições ou se declarações que estão relacionadas ao movimento, clique com o botão direito sobre ele. E aqui podemos realmente ação rápida e refratando. Então, clicamos nisso e podemos extrair uma mensagem. Então, quando clicamos nisso, todas as nossas condições se estão agora em um método privado. E desde que o mantenha assim, podemos mudar o nome. Então vamos mudar o nome para o ou. Vamos torná-lo mais preciso. Movimento de forma. Clique em Enter, e agora acabamos de criar um método para a forma Movimento. Outra maneira de fazer isso, podemos realmente ir em frente e criar um vazio privado. Ok, não é assim que o privado é escrito. Então, vazio privado, O que devemos colorir? O que devemos nomear esse método? Deve ser cor com base na posição. Então cores baseadas na posição, tentou sempre encontrar o nome de curto prazo para seus métodos. Mas por enquanto eu, vamos nos contentar com isso. Então vamos controlar x se você quiser saber como eu consegui tudo isso, controle V. E dentro da atualização nós vamos chamar o Considerando que cor cor. Considerando que a cor do nome do método com base na posição, que é copiar isso. Coloque-o aqui. E não vamos esquecer os suportes no final. E como nossos métodos não aceitam parâmetros, não
vamos enviar nenhum deles. Ok, ótimo. Então agora você tem um pouco de um gostinho de como as mensagens parecem e como elas são criadas. E, na verdade, é muito cedo, mas acredito que você tenha força para fazê-lo, porque é hora do seu desafio. E seu desafio será criar seu próprio método. Então crie um método simples em forma para aumentar a magnitude da força. E com um parâmetro. Isso significa que seu método dentro de formas deve ter um parâmetro e certifique-se de que o método é público para que possamos chamá-lo a partir do gerador. Assim, e também no início,
sei que ainda podem estar inseguros do que é um método e como ele funciona, mas tenho total confiança em vocês que podem fazer esse desafio. Pause o vídeo agora mesmo e vá fazer o desafio. Ok, bem-vindo de volta. Então vamos em frente e criar um método que aumentará nossa magnitude de força. Primeiro, é um testamento público, não
devolverá nada. E vamos aumentar a força. E será preciso um parâmetro que será um flutuador. E vamos chamar isso de força adicional. Ok, ótimo. E o que isso realmente estará fazendo enquanto vamos
fazer obter a variável de magnitude de força que temos aqui em cima. E nós vamos realmente adicionar um parâmetro ou adicionar V, que é a força adulta. Agora, se você nunca viu este operador aqui, que é o mais igual, o que isso significa é que ele é igual à magnitude da força mais os quatro adicionados. Então. Efetivamente, é preciso qualquer magnitude de força que temos. É, ele adiciona a força e, em seguida, coloca de volta dentro da magnitude da força. Então isso continua aumentando à medida que adicionamos ou chamamos a força aumentada. E usar o plus equals é uma maneira muito mais rápida e realmente mais legal de codificação nos economiza muito espaço e nos poupa um pouco de confusão. A próxima coisa que vamos fazer, precisamos ter certeza de que este é público ou um campo serializado? Aprenderemos mais tarde sobre campos serializados. E agora o que precisamos fazer é criar um método dentro do spawner. E peça dois, chame o método de força aumentada em forma em cada objeto que temos. Então vamos fazer a primeira coisa primeiro, Agora aqui e atualizar se você está se sentindo experiente, você também pode extrair S1. Então vamos em frente e fazer isso na verdade. Então vamos extrair o método e vamos chamar isso de in stan, xi, yj torr. Ok. Tenho a certeza que não foi assim que escreveste instanciado. E nós vamos criar nosso próprio método aqui. E vai ser um privado, vai ser nulo porque não queremos que nada volte. E vai ser o aumento da força, a força dela aumenta. E dentro deste método, vamos obter uma entrada. E a entrada vai ser v.
Obter chave para baixo com o código de tecla de f, que é muito simples. Deixe-me escrever isso de novo. Então, F. E o que devemos fazer sempre que nosso jogador pressiona o botão? Bem, vamos criar um loop com a inicial sendo 0. E o limite vai ser, é claro, a forma prefabs comprimento do ponto. E vamos aumentá-lo em um com cada iteração e cada forma pré-fabricada que
temos, vamos chamar o método da força de aumento. E nós, se acabarmos agora e pressionarmos o ponto-e-vírgula, salvamos isso, podemos ver que há um erro. E se passarmos sobre ele, ele diz que não há nenhum argumento dado. Se você olhar de perto, você aprendeu aqui, você pode ver que ele precisa ter um parâmetro. Então vamos em frente e adicionar um parâmetro a isso. Vamos criar uma variável qual sala? Vai ser a força mais. Vamos chamá-lo. E aqui em cima vai criar um flutuador de força mais, e vai ser, o que deveria ser? 4.84.8 de um número tão sortudo? Talvez eu seja a verdade. De qualquer forma, passamos por cada forma pré-fabricada, pré-fabricada, dentro dos prefabs de forma. E cada um dos prefabs de forma tem o script de forma
nele que tem a força de aumento do vazio público sobre ele. Então, toda vez que pressionamos, então toda vez que
pressionamos a tecla F, vamos olhar através de cada forma que temos. E nós vamos aumentar a força nessa forma antes de irmos, certifique-se de chamar a força de aumento. Força aumentá-la a partir da atualização para ter certeza de que sempre verificamos se há qualquer entrada. Ótimo, salve as formas, salve de volta em unidade. E vamos ver se isso funciona. Então, clicamos no jogo. Instanciamos. Oh, ok, desculpe por isso. É um pequeno truque que eu fiz. E aqui, em vez de fazer o “keydown “, vamos fazer com que seja o “get”. Quero dizer, em vez da chave “get”, vamos fazer dela a chave “get” para baixo. Ok, agora, vamos tentar de novo. Começamos a peça. Instanciamos um par de formas. Nós os mudamos e eles têm um pouco de força neles. Instanciamos uma e outra vez. E vamos clicar em F algumas vezes e ver o que acontece. Então nós coletamos, nós movê-los e na verdade não está mudando. Instanciamos de novo. Os que foram instanciados, novamente têm uma força muito mais forte sobre eles. Então clique em depois de um par de vezes mais, instanciar. E assim que pressionarmos a seta para cima, isto deve voar muito rápido. Ok, isso funciona. Poderia, vamos tentar ir um pouco louco e seta para cima. Tudo vai embora. Hoje, recuar. Eu acho que não. Nós criamos novamente, nós os movemos. E como você pode ver, é como se um super-herói tivesse voado e voado tudo para longe. Então você acabou de entender como método
público funciona e como podemos chamar métodos de outros scripts. E esta é realmente uma ferramenta extremamente útil quando se trata de codificação e criação de jogos. Espero que tenham gostado do vídeo e nos vemos no próximo.
13. SEÇÃO 3: CREATING nosso FRETE: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos falar sobre controle de versão. O que é, o que devemos, quais são as ferramentas que vamos usar para fazer nossa versão controlar como criamos repositórios. E nós estamos realmente indo para ir em frente e criar nosso commit inicial com todos os arquivos que precisamos. Também aprenderemos sobre o que o Git ignora, quais os arquivos que precisamos ignorar para criar nossos repositórios e por todo o lado, construir uma base sólida a partir da qual podemos
decolar com nosso rock chip. Isso foi uma piada de mau gosto. Não vamos perder mais tempo e vamos começar. Controle de versão. É difícil de aprender. É ainda mais difícil de ensinar, mas eu não posso dizer o quão importante é que você aprenda a habilidade, e especialmente se você está olhando para se tornar um desenvolvedor de jogos profissional. Então, o que é? O que é o controle de versão? Bem, basicamente é um sistema que é responsável por gerenciar mudanças em seus programas de computador. Então, de qualquer forma, controle de versão é uma maneira de gravarmos a história do nosso projeto. Precisávamos controlar a versão do nosso projeto e ter um backup para cada um deles. Significa que nos ajuda a tomar medidas arriscadas agora projetar e evitar quebrar todo o projeto. Por que usá-lo? Bem, vamos usá-lo para lembrar versões anteriores do nosso jogo e ter mais flexibilidade para experimentar. É especialmente útil quando se trata de criar jogos porque o desenvolvimento de jogos requer muita experimentação. O que vamos usar é um sistema de controle de versão chamado Get. Há outras maneiras, mas esta funcionará perfeitamente para nós. E finalmente, usaremos uma interface gráfica que torna nossa vida mais fácil, que é chamada de árvore fonte. Também podemos ter um cavalo online, mas não vamos ser anfitriões apenas por agora. Agora, a primeira coisa que você precisa fazer é ir em frente e baixar a árvore de código-fonte. Basta escrever árvore de origem ou ir para fonte três, app.com ou escrever árvore de origem download no Google. E você deveria vir até esta página aqui. Você pode baixar para Windows e também está disponível para o seu Mac OS. Quando você terminar de baixar, você, você deve ter este arquivo de instalação bem aqui. Basta clicar duas vezes sobre ele e iniciar a instalação. E quando você chegar, você deve chegar a este ponto bem aqui, onde você tem a fonte três instalada. Então, basta clicar em Concordo aqui. E, em seguida, ele deve levá-lo para a próxima janela, que é ou para criar uma conta. Então você usa uma conta existente ou você pode ir para o meu aplicativo lysine e criar uma conta. Agora, se você já tem uma conta do Google, você deseja se conectar a ela. Basta clicar em Usar existente pode contar e criado usando o Google, ou você pode ir e criar uma nova minha conta adolescente pessoalmente, Eu fiz um usando o Google Gmail. É muito mais fácil e eles não enviam e-mails para você. A próxima coisa que você precisa. Entre em conectar a uma conta que, como já
dissemos, vamos pular por enquanto. E, finalmente, ao instalar, pode chegar a esta questão aqui onde não pode encontrar ou localizar o get. Então, se você não tem o get já instalado, basta clicar em Download e versão incorporada do Git e ele iria baixá-lo para você. E, finalmente, como passo final, pode pedir-lhe o Mercurial, que não usaremos. Não há nenhum dano no download. Ele, apenas não vai usá-lo nas pontuações. Por isso, basta clicar, não quero mais curiosos. Ok, então quando você terminar de instalar a árvore fonte e tudo o que ela precisa, você deve ter esta janela bem aqui. E se você não vê-lo e se você vir um tipo de janela diferente, certifique-se de clicar no botão Criar aqui ou abrir uma nova guia, clique em Criar e você deve obter esta interface. Então, o que são todos esses? É aqui que criamos nosso repositório. Então, em primeiro lugar, temos o caminho de destino. E aqui vamos encontrar o projeto que vamos criar. Vamos dar um nome a ela. Ele vai ter seu próprio nome e herdar podemos escolher que tipo de repositório queremos fazer. Claro que vamos ficar com ele. Mas a primeira coisa que precisamos fazer é realmente criar nosso projeto. Então vamos em frente e abrir o hub Unity. E aqui, vamos em frente e criar um novo projeto, que é o nosso principal grande projeto. Certifique-se de que você sabe o destino, que é projetos de unidade para mim, para você na minha frente, certifique-se, certifique-se de que você escolher 3D porque nosso projeto é 3D. E vamos em frente e criar um projeto que será chamado de espaço-foguete 3D encadernado. Então colete OnCreate e vamos esperar que ele seja criado. E vou usar a magia da edição para acelerar o processo. Então, vejo-te quando estiver terminado. Oh, ok, bem-vindo de volta. Então, espero que o seu projeto também tenha terminado de criar a si mesmo. Agora podemos realmente começar a criar nosso jogo, mas antes de fazer isso, queremos criar o repositório. Então, a maneira como fazemos isso, agora que temos nosso projeto configurado, podemos ir para a árvore fonte aqui, e podemos clicar em Procurar. E quando fazemos isso, precisamos ir e descobrir dentro de nossos projetos Unity são um projeto que é um chip de rock ligado ao espaço 3D. E quando você selecionar esta pasta, ele lhe dará nome automático, que é o chip de rock ligado ao espaço. E isso criará uma pequena pasta dentro do nosso destino ou do destino do nosso projeto, que manterá o controle de todas as mudanças que fizermos dentro do nosso projeto. Então vamos em frente e clique em criar. Certifique-se de que você desmarcou a conta Criar repositório na conta. Então, clique em Criar, colete o Sim aqui mesmo. E agora criamos nosso repositório. Agora, como você pode ver agora, há um monte de coisas assustadoras na tela, mas não se preocupe, essas coisas são muito simples. Aqui estão os arquivos que vamos adicionar ao nosso repositório. Como você pode ver se você olhar de perto, maioria deles é a biblioteca. E em, sempre que estamos criando repositórios para
a unidade, a pasta da biblioteca é realmente algo que não precisamos. Biblioteca é uma pasta que é, mesmo se você excluí-la do seu arquivo, do seu projeto, você ainda pode abrir seu projeto e a biblioteca será recriada por conta própria. Então não queremos salvar a biblioteca. Não é essencial. Existem outras pastas que não precisamos também, mas por enquanto, vamos em frente e ignorar os arquivos da biblioteca. A maneira como ignoramos isso é que, na verdade, clique com o botão direito em um dos arquivos da biblioteca. E aqui você pode ver que nós temos a opção de ignorar
para que uma pequena janela se abra bem aqui. Basta clicar em, Ignorar tudo abaixo da biblioteca. Então certifique-se de clicar neste aqui, que é ignorar tudo abaixo da biblioteca. Quando você tiver feito isso, clique em ok. E se você mover para cima, você pode ver que nós temos uma nova pasta aqui, que é o ponto git ignore arquivo. E na verdade é um arquivo muito simples. É um arquivo de texto que você pode abrir usando o bloco de notas. E é aqui que guardamos todo o conteúdo dos arquivos que
não precisamos salvar para criar um repositório e unidade. Agora, por que estamos realmente fazendo isso? Em primeiro lugar, porque estas pastas não são importantes, importantes para o nosso repositório. Em segundo lugar, eles ocupam muito espaço e precisamos economizar o máximo de espaço possível. Então é por isso que precisamos criar este ponto git ignore arquivo que vamos ignorar alguns dos arquivos que não precisamos para o nosso controle de versão. Agora, a biblioteca não é a única pasta que precisamos ignorar. Existem outras pastas que também precisamos ignorar. E felizmente, há pessoas lá fora que demoraram e descobriram todos os arquivos que não precisamos. E para encontrar isso, precisamos entrar no Google. Então eu já estou aqui, mas vá para o Google, simplesmente digite git, ignore a unidade, e você deve chegar à primeira pesquisa que está no GitHub. E aqui você pode encontrar este arquivo deve ser colocado na raiz do seu diretório de projeto Unity. Então aqui, estas são todas as pastas e arquivos que não precisamos para criar repositórios e versões ou controle de versão do nosso projeto. Então vamos em frente. Clique no cru aqui. Você deve ir para esta página. Clique em qualquer lugar que você quiser. Clique em Controlar um, para que você selecione tudo ou simplesmente selecione tudo manualmente. Copie isso. Então Controle C ou clique com o botão direito do mouse e copie, volte para a árvore de origem e dentro de get ignores, clique duas vezes no gitignore usado no bloco de notas ou qualquer arquivo que você deseja. E coloque todos os arquivos dot git ignore aqui dentro do bloco de notas. Guarde isso. E agora você pode ver que o arquivo gitignore aqui é muito maior e todos esses arquivos que não precisamos, e isso economiza espaço, e isso economiza muito tempo para nós. Tão grande agora que temos tudo configurado, agora é hora de criar nosso compromisso. Então, como criamos nosso comprometimento? Em primeiro lugar, apresentamos nossos arquivos. Agora, às vezes, não precisamos de todos os nossos arquivos, mas vamos preparar todos os nossos arquivos por enquanto. Então, como você pode ver aqui, estes são os arquivos que serão lembrados como esta versão atual do nosso projeto. Para confirmá-los, você precisa clicar em Commit. Já estamos na página de comprometimento, e aqui você deve nomear seu commit. E como você nomeia o seu compromisso? Bem, você pode dar o nome do que quiser. Isso não importa. Pode chamá-lo do que quiser. Mas geralmente quando estamos criando repositórios,
você quer ter certeza de que você sabe o que você tem nesta versão do seu projeto. Então você precisa nomeá-lo de acordo. E do hábito, e como um hábito que a maioria dos programadores e programadores avançados usam é o primeiro commit será sempre chamado de O commit inicial. Agora você não precisa dar um nome assim. Gosto de nomeá-lo assim. Eu sempre gosto de criar meu primeiro commit e chamá-lo de commit inicial. Então, agora que criamos nosso commit inicial, nós o nomeamos. Basta clicar em Commit aqui. E agora você pode ver que temos aqui algo chamado o mestre debaixo de galhos. E se você clicar em master, você pode ver que nós temos nosso commit inicial. E agora sempre que criarmos um novo repositório, ou realmente sempre que criarmos uma nova versão do nosso projeto, vamos salvá-lo aqui mesmo e veremos como estamos progredindo lentamente através do nosso projeto. Agora que temos tudo isso planejado, é hora do seu desafio. E seu desafio será criar seu repositório. Então, o primeiro passo é que você precisa ir em frente e baixar e instalar árvore de código-fonte. Se já não o fez. Você precisa criar seu projeto e hub da comunidade, que é o chip de rock ligado ao espaço. Você precisa criar um repositório para ele e árvore de origem, ignorar arquivos de biblioteca. Copie, copie, copie o arquivo dot ignore que você deve encontrar no GitHub
e, em seguida, crie sua confirmação inicial. Então, se você não seguiu junto comigo ou se você está um pouco atrasada, você ainda tem uma árvore fonte de download. Não se preocupe, leve o tempo que precisar. Vá em frente e baixe a árvore de código fonte. Crie seu projeto, crie um repositório, e ignore os arquivos usados, o ponto ignore arquivo e crie um commit inicial. Agora alguns de vocês podem estar pensando agora, bem, por que eu realmente preciso passar por todos esses passos? Bem, porque o jovem gafanhoto, isso é extremamente importante. Em primeiro lugar, isso nos ajudará muito no desenvolvimento do nosso jogo. Em segundo lugar, é uma habilidade incrível de aprender. Se alguém vir você e você, e perguntar, você sabe o controle de versão? E você diz a eles, Sim, eles vão se surpreender porque esta é uma habilidade que programadores
profissionais e grandes empresas de tecnologia usaram para criar seu projeto. Então pausar o vídeo agora mesmo. Não seja preguiçoso e vá em frente e crie seu repositório.
14. Moldar o navio de Rocket: Bem-vindos de volta meus colegas desenvolvedores de jogos. E como podem ver, acabei de criar a última versão do Falcon Nove da SpaceX. Agora, Elon Musk vai entrar em contato comigo a qualquer momento e me dizer que seu projeto é muito melhor e mais aerodinâmico do que o
nosso projeto que vamos enviar para Marte. Mas eu estou ocupado. Não sei se vou responder a um crânio, mas de qualquer forma, construímos um foguete. E este foguete, como você pode ver aqui na hierarquia, tem um corpo, tem um nariz, e tem quatro pernas de cada lado. E cada parte do nosso foguete tem seu próprio material com um novo tipo de sombreador que adicionamos. E você vai construir seu próprio foguete neste vídeo. Então é um vídeo muito divertido, é o início do nosso grande projeto gigante, que é o foguete encadernado no espaço. E não vamos perder mais tempo. E vamos começar. Ow, kay, vamos começar a construir nosso foguete. Mas antes de fazermos isso, precisamos de algo para o nosso foguete emprestar. Então, clique com o botão direito do mouse na hierarquia aqui, e vamos criar um cubo. Vamos redefinir sua posição. Já sabemos como fazer isso. Nós definimos a posição transformada. E este vai ser o nosso terreno no meio do nosso jogo. Então vamos clicar duas vezes nas câmeras, ver como está. Ok, então ele está olhando naquela direção. Vamos criá-lo para chover vai simplesmente aumentar a escala no x e aumentar a escala no y. Então, ok, eu acho que isso é suficiente e aumentará também a escala no eixo zed. Então é 60 por 20, Veneza e o eixo z também é por 20. Então nós aumentamos isso. E vamos fazer a escala no x. comprado 60. Ok, legal. Vamos colocá-lo para cima. E agora temos o nosso terreno e vamos nomear esta hora simplesmente terreno. Terreno. A próxima coisa que precisamos é de uma plataforma. Então vamos em frente e criar um, outro objeto 3D que será um cubo. Esta será a nossa plataforma. E esta plataforma também precisará ser redefinida para 00. E vamos fazer este menos dez para que exatamente no 0 em seu topo e vai se mover, vai mover isso um pouco para cima para que possamos mudá-lo. Isso reduziu o aparelho para que eles não atrapalhem e aumentem a exibição. Então vamos fazer em torno de cinco e vamos aumentar o z para torná-lo em torno de cinco. E d y será 0.2. Agora temos uma plataforma de pouso. Muito agradável. E vamos colocá-lo em 0,01 para que você possa ver que metade ou
tudo, está exatamente no 0 em nossa escala, então precisávamos estar exatamente em 0. Agora, a fim de diferenciar entre eles, vamos em frente e criar um material muito rápido apenas para torná-lo verde. E vamos chamar isso de plataforma
de pouso A ou vamos chamá-lo, por enquanto, de material da plataforma. E simplesmente vai ser uma cor verde. Então, apenas para diferenciar entre a plataforma. Certo, isso não mudou. Vamos tentar de novo. Ok, legal. Agora temos uma plataforma verde e o terreno. Vamos duplicar isso. Então esta é a plataforma e vamos chamar isso de material do terreno. Então terreno. E vamos mudar a cor para ser um pouco alaranjada e vamos adicioná-la ao nosso enredo. Quero dizer, o nosso terreno, muito bom. Então agora temos um lugar para construir nossa rocha. Legal. A próxima coisa que precisamos fazer é encontrar ou imaginar o projeto que queremos nosso foguete para metade. Agora, eu pessoalmente quero criar a gordura do que a minha. Então deixe-me mostrar o que é isso. Se você conhece Elon Musk, se você conhece SpaceX, eu sou um grande fã e eu realmente sempre quis fazer meu próprio foguete. Então esta é uma oportunidade perfeita. E agora podemos criá-los para um deles é o Falcão pesado. Um deles é o Falcon Nove. Honestamente, eu sinto que nós não precisamos ir tão fundo
no Falcon Heavy porque ele tem muitos lados para ele e vai ser difícil de equilibrar. Mas se você realmente quer ir fundo para criar seu próprio foguete, eu realmente encorajo você a ir e fazer isso, mas eu pessoalmente vou olhar para criar algo semelhante ao Falcon Nove. Talvez não as mesmas proporções, talvez um pouco de colunas diferentes, mas o design parecerá semelhante. Então vamos em frente e tentar fazer exatamente isso. De volta à unidade, vamos clicar com o botão direito
do mouse na hierarquia e criar um objeto de jogo vazio. E este objeto de jogo vazio irá redefinir sua posição 200. E vamos nomear este nosso foguete. Então esta é a essência do nosso jogo, o foguete eo espaço ligado vai ver mais tarde, ele deve ser em segundo plano. Está bem, fixe. Então agora temos um foguete. O que um foguete precisa? Primeiro de tudo, bem, ele precisa de um corpo. Então vamos em frente e criar um corpo para isso. Então vai ser um cilindro. Vamos redefinir a posição dos cilindros. E vamos colocar aqui, vou fazer algumas mudanças no nosso cilindro, é claro. Então vamos ver. Então, a primeira coisa primeiro vamos talvez aumentar a escala no y. então vamos torná-la um pouco mais alta. Vamos olhar para isso. A propósito, eu vou, sempre que eu terminei este foguete, eu vou colocá-lo nos recursos para que você possa usar o mesmo foguete, ou você pode simplesmente ir junto comigo enquanto eu estou criando meu foguete bem aqui. Mas o meu conselho é criar o seu próprio foguete porque vamos fazer muitas coisas com o nosso foguete ao longo das pontuações. Então, é muito bom se você tem seu próprio design e você colocar, você colocar em sua própria criatividade no jogo para se sentir muito
mais agradável quando você começar a girar e mover nosso foguete através de nossos níveis. De qualquer forma. Vamos continuar. Sinta-se livre para fazer o que quiser. No x. vamos fazer isso cerca de 0,8 e no xhat fará com que seja cerca de 0,8. Então, é um cilindro um pouco mais fino. Então parece, eu acho que isso parece meio bom. Talvez aumente isso para 2,5. Ops, 2.5. Por favor. Começando a parecer um pouco alto demais para manter isso. Está bem, fixe. Agora temos o corpo que mudou o nome para as operações de foguetes. Foguete ou simplesmente corpo. Vamos fazer deste o corpo. Está bem. Antes de seguirmos em frente, precisamos adicionar o corpo ao foguete quando criança. E sempre que colocamos um objeto sob outro objeto, basicamente estamos construindo mais sobre relacionamentos pais e filhos mais tarde. Então agora nós temos o pai como um foguete, como você pode ver, sua posição. E se olharmos para o corpo, esta é a sua posição de empurrões bem aqui. Sempre que movemos o foguete de objeto de jogo, você pode ver que o corpo se move com ele. Vamos redefinir a posição aqui em baixo, e manteremos o corpo aqui mesmo às 0. Ok, ótimo. A próxima coisa que precisamos fazer é criar o nariz para nosso foguete. E quero fazer algo que seja uma cápsula. Então, onde está a nossa cápsula? Reinicie sua posição, e isso vai para cima do nosso foguete bem aqui. Então vamos ver, isso é bom o suficiente ou devemos mudar um pouco? Talvez diminuir a escala para 0,8 no x e z. Vamos olhar para a vovó. Não gosto de voltar a um. Então faça o X1, o x1. E sabes que mais? Na verdade, isso parece muito bem. Então, é claro que vamos mudar as cores mais tarde. Mais tarde, vamos olhar para trás para o nosso diagrama. E parece uma cápsula. Agora é um pouco mais pontudo e isso é por razões aerodinâmicas. E aqui embaixo é um pouco mais descendo, mas é bem perto. É bem perto. Acho que sim. Honestamente, não precisamos ser engenheiros de foguetes. É tudo sobre a jogabilidade, mas o design também é muito importante. Nós vamos diminuir o x um pouco, então nós torná-lo 0.7. no x e no x_hat. E agradável. Então eu acho que é isso que estamos procurando. Vamos mostrar isso para o foguete. Ok, agora, então a cápsula, que é o nosso nariz, é assim que você escreve sabe, eu nem tenho certeza. Agora temos o nariz e o corpo. A próxima coisa que precisamos é ter um par de pernas para sustentar nosso foguete. Então vamos em frente e criar um cilindro bem aqui. Mais uma vez, 3D. Crie cilindro e reiniciaremos sua posição. E aqui temos um pequeno cilindro. Então, o que devemos fazer com o cilindro? Bem, o que eu estou procurando é realmente, oops, é realmente fazer quatro pequenas pernas bem aqui no foguete. E se as sombras estão te incomodando, assim como me incomodando, você pode ir para a luz direta e aqui você tem as sombras em tempo real como uma só. Você pode diminuir para cerca de 0,4 ou se não está incomodando você, mantê-lo em um item honestamente, eu sinto que é muito engarrafamento e Stuart é minha percepção de 3D. De qualquer forma, queremos forçar mais pernas em cada lado do foguete. Então vamos em frente e diminuir na escala x fará com que seja 0.3. E estes em escala também serão 0,3 e eles ainda são muito grandes. Vamos fazer 0,01. 0.01. ok, isso parece fino o suficiente ou 0.15. agora, a
propósito, eu estou balançando, então eu não tenho certeza de como este projeto vai olhar para o final. Ok? Não, 15. Então é assim que basicamente você desenha um foguete. Talvez eu vou cuspir, vai diminuir o, por quê. Vamos em frente e adicionar um pouco de rotação. Então, sempre que você quiser girar, você precisa olhar para o eixo que temos. Então aqui em cima você pode ver que nós temos o eixo Zed como o azul, nós temos o eixo X como o vermelho, e nós temos o eixo y como o verde. Então nós queremos girar nosso objeto em torno deste eixo aqui, que é d xat Cu. Então você entende que você vai para a rotação de transformação e você gira seu eixo em torno do xhat. Então, colocamos aqui embaixo. Vamos ver como isso grita. Vamos ver como essa perna se parece. Então eu acho que é legal. Muito agradável. Então vamos dar uma olhada melhor nisso. Temos de ter a certeza de que mal está dentro do nosso foguete para a máxima autenticidade. Ok, talvez colocar um pouco, talvez girar um pouco mais. Talvez vejamos o que isso parece. E, na verdade, vamos manter isso em 0,01. 0.01. e bom. Então esta é a perna do nosso foguete. E é bom o suficiente? Está bem, fixe. Então estou feliz com isso. Talvez um pouco mais de rotação mais tarde. Mas, de qualquer forma, vamos continuar. Agora também precisamos traçar este foguete e vamos nomear isto de perna. Certo? Então isso significa que é a perna do lado direito do nosso foguete. A próxima coisa que precisamos é criar o atraso à esquerda. E antes de adicionar em outro cilindro e começar a mudar a rotação da posição e tudo mais. Na verdade, é muito mais simples do que isso. Então duplicamos o atraso à direita, e será o atraso à esquerda. E vamos mudar isso de novo. Assim como à esquerda. E agora tudo o que precisamos fazer é mudar um pouco as posições. Como sabemos, a posição em torno do x 0,5 três para torná-lo do outro lado exatamente o mesmo, simplesmente
colocamos um menos atrás dele e mudamos a rotação de trinta e três pontos setenta e quatro para menos 33,74. Agora temos uma perna no lado esquerdo do foguete, que está perfeitamente equilibrada com a perna direita. Mas agora, como podem ver, nosso foguete só tem duas pernas e provavelmente cairá sempre que colocarmos um corpo rígido nele e sempre que a gravidade começar a afetá-lo. Então, precisamos adicionar mais duas pernas na frente e nas costas. Então vamos duplicar a perna para a esquerda. E isso vai ser o luxo das pernas, mas como vai ser, vamos mantê-lo como e agora precisamos tomar a posição de x, copiá-lo, e colocá-lo em v, z. e vamos fazer a exposição 0. Então agora nossa perna está diretamente na frente do foguete, então esta será a perna da frente. E a rotação no z deve ser copiada para qual? Bem, eu acho que vamos tentar talvez às vezes quando não tenho certeza. Certo, então não é divino. É o x e vamos colocar o x_ 20. E como você pode ver, precisamos fazê-lo do outro lado para remover a extremidade menos. Temos uma perna na frente. Muito agradável. E, finalmente, precisamos adicionar o atraso na parte de trás, duplicar a perna da frente, nomeando a perna de volta. E é claro que vamos mudar estes Z,
dois mais Z e a rotação em torno do x para o menos x. E agora temos quatro lindas pernas em torno do nosso foguete. E, na verdade, nosso foguete parece muito legal. Então a próxima coisa que vamos fazer é adicionar
alguns materiais ao nosso foguete diferenciado porque agora parece um pouco sem graça. Precisamos adicionar um pouco de material, materiais ao nosso nariz. Acho que vou fazer os nós pretos, muito escuros. E as pernas também serão todas pretas escuras e o cilindro deve ser branco tanto quanto pudermos. Então vamos dar uma olhada nisso. Ok, então talvez os nós no Falcon 9 não sejam pretos, mas eu gostaria de torná-lo preto para que pareça muito mais estático. Talvez Elon Musk olhasse para o meu foguete e dissesse, bem, talvez Michael estivesse certo, talvez eu devesse fazer o nariz preto de qualquer maneira, a propósito, eu acho que o nariz é branco por razões termodinâmicas, sempre que o foguete sai da atmosfera e fica quente. De qualquer forma, física suficiente por hoje, vamos voltar e criar um material para nossos foguetes. Então vamos criar um material aqui mesmo. E este vai ser o corpo Matt. Então material corporal. Então agora, como podem ver, mesmo quando escolhemos a cor branca aqui, o foguete nunca fica branco. E isso é por causa do sombreador que temos em nosso material corporal. Então precisamos mudá-lo do Padrão e escolher o especular refletido. Então isso fará com que nosso foguete seja a cor branca certa que queremos. E se você não tem certeza do que o especular e reflexivo ou bem, shaders são na verdade. Eles podem ser um curso por conta própria e saber que é um sombreador muito bom e que torna o foguete largo, então vamos mantê-lo assim. Ok, ótimo. Então, mantemos branco. Agora vamos duplicar o material corporal. E nós vamos mudar os materiais corporais, materiais nomeados para o nariz e pernas. E o material do nariz e das pernas será adicionado
ao nariz e mudaremos a cor para preto. Então vamos fazer isso completamente preto. E como você pode ver, é transparente. Temos de reduzir o núcleo, está bem? E faremos a cor do espectral também preta. E temos a cor do reflexo, que deve ser completamente preta também. Então, como pode ver, é super escuro. Está tão escuro que mal conseguimos ver nada. Podemos aumentar ou reduzir o brilho. Podemos mudar a cor especular um pouco para torná-la brilhante. Então colocamos em branco aqui em cima e talvez aumentemos o brilho só um pouco para que nosso foguete não pareça tão escuro. Ok, barulho. Então agora que temos, eu meio que colocar o nariz no nosso foguete, muito legal, ou estou no nosso foguete. E vamos adicionar a mesma cor às pernas. Então, adicionamos este e este. E vamos em frente e adicionar a todas as nossas pernas. E temos um foguete muito bonito. Então, a única coisa que falta,
é claro, é o logotipo Space X aqui, mas eu nem tenho certeza se isso é legal. De qualquer forma, talvez o adicionemos mais tarde. Mas este é basicamente o nosso foguete e parece muito legal se você me perguntar. Então vamos guardar isso. E vamos em frente e pré-fabricar nosso foguete. E antes de irmos, quero começar o projeto com uma boa nota. Então, uma coisa muito boa a fazer é que precisamos criar pastas. Então vamos criar uma pasta para os materiais. E vamos selecionar todos os materiais e colocá-lo dentro dos materiais. E vamos criar uma pasta para os prefabs. E colocaremos o foguete dentro da pré-fabricada. Então esse foguete, eu estou gostando, honestamente, parece muito legal. Então guardamos isso. Temos nosso foguete e precisamos ter certeza de que tudo se move e gira para se reunir. Então nos movemos, giramos nosso foguete. E se você olhar de perto, a rotação é um pouco estranha, como se não estivesse girando em torno de seu centro. Isso não é estranho? É estranho e vamos olhar para isso alguns vídeos. Espero que tenham gostado deste vídeo e antes de irmos, vou apresentar-lhe um desafio. E seu desafio será criar seu próprio foguete. Então encontre o projeto que você quer para o seu foguete. Crie esse design usando formas primitivas. Isso significa que o cilindro é o cubo, o que você quiser, vá selvagem, coloque suas lacunas de criatividade e faça o que quiser. O foguete não é, não será afetado. Seja o que for, apenas certifique-se ou tentou torná-lo um, como devo chamá-lo simétrico? Então você precisa ter simetria em seu foguete e criar seu próprio material e brincar com as cores, torná-lo único para o seu próprio gosto. E a parte mais importante do desafio é se divertir, porque no final do dia, você está criando um foguete que o sapato vai
usar e você vai estar voando por aí. Então pare o vídeo agora ou espere que a divindade termine e faça seu próprio ROC. Como te vejo na próxima? Ei, Michael aqui do futuro. Mais uma coisa antes de irmos é, e isso é ir para a árvore de origem. E como podem ver, temos novos arquivos no palco. E se nós os encenarmos e olharmos para eles, você pode ver que essas são todas as coisas que criamos após o commit inicial. Então estes são os materiais, o material do corpo, a pasta Prefabs que criamos dentro dos ativos. Você pode olhar para todas essas coisas. As mudanças que fizemos na amostra viram iluminação onde diminuímos as sombras, a pré-fabricação do foguete que fizemos, o nariz, o cilindro e o terreno, tudo isso que criamos. Então nós os encenamos. Então, como você pode ver, nós preparamos, tudo bem aqui, todos os arquivos ou encenados, nós clicamos em Commit e nós nomeamos isso criando ou não, moldando nosso foguete. Ok, legal. Nós clicamos em Commit. Esperamos que ele se comprometa. Nós clicamos no mestre, e agora temos o commit inicial com estes moldando nosso chip de foguete. Muito agradável. Portanto, certifique-se de usar a árvore de origem. É muito importante e vejo-te no próximo vídeo.
15. Inputs básicas de foguetes: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Como você pode ver, nosso foguete agora tem um corpo rígido e tem um script anexado com, quando clicamos no jogo, o foguete deve cair. Ele faz. E se pressionarmos a barra de espaço, começamos a voar uma pressão livre o A e D, viramos à esquerda e viramos à direita. Então não vamos perder mais tempo e vamos começar. Ok, então antes de começarmos a adicionar um pouco de informação, deixe-me falar um pouco sobre o que são os relacionamentos de pais e filhos. Então eu fiz isso bem aqui. Como podem ver, são todas crianças do foguete. Agora você pode estar se perguntando, por que precisamos de filhos e pais? Bem, por causa da sobrevivência da espécie humana. Mas além disso em unidade, estes são elementos muito importantes porque como você pode ver agora, o nariz, deixe-me clicar em denota o corpo e
o nariz e as pernas são todos objetos de jogo separados. Então, como conseqüência, você pode pensar que cada um deles se moverá por conta própria. E se você quiser mover a perna esquerda e o anticorpo anti-nódulos da perna direita, precisamos adicionar cada objeto de jogo, seu próprio script. E essa é uma tarefa assustadora. Então a melhor maneira de fazer isso é simplesmente criar um objeto que é nosso foguete, que será o pai. E adicione todos esses pequenos objetos de jogo que estão conectados ao mesmo princípio ou conceito. Por exemplo, o corpo é parte do foguete, o nariz é parte do foguete. Nós adicionamos todos esses elementos ao nosso foguete pai e N, nosso foguete pai, podemos simplesmente adicionar neste vídeo, por exemplo, vamos adicionar um corpo rígido ao foguete. Então, quando este corpo rígido for aplicado ao foguete pai, todas as outras criancinhas aqui também serão afetadas pela gravidade. E como se tivéssemos adicionado um corpo rígido a cada um deles. Então esta é uma grande vantagem de ter um relacionamento de pais e filhos. E nós também podemos adicionar um único script, como vamos fazer em apenas um pouco para o foguete. Então todas as outras crianças também terão este mesmo mecânico e nós vamos nos mover em uníssono com o objeto principal, que é o foguete. Agora você pode ver que sempre que movemos o foguete, não
estamos checando a perna. Também podemos mover o nariz, por exemplo. E se verificarmos, verificar o foguete, você pode ver que até mesmo seu centro de gravidade muda. Então isso é muito importante agora, quando movemos o foguete, você pode ver como eles se movem juntos. E não só se movem, eles também giram juntos. Então vamos tentar em torno desses outros eixos. Então eles giram juntos e também escalam juntos. Então você pode ver que o nariz, mesmo que não esteja conectado ao foguete, ainda se move com nossos foguetes. Então vamos controlar Zed, tudo isso controla isso significa isso. E fazer tudo isso. E vamos começar com o vídeo. Então, o que vamos fazer? Bem, vamos adicionar entrada ao nosso foguete. Nós já fizemos a entrada na seção anterior, mas vamos apenas atualizar nossa memória um pouco e, e avaliar onde nossa compreensão de C-sharp está no momento. Primeiro, vamos adicionar um corpo rígido ao nosso foguete, como prometido. Então vamos em frente e procurar um corpo rígido nos componentes. E agora o nosso foguete tem um corpo rígido. E vamos testar este corpo rígido. Nem sequer começamos no modo de jogo. Então vamos centralizar nossa câmera e uma maneira que nos permitirá ver tudo. Então eu vou pensar, vou colocá-lo aqui em cima. Oh, ok. Este é um bom ângulo. Nós clicamos na câmera principal, vamos para o objeto do jogo e alinhamos com a vista. Então você pode ver aqui no lado direito para baixo, a câmera principal se parece com isso. Então, quando clicarmos no jogo, este foguete deve estar caindo. E é muito bom. Oh, ok, ótimo. Então nosso foguete agora tem um corpo rígido e é afetado pela gravidade. Antes de seguirmos em frente, vamos nos divertir um pouco. Então vamos remover esta perna esquerda, mas a unidade não nos deixa, porque precisamos sair no pré-fabricada. Para remover a pré-fabricada do nosso foguete, podemos simplesmente clicar com o botão direito do mouse no foguete. E você pode realmente acessar o pré-fabricada e usar o descompactado completamente. Quando descompactarmos, podemos realmente ir em frente e excluir isso. Não se preocupe, ainda temos nosso foguete e nossos prefeitos. Esse é o uso de pré-fabricada. Então, clicamos no jogo. E vamos ver como o nosso foguete se comporta. E como você pode ver, porque ele não tem nenhuma perna em seu sloughed. Ele cai no chão. Está bem. E uma diversão vamos colocar de volta a perna esquerda. Não, não está me deixando. Vamos apagar o foguete e adicionar outro porque já o temos na pré-fabricada. Então esta é a magia da pré-fabricada. E não vamos esquecer o corpo rígido do foguete. Certo, ótimo, então vamos guardar isso. E, na verdade, vamos em frente e aplicar essa mudança ao nosso caminhão atual. Mas antes de fazermos isso, deixa-me mostrar-te. Então, se clicarmos no foguete pré-fabricado bem aqui e nossos ativos, você pode ver que ele só tem uma transformação e não tem um corpo rígido ainda. O foguete em nossa cena tem um corpo rígido, mas tem uma pequena linha azul bem aqui, bem ao lado dela. E para mudar isso, nós simplesmente aplicamos tudo. Então, clicamos em sobrescrever. Você deve ter um botão que é aplicar todos. E agora, se você entrar na Prefabs e no foguete em nossos ativos, você pode ver que ele magicamente tem um corpo rígido. Então, sempre que você fizer uma mudança drástica em um objeto de jogo, isso é um prefab e você quer manter essa mudança na sua preferência. Sempre que você criar um objeto de jogo, novamente, certifique-se de aplicar tudo e substituí-lo. Oh, ok, ótimo. Agora é hora de adicionar um pouco de comportamento ao nosso foguete. Então queremos criar um script que nos permita usar e colocar o foguete. E sempre que você quiser criar um script em um determinado objeto ou um log de objetos, por exemplo, os corpos e sabe e a perna. Você sempre usa a parte superior para o pai adicionar esse comportamento e script. Então vamos adicionar um componente, vamos chamá-lo de foguete. Navio. E vamos criar um novo script aqui mesmo. Então foguete garante que você tem o nome certo. Pode dar o nome que quiser. Apenas certifique-se de que é o nome que você quer, porque mais tarde , mudá-lo será uma dor nas costas. Ok, então vamos esperar pela unidade para compilar script. E agora temos um roteiro e também é amarelo, azul. Então precisamos aplicar tudo isso mais tarde, ou podemos simplesmente aplicá-lo agora. Então vamos em frente e fazer isso. Nós aplicámo-lo. Agora o script está presente no prefab sempre que criamos um foguete. Ele também terá aquele script de foguete nele. Só queria fazer aquele clique. Então vamos criar uma pasta. Vamos nomear os roteiros e adicionar a nave foguete aos roteiros. Clique duas vezes, clique dentro dos scripts e abrimos nosso roteiro de foguetes. E a qualquer momento terá algum código. Ok, ótimo. Agora você já está familiarizado com as entradas, então eu não vou entrar em detalhes sobre elas. Vamos primeiro criar uma condição se. Você já sabe se as condições. E a propósito, se você não sabe o que está acontecendo ou do que estou falando. Certifique-se de voltar para a seção dois onde falamos sobre todos os fundamentos da unidade e C-Sharp. Está bem? Então, ponto de entrada obter a chave. E nós vamos acessar um código chave, que vai ser a barra de espaço. E essa parte do espaço vai nos permitir voar. Então, antes de
fazermos qualquer coisa, vamos simplesmente imprimir voando sempre que atingirmos a barra de espaço dentro da atualização. Então, vamos guardar isso. E vamos ver se isso funciona. De volta à Unity. Certifica-te de que tens a consola aqui mesmo. Se não o fizer, é uma janela geral e deverá encontrá-la aqui mesmo quando clicar nela. Então console, vamos ver o que acontece e salvar a cena. Vamos clicar no jogo. Nosso foguete cai, pressionamos a barra de espaço e temos um vôo, muito vôo. E isso é porque ele é chamado no, na atualização. Há muitos quadros. Então, mesmo quando você tenta pressionar a barra de espaço muito rápido, whoops, deixe-me voltar ao jogo. Pressione Barra de espaço muito rápido. Como você pode ver, que quase 30 pressiona. De qualquer forma, isto é claramente uma indicação de que tudo funciona extremamente bem. Então agora é hora do seu desafio. E seu desafio é terminar as rotações. Então você precisará terminar as condições para girar o foguete para a esquerda e para a direita. Assim como criamos condições sobre as entradas para o vôo, você vai criar as condições para
as entradas para a esquerda e direita girando por enquanto. Assim como você, quando você terminar as entradas, você precisa extrair as linhas de código em dois métodos separados e manter a atualização limpa. Então, como você pode ver, os desafios estão ficando mais difíceis. Portanto, certifique-se de que você está prestando extrema atenção a tudo o que está acontecendo. Pausa o vídeo agora e vai fazer o Challenger. Oh, OK, bem-vindo de volta. Por isso, espero sinceramente que o senhor tenha feito o desafio facilmente, porque já abordámos tudo isto. Então vamos copiar a estratosfera. É perfeitamente bom copiar. Apenas certifique-se de que o código de chave aqui será o botão a. E isto vai imprimir virando à esquerda. E quando tínhamos o fundo D, então D, vamos virar à direita. Na verdade, isto deve estar girando para a direita. Então virando à direita, virando à esquerda. E finalmente, vamos, antes de fazermos alguma loucura, vamos ver se isso funciona. Clique no jogo. E se você não quiser ver muitas linhas, você pode simplesmente clicar em colapso para que as mensagens que são semelhantes entre si serão recolhidas em uma única linha. Então, clicamos na barra de espaço, certo? Clique na barra de espaço e temos um vôo. Nós clicamos no botão a, temos virando à esquerda. E se clicarmos à direita, temos que virar à direita. Quero dizer, no D, temos que virar à direita. Excelente trabalho para todos. Antes de irmos, vamos entrar na atualização e extrair tudo isso. Então, oops, vamos extrair tudo isso. Qual é o problema com você, por favor? Então extraia tudo isso rápido e como devemos nomeá-lo? Bem, vamos nomear este v. Oops, o movimento do foguete. Então agora temos dentro do movimento do foguete que voa,
gira, nossa nave e faz tudo
virá, vai realmente mergulhar nas forças e rotações no próximo vídeo. E, claro, antes de irmos, precisamos entrar na nossa árvore de origem. E precisamos encenar todo o nosso trabalho. Então encenamos tudo o que comprometemos e como devemos chamar isso? Bem, vamos chamar isso de adição de entradas básicas. Botas M. Certo, ótimo, então adicionando entradas básicas. Então, agora, se formos para o mestre, podemos ver que fizemos um commit inicial. Estávamos moldando nosso foguete e agora adicionamos entradas básicas. Muito agradável. Espero que tenha gostado do vídeo e te vejo no próximo.
16. Voar o navio de Rocket,: Bem-vindos de volta a um novo vídeo. E como prometido, quando clicarmos no jogo, podemos virar à esquerda. Bem, é claro, do console nós viramos à direita do console, mas se nós atingirmos a barra de espaço, nós realmente começamos a voar. Então este é um vídeo muito emocionante. Vamos adicionar um tipo diferente de força, não exatamente a que aprendemos antes. Oh, nós vamos ter voltado pequeno foguete. E nós vamos aprender sobre como ajustar a massa de um corpo rígido e todo tipo de coisas excitantes e divertidas. Então não vamos perder mais tempo e vamos começar. Oh, ok, então voando nosso foguete, o que eu quero dizer com voar nosso foguete? Enquanto vamos adicionar uma força ao nosso foguete na direção do
verdadeiro foguete e ele vai se mover para cima por enquanto. Primeiro, precisamos de uma referência ao nosso corpo rígido e você já sabe como fazer isso. Então vamos em frente e fazê-lo. Então vamos criar um corpo rígido. Vamos chamá-lo de meu corpo rígido. E dentro do começo vamos pegar meu corpo rígido e vai ser igual ao componente get, corpo rígido. E é isso. Agora temos acesso ao nosso corpo rígido. A próxima coisa que vamos fazer é adicionar uma força, mas não uma força qualquer. Vamos adicionar uma força relativa. Por que estamos adicionando uma força relativa, não uma força normal? Bem, deixe-me levá-lo para a documentação para que eu possa explicar melhor também. Então, o ponto do corpo encalhado adiciona força relativa. Aprendemos antes que adicionar uma força moverá nosso objeto na direção do vetor que lhe damos. Mas o problema com nosso foguete é que às vezes, então deixe-me ir ao foguete às vezes, por exemplo, digamos que nosso foguete é girado nessa direção. Então queremos adicionar uma força para cima, certo? Bem, se começarmos a adicionar uma força para cima, você pode ver que basicamente parece muito estúpido. O que queremos é que a força seja adicionada na direcção. Opa, espere um segundo. Queremos que a força seja adicionada na direção do foguete ou na direção em que o foguete está virado. Então, quando
giramos nosso objeto, queremos que a força seja adicionada nessa direção. E se girarmos o objeto na outra direção, então oop, giramos o objeto nessa direção. Você quer que a força seja adicionada, ok, por favor. E essa direção, então nosso foguete se move na direção da qual ele foi girado, e é aí que o anúncio, força
relativa entra. Então, de volta na documentação, na descrição você pode lê-lo. Ele adiciona um corpo rígido forçado em relação ao seu sistema de coordenadas. Isso significa que acrescenta a força relativa à forma como o nosso sistema de coordenadas está enfrentando. Então, vamos usar o Adicionar força relativa para trás e o Visual Studio. E aqui você pode ver isso porque extraímos nosso método. E ele não tem nenhuma variável nele. Ele criou uma estática agora não vai ser incomodando com o que estático é porque não vai estar usando partituras escritas, mas sinta-se livre para ir e procurá-lo no errado. É muito importante. Não é assim tão difícil. Talvez demore um máximo de dois ou três minutos. De qualquer forma, dentro do vôo, vamos apagar a impressão. E agora vamos usar o meu corpo rígido ponto adicionar força relativa. Ok, aquele corpo rígido estava completamente errado. Então meu corpo rígido, não sei por que a fila foi adicionada no final. E vamos adicionar uma força relativa. E essa força relativa, como você viu na documentação, pega um vetor três e nós vamos adicionar o vetor três e ele vai estar na direção de cima. Certo, ótimo, então vamos guardar isso e voltar para a Unidade e ver se alguma coisa funciona. Então, clicamos no jogo. E agora, se pressionarmos a barra de espaço, devemos começar a fluir para cima. E nós estamos, temos decolagem, Houston. Estamos a caminho de Marte. Tão legal. Antes de irmos, deixe-me, na
verdade, adicionar mais controle sobre nosso corpo rígido ou sobre nossa força. Então vamos criar um flutuador aparecer. E vai ser o impulso principal. E este impulso principal terá um valor de dois F. e vamos multiplicá-lo pelo impulso principal. Vamos guardar isso. Vamos voltar para a Unidade. E vamos ver se isso funciona. E agora temos decolagem. Como podem ver, sinto que precisamos de um pouco mais de força
ou, se quisermos que nosso foguete se mova mais rápido, podemos reduzir a massa em nosso corpo rígido. Então vamos reduzir a massa, massa para 1,18. E espero que isso não voe imediatamente. Ok, então como você pode ver, é muito mais fácil. Enquanto o nosso foguete, como podem ver, está voltando para a Terra. Muito agradável. Então você pode mudar a massa ou se mantivermos a massa no um, podemos voltar aqui e talvez fazer o impulso principal tipo, não
sei, talvez 50. Então guarde isso de volta na Unidade. Clique no jogo, e vamos ver como isso se parece. Por isso, também é extremamente rápido. Então isso nos leva diretamente ao nosso laser de desafio. Então ajuste sua
torrefação, calibrar o impulso principal do seu foguete para obter uma velocidade que se adapte ao seu estilo de jogo, eu não preciso demorar muito tempo nisso. Basta encontrar um bom ponto de seu cubo propulsor principal como será calibrá-lo também mais tarde. Mas, por enquanto, você precisa flexionar seu músculo desenvolvedor de jogos e calibrar o jogo para seu próprio estilo de jogo e ajustar a massa do foguete se você sentir que ele requer. Pause o vídeo agora mesmo e vá fazer o desafio. Ok, bem-vindo de volta. Então eu sinto que 50 é demais. Vamos fazer dez ou 100, isso é torná-los. Então nós clicamos no jogo e nosso foguete e ver como o movimento vai. Ok, eu meio que gosto, não
é pássaro então não é ruim, talvez apenas um pouco menos. Então, vamos fazer oito. Guarde isso em Unity, colete no jogo. E 88 realmente faz o truque, e parece muito legal. Então espero que você tenha gostado deste vídeo. E antes de irmos, como sempre, vamos nos comprometer com todas as nossas mudanças. Então, onde estão as nossas mudanças? Clique em Confirmar. E aqui só fazemos alterações no script. Mas isso é o suficiente. Então, encenamos o roteiro e vamos chamar
isso, como devemos chamar isso? Voando nosso foguete. Então eu vou dar um nome a ele. Eu acho que sempre como o título do vídeo é sinta-se livre para nomear seus commits, o que você quiser. Então o último foguete com o nosso convencido bem aqui, e eu vou te ver no próximo.
17. Rotação do nosso navio Rocket: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, estamos tendo um foguete apropriado. Agora, quando pressionamos a barra espacial, temos a decolagem de Houston. E quando giramos, nós realmente giramos nosso foguete. E como você pode ver, temos finalmente encontrar, encontrou um bom uso para a nossa velocidade relativa de anúncio. Então agora nosso foguete se move e sai de vista. Só Deus sabe onde, enquanto foguete. Ok, então, oh, lá está ele. Um foguete. Como você está? Então não vamos perder mais tempo e vamos começar. Esta é a diversidade de foguetes mais patética. Ow, kay, então girando nossa nave foguete, como vamos fazer isso? Primeiro, precisamos escolher o vetor em torno do qual vamos girar nosso foguete. Então agora temos três opções. Podemos girá-lo em torno do eixo X. Se girarmos sobre o eixo z
, não, não é o que queremos. E já temos muitos erros, então agora podemos girar em torno do y e também não é útil. E podemos girar em torno disso, que enquanto bom, este é o x que queremos girar em torno dele. Mas como você pode ver, há algo estranho e eu aludi a isso em um vídeo anterior, mas agora é hora de resolver o problema. Então, agora, se escolhermos girar em torno de z, você pode ver que nosso foguete não está girando em torno de si mesmo. Está girando em torno de algum lugar estranho ou algum centro. Talvez seja o fundo do nosso foguete. Bem, a razão para isso é quando clicamos no foguete, você pode ver que na verdade
a posição do foguete está bem aqui no centro e você acha que ele deve girar, deve ser girado lá, mas não faz. Na verdade, gira em torno de algo chamado ponto de pivô. E esse ponto não é visível agora a menos que subamos aqui onde temos o centro e clicamos no Centro, e agora temos o pivô. Então, oh, o que é isso? Bem, se começarmos a girar, é óbvio que nosso foguete está girando em torno do pivô e não do centro do foguete. Certo, agora que aprendemos que é hora de consertar isso, e como consertamos isso? Bem, precisamos baixar a posição do nosso foguete para o y igual a 0. E vamos descer e ver como isso parece. Ok, então agora o nosso Y está no 0. A próxima coisa que vamos fazer é pegar todos os nossos objetos de foguete. Então, selecione o primeiro e, em seguida, mantenha pressionada a tecla shift e selecione o último. E então vamos mover nosso foguete para baixo até chegarmos quase ao 0. Então você pode ver que é meio
que, é amarelo, então não é muito visível, mas você precisa ter certeza de que você colocá-lo quase em 0. Agora escolhemos o nosso foguete e movemo-lo para cima. E enquanto você está fazendo isso, certifique-se de que você está no modo pivô. Isto é crucial. Você precisa ser o modo Tabela Dinâmica ao escolher todos os outros objetos. Agora, se clicarmos no Centro e clicarmos no pivô, é quase o mesmo. Isso é bom o suficiente. Então vamos tentar a rotação agora em torno do eixo Zed. Escolha este anúncio girar, e parece meio legal. Então, isto é perfeito. Está funcionando perfeitamente bem. Agora é hora de um pouco de codificação, ok, agora que temos tudo estabelecido, em primeiro lugar, vamos escrever o script de girar para a direção esquerda, que está bem aqui dentro do a. Agora com impressão. Agora, o que deveríamos estar fazendo? Bem, precisamos de acesso ao nosso transporte e transformação. Podemos realmente usar um método que é chamado de rotação. E agora precisamos escolher o vetor em torno do qual
vamos girar nossa transformação. Philip, de volta aqui, podemos ver que estamos realmente indo girar
em torno da zona que foi estabelecida anteriormente. Mas não temos um vetor Zed aqui. Então vamos usar a próxima melhor coisa, que é o vetor três pontos adiante. E o vetor para frente é na verdade o vetor xhat. Porque quando você olha para a unidade, nós podemos, vamos imaginar que estamos olhando diretamente na cara agora. E o vetor para a frente é onde quer que vá em direção à tela. Então, para a frente em direção à tela, isso significa que é o eixo z bem aqui. Muito agradável. A próxima coisa que precisamos fazer é adicionar uma rotação no sempre que apresentamos D, então é para a direita. E queremos ir na outra direção. Então precisamos escolher o vetor menos três vezes. Vamos guardar isso. Então nós adicionamos simplesmente, nós adicionamos um menos atrás do vetor três para a frente. Vamos para a Unidade e ver se isso funciona. Por isso, já não
devíamos imprimir para a nossa consola. Janela para cima. Ok, ótimo. Agora giramos e giramos perfeitamente bem. Você viu isso? Então vamos tentar de novo com você. E como podem ver, temos uma força relativa de trabalho enquanto nosso foguete ainda meio louco circulando por todo o lado. Bem retorno do foguete e ele desapareceu em algum lugar lá embaixo. Por foguete. Você ainda pode vê-lo. Mas de qualquer forma, tudo funciona bem. O problema é que o nosso movimento é muito dependente da taxa de quadros do nosso jogo. Então, se alguns de vocês lá fora jogam videogame, como tenho certeza que a maioria de vocês faz, vocês sabem uma coisa ou duas sobre taxas de quadros. Então são os quadros por segundo, que geralmente é ruim em um computador ruim e bom em um bom computador. Então precisamos verificar o que é isso. E aqui, quando clicamos no jogo, aqui em
cima você pode ver que temos uma opção para estatísticas. E quando clicamos em estatísticas, podemos ver que com base em nossos gráficos, temos 2002, talvez 3 mil quadros por segundo. Agora, talvez o seu seja um pouco diferente, o meu é um pouco diferente. Isso não importa. O problema com isso é que quando adicionamos muitos objetos de jogo, nossa taxa de quadros cai. Então a atualização para o pacote em atualização, que é atualização, é chamada uma vez por quadro, nossa taxa de quadros cai, nosso movimento de foguete será muito diferente. E este é um grande problema porque quando estamos, quando vamos começar a construir, níveis terão objetos giratórios ao nosso redor, terá luzes, terá, terá pós-processamento, terá um monte de coisas que são em conjunto e isso, naturalmente, vai cair nossa taxa de quadros. E se a nossa taxa de quadros cair muito, nosso jogo começará a ficar atrasado. E os fundamentos do nosso jogo, que são voar, empurrar e girar, serão afetados pela taxa de quadros. E isso é um design de jogo muito ruim. Um conceito que precisamos mudar isso. Precisamos de separação entre a taxa de quadros e a velocidade da nossa rotação ou foguete. E é aí que entra algo chamado Time.DeltaTatime. Então deixe-me explicar o que é hora de cortar o tempo. É o tempo desde que o último quadro foi concluído. Então isso nos dá o tempo entre o quadro anterior e atual. Por que precisamos dele? Bem, ele é usado quando você quer que o movimento seja a mesma velocidade, não importa a taxa de quadros. E faz com que o nosso jogo funcione independentemente da taxa de quadros e do hardware do computador. Portanto, qualquer hardware, seu jogador ou qualquer pessoa que esteja querendo jogar seu jogo, seu movimento ou seu jogo será independente da taxa de quadros. E isso é muito importante. Então agora sabemos o que é tempo delta como o tempo entre os quadros. Sabemos por que vamos usá-lo, mas como vamos usá-lo? Bem, de volta à unidade, e aqui vamos simplesmente multiplicar nosso vetor para frente pelo tempo delta do ponto do tempo. E o que isso faz e por que se separa, porque agora temos o tempo entre cada quadro e estamos multiplicando para o nosso vetor. Portanto, não importa qual é a taxa de quadros, não importa como ela flutua, o tempo entre cada taxa de quadros será o mesmo. Então nosso vetor quatro será o mesmo, mas vamos multiplicá-lo com este. E nós também vamos estar multiplicando isso aqui em cima. Mas o problema com isso, e é um problema muito pequeno que você verá quando começarmos a jogar, é que agora, se
tentarmos girar, não teremos nenhuma rotação. Bem, nós temos uma rotação, mas é tão pequena e insignificante que nem percebemos. E por que isso? Bem, porque o nosso tempo. DeltaTimo é muito pequeno como você viu. Existem 2 mil quadros por segundo, então o tempo entre cada quadro é muito, muito, muito minúsculo. Então o que precisamos fazer é criar um, assim como criamos uma variável para o impulso principal. Vamos criar uma variável para o impulso de rotação flutuante. E vamos simplesmente colocar como cinco. Só por agora, basta verificar F. Isso é o suficiente. E vamos em frente e multiplicar isso por rotações V. Rust, copie isso e multiplique pelo impulso de rotação. Então vamos guardar isso. E vamos experimentá-lo em união. Então, clicamos no jogo. Isso é o suficiente? E como você pode ver, é um pouco melhor, mas ainda precisamos de mais. Então vamos em frente e fazer 50. Legal, 50. Vamos experimentá-lo. Então nós clicamos no jogo, e agora nós movemos para cima e nós giramos um pouco melhor. Eu sinto que precisamos ir tudo em cima disso e vamos fazer 100. Ok, isso não é realmente tudo n, mas vamos ver se isso é suficiente. Então, novamente, ele VOIP, nós giramos, nós ainda precisamos de um pouco mais. E eu acho que este é o momento perfeito para te apresentar um desafio. Então seu desafio será ajustar sua rotação de foguetes. Entenda como a mecânica de rotação está funcionando. Então volte e veja como nosso foguete está se movendo em torno do eixo dianteiro, que é o eixo Zed. Ajuste o ponto de pivô do seu foguete. Não precisa ser bem no meio, assim como eu fiz. Pode variar um pouco, depende de como você quer que seu foguete se sinta. Jogue com o ponto de pivô, veja como ele funciona
e, finalmente, ajuste as rotações ao seu gosto. Então, verifique como você quer fazer sua rotação, quão rápido você quer ser. Talvez 100 seja suficiente para você. Talvez não seja. Não sei, é o seu jogo. Pause o vídeo agora mesmo e vá fazer o desafio. Ok, bem-vindo de volta. Então 100 não está cortando. 500, opps, 500 agora quando clicamos no jogo, ó K. Então finalmente,
finalmente, temos um foguete que está se movendo corretamente, mas como você pode ver, ele não está se movendo corretamente. Temos rotações estranhas em torno de ângulos estranhos, e se mantivermos o espaço, nosso foguete vai voar para todo lugar, mas não se preocupe, estaremos consertando tudo isso mais tarde antes de
irmos, precisamos fazer duas coisas. Primeiro de tudo, precisamos multiplicar o impulso principal pelo tempo, tempo delta. E um bom hábito é que podemos realmente ir em frente e criar
aqui mesmo um flutuador que vai ser a nossa velocidade de rotação. E a velocidade de rotação será igual a time.DeltaTatime vezes impulso de rotação. Então, porque estamos usando um duas vezes aqui, agora
podemos simplesmente usar a variável de velocidade de rotação para mudar tudo o que temos e olhar, nosso código parece muito mais limpo. Você pode fazer o mesmo aqui com o impulso principal e time.deltaTatime. Mas porque estamos usando Get os, não
acho que seja muito necessário. Então guarde tudo isso. Precisamos ajustar, é claro, o impulso principal, vamos simplesmente colocá-lo em cem, dez cem e espaço. Está um pouco lento, como pode ver. Vamos fazer 2 mil. De volta à Unity. Clique no jogo. 2 mil é realmente bom o suficiente por agora, tão bom. Antes que esqueçamos, vá para a árvore de origem, clique nas alterações não confirmadas. Às vezes eles não aparecem, não se preocupe. Você sempre pode clicar em Commit e eles aparecerão aqui. Estágio todo girado. Meu foguete. Está bem. Eu não tenho certeza do porquê. Estou até capitalizando cada palavra. Vamos mantê-lo como aquele comentário. E nós o temos dentro do nosso mestre. Ok, ótimo. Espero que tenham gostado do vídeo e nos vemos no próximo.
18. Adição de áudio: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos estar aprendendo sobre fontes de áudio, vai estar aprendendo sobre como reproduzir clipes de áudio. Estaremos aprendendo sobre um site. Isso é muito legal. Vamos aprender sobre chips de rock e como adicionar efeitos sonoros ao nosso jogo. Então, agora, quando começamos a empurrar ou voar ou pressionar a barra de espaço, não só o nosso foguete se move para cima, como também x é igual ao som sempre que e quando liberamos a barra de espaço, o som desaparece. Vamos fazer isso de novo. Muito agradável. Então não vamos perder mais tempo, e vamos começar. Oh kay, adicionando áudio. Muito agradável. A primeira coisa que quero falar é onde é que vamos ouvir o nosso áudio? Porque se não tivermos ninguém ouvindo, podemos tocar qualquer coisa. Então nós clicamos no Cameron principal e aqui, a câmera principal, você pode ver que tem um componente que é a câmera onde você pode brincar com um monte de coisas. E há também um ouvinte de áudio bem aqui. E este ouvinte de áudio ouve qualquer som que é feito dentro do nosso jogo. Ok, ótimo. Agora, como é que vamos realmente tocar algum áudio? Então, antes de fazermos isso, o que você quer jogar? Bem, nós queremos tocar o som do nosso foguete empurrando. Então, quando clicamos em Reproduzir, atualmente, não temos nenhum som, mas queremos realmente ter um som sempre que clicamos no avião. E isso é usado, ou isso é possível usando algo chamado fonte de áudio. Então deixe-me levá-lo para a fonte de áudio aqui em cima. Fonte de áudio. Então, na descrição, você pode ler que é uma representação de fontes de áudio em 3D. Assim, você pode anexar uma fonte de áudio a um objeto de jogo para reproduzir sons no ambiente 3D, você pode continuar lendo em voz alta e você pode ver que ele reproduz sons. Você também precisa ter o ouvinte de áudio e ele precisa que ele pode ser anexado a várias coisas, mas a melhor maneira de fazê-lo, a melhor coisa a fazer é anexar o ouvinte de áudio à câmera. Normalmente está ligado à câmara. Você pode reproduzir um único clipe de áudio usando a opção Reproduzir Pausa e Parar. Então podemos usar essas três opções aqui para reproduzir pausar e parar. Você também pode ajustar o volume. Você pode procurar através dele usando o tempo e você pode reproduzir vários sons usando algo chamado de jogar um tiro. Ou você pode usar a posição estática, que significa que você pode escolher em qual posição deseja reproduzir o áudio, reproduzir clipe e no ponto. Agora, agora não é relevante, mas mantenha esses dois métodos em mente. Então, jogue um tiro e reproduza clipe no ponto, estes serão muito cruciais à medida que avançamos através de nossos vídeos. Então vamos descer aqui e ver o que jogar, pausar e parar realmente faz. Então, jogue, toca o clipe. Ok, isso é o suficiente. Pare, pare de tocar o clipe. Então é preciso um gênio para descobrir tudo isso. Vamos para a peça. Então a fonte de áudio ponto reproduzir e ver o que ele faz. Então, no lugar do clipe, que clipes, o que, o que, o que é o clipe de que eles continuam falando? Então vamos em frente e ver de que clipe eles estão falando. Aqui no foguete. Vamos em frente e adicionar um Ou você coleta fonte na fonte de áudio? E aqui você pode ver que é preciso um clipe de áudio e esse é o clipe que todo mundo continua mencionando e falando. Você pode ajustar a prioridade. Então, que som, que som toca antes? Isto não é tão importante. Você pode ajustar o volume, o tom, o pan estéreo. Se você é bom em música, sinta-se livre para brincar com tudo isso. Você também pode, há várias coisas que você pode ajustar. Mas para mim, para um cara que simplesmente quer adicionar alguns sons, não me incomoda tanto. Agora, onde devemos ir para obter nossos efeitos sonoros? Bem, há dois lugares. Primeiro de tudo, você pode ir para os recursos e usar o clipe de áudio que eu forneci. Basta clicar nele e arrastá-lo para seus ativos. Ou vamos clicar nele e ouvi-lo. Espero que consigas. Então, como você pode ver, este é o clipe que vai ser jogado onde quer que pressionemos a barra de espaço e começar a voar. Ou você pode ir a este site aqui mesmo, que é art.com jogo aberto. Há muitos sites onde você pode encontrar efeitos sonoros para jogos, mas este é o meu favorito. É completamente grátis. Claro, se você quiser usá-lo em um de seus jogos, você precisa ter certeza de qual licença você está usando, e você pode escolher qualquer tipo de música que você quiser. Há também ordem 3D ou 2D é música, efeitos
sonoros, texturas, documentações. Há muitas coisas aqui neste site. E efeito sonoro é onde eu realmente obtenho meus efeitos sonoros. Eu os trouxe aqui do jogo aberto Art.org. Então certifique-se de ir e verificar se você quiser obter seus próprios efeitos sonoros. E eu, eu realmente encorajo você a ir e encontrar seus próprios efeitos sonoros porque este é o seu jogo. Tão grande. Agora que temos o nosso efeito sonoro e temos a nossa fonte de áudio, a única coisa que resta é entrar no rock chip, encontrar a fonte de áudio. E vamos em frente e arrastar o efeito sonoro completo, a fonte de áudio do navio voando e colocá-lo aqui mesmo no clipe de áudio. E vamos aplicar tudo isso. Legal. Agora temos uma fonte de áudio com um clipe de áudio, e a única coisa a fazer é reproduzi-lo sempre que pressionamos a barra de espaço. Mas se você olhar com cuidado, clique no jogo, alguns de vocês podem ter experimentado isso. Não estamos pressionando nada e o som já está tocando. E isso é por causa de algo aqui chamado “A peça no Despertar”. Então este lugar, assim que começarmos o jogo, então vai simplesmente desmarcar esta caixa. Vamos aplicar isso. E agora, quando clicamos no jogo, não
há som, silêncio completo. Ok, ótimo. De volta ao nosso código. Agora devemos começar, antes de tudo, uma referência. Então fonte de áudio, temos uma referência, então é minha fonte de áudio. E aqui vamos pegar o componente porque ele está presente em nossos foguetes ou obter componente ou fonte dupla. Não sei por que, mas obter os componentes é realmente muito satisfatório. É fácil, é rápido. E de qualquer forma, agora precisamos jogar o. Fonte de áudio e onde vamos tocá-la? Bem, vamos tocá-lo dentro do,
a condição de pressionar a barra de espaço. Então, sempre que pressionamos a barra de espaço aqui, vamos começar imediatamente a tocar nosso clipe de áudio. Então vamos chamar a minha fonte de áudio ponto play. E isto deve funcionar. Então guardamos isso. Bem, na verdade, eu tenho um segredinho. Não vai estar jogando muito bem, mas vamos fazê-lo de qualquer maneira porque precisamos aprender com nossos erros ou clicar no jogo. Nós não temos nenhum som quando começamos a pressionar a barra de espaço. Você acha? Consegues ouvir isso? Então, sempre que clicamos no jogo, temos dois problemas. Em primeiro lugar, paramos de pressionar qualquer coisa e levou tempo para nossa nave parar de fazer qualquer barulho. É o outro problema é que temos este tipo de um, o que devo chamá-lo 14. E nós não gostamos disso. Não queremos nada disso. O problema é, que som é esse? Bem, você viu no console como sempre que pressionamos a barra de espaço, nós realmente temos um monte de barras espaciais pressionadas. Então leva 20 ou 30 vezes e isso é um problema para nós. E por que isso é um problema? Bem, porque o som está sobrepondo um em cima do outro. Então, pressionamos a barra de espaço pela primeira vez e processamos. Achamos que pressionamos de uma vez. Mas no quadro, porque somos aplainados com base na taxa de quadros, ele está pressionando várias vezes em um segundo, e isso leva ao som f que está começando no início. E então, quando lançamos a barra de espaço e começamos a tocar normalmente como o último clipe de áudio começa a tocar. Como consertamos isso? Bem, há um truque bacana que vamos usar. E nós vamos realmente criar uma condição “if”. Vamos abrir que se condição e vamos
escrever meu ponto fonte de áudio está tocando. E se passarmos o mouse sobre ele, podemos ver que é o clipe tocando agora. Então é, ele pergunta, faz a
pergunta, o clipe está tocando agora? Assim como jogar. E se jogar é igual a falso, isso significa que não está jogando. Então vamos hoje a nossa fonte de áudio ou clipe de áudio que está em nossa fonte de áudio. Então, mas como você pode ver, há um pequeno, pequenino, pequeno problema. E nós realmente precisamos adicionar dois iguais. E isso vai verificar se está jogando, está jogando. Mas não há maneira. E se alguém lá é bom em codificação, vê você fazendo esse método. Eles vão remendar nas costas e realmente reconhecê-lo como um verdadeiro o mais frio. Então, em vez de usar igual, igual a falso para verificar se é falso, você pode remover isso e adicionar um ponto de exclamação logo atrás da minha fonte de áudio, mas está sendo reproduzido. E isso, o que isso significa é que ele verifica
diretamente se a instrução atual após o ponto de exclamação é falsa. Se for, a condição if funciona. Ok, ótimo. Então agora vamos verificar se ele está jogando. Então, se jogar é verdade, então estamos reproduzindo a fonte de áudio, nós negamos isso usando o ponto de exclamação. E então ou não entramos ou entramos. Então, se estamos jogando uma fonte indevida, esta linha inteira ou condição inteira será falsa. Portanto, não vamos jogá-lo novamente e vamos simplesmente empurrar nosso foguete. O jogo é falso. Isso significa que não há nenhum clipe de áudio em reprodução. Nós, toda esta condição será verdadeira. Isso significa que podemos começar a tocar algo e nossa fonte de áudio espera que faça sentido. Então vamos guardar isso. Vamos voltar para a Unidade e ver se tudo isso funciona. Coletar em jogo. E agora, quando começamos a empurrar, temos um som perfeitamente bom. Muito agradável. Mas ainda há um problema. Como podem ver, não paramos o áudio sempre que paramos de empurrar. E isso é um desafio para você. Então seu desafio é parar a reprodução de áudio quando paramos de empurrar, empurrar, áudio deve parar. Quando lançamos a barra de espaço, o áudio deve parar. Então isso é basicamente como uma pequena mão que eu dei e que eu dei a você. Então eu já lhe dei uma pequena dica no início do vídeo quando eu mostrei a documentação. Então volte para a documentação, leia um pouco sobre a fonte de áudio e que tipo de métodos podemos usar para manipular os clipes de áudio nele. E você terá a resposta para o desafio. Pause o vídeo agora mesmo e vá fazer o desafio. Oh kay, bem-vindo de volta. Então, como você se saiu com isso? Vamos usar algo que é chamado minha fonte de áudio ponto stop. Então vamos parar sempre que pararmos de bater na barra de espaço. E é aqui que entra a outra condição. Então, se nós não estamos pressionando, oops, então se, uau, ok, então se nós não estamos pressionando a barra de espaço, nós vamos simplesmente chamar minha fonte de áudio e nós vamos parar de tocar. Cu. Então vamos guardar isso e ver se funciona. Nós clicamos no jogo. E agora nós empurramos. Consegues ouvir que paramos a nossa música de tocar? Muito bom, não música de arte, na verdade, o nosso efeito sonoro de tocar. Então, chegamos ao Espaço, temos som. Nós liberamos o espaço. Não há som. Então funciona. Ótimo. Para a última coisa que precisamos fazer é criar uma pasta. Então vamos nomear essa ação como efeitos, significando efeito sonoro. E colocaremos o efeito sonoro da nave dentro desta pasta. Salve tudo isso, vá e confirme suas alterações. Então mudanças não confirmadas, há muita coisa na verdade. E vamos cometer tudo isso. E vamos nomear este compromisso adicionando como efeitos à nossa nave foguete. E é tudo natureza capitalizada. Por que comentar isso? E agora temos isso em nossos mestres. Estou muito animado para os próximos vídeos. Espero que tenha gostado deste vídeo e te vejo no próximo.
19. Resolvendo erros: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Como você pode ver, criamos um obstáculo, criamos uma plataforma de pouso, e quando clicamos no jogo, corrigimos todos os nossos problemas de movimento. Então agora nosso foguete se foi. Está bem, está de volta. Então agora nosso foguete não faz mais movimentos estranhos em moscas. Ok, isso é um movimento de palavras que vai consertar mais tarde, mas pelo menos ele fica no mesmo plano que nós queríamos, e ele não vai para o espaço e em direção diferente. Podemos sempre controlá-lo aqui mesmo. Podemos ir da nossa plataforma de lançamento para a nossa plataforma de aterragem e podemos aterrar o nosso foguete. Temos controle total sobre a rotação do nosso foguete. E é um pequeno passo para os humanos e o grande passo para a humanidade. Ou isso não é a citação, Eu acho que algo diferente. Oh, ok, vamos começar. A primeira coisa que precisamos fazer é ir para o nosso código. E o movimento do foguete está ficando um pouco confuso. Então vamos extrair isso aqui, que são os rotativos, Oh meu Deus, nós vamos extrair isso. Então, ação rápida e refatoração, vamos extrair um método. E vai ser rho, namorando aros, girando nosso foguete ou simplesmente girando, girando ou girando. Não importa tão girar. E como você pode ver, porque nós criamos a velocidade de rotação bem aqui, e ela é usada nessas condições. Ele realmente criou um parâmetro. Agora, se você, você pode fazer duas coisas aqui, você pode copiá-lo ou excluí-lo daqui e copiá-lo aqui e remover o parâmetro. Ou você pode mantê-lo assim. Realmente não importa. Vamos ficar com ele. É legal e é uma boa lição para nós mais tarde. A próxima coisa que precisamos fazer é extrair isso aqui mesmo. E nós vamos chamar este método método de extração, e ele vai ser chamado de ferrugem. Então agora temos dois Austen e girando. Então, vamos mudar-nos para cá. Vamos colocar um espaço entre eles para que possamos diferenciar entre eles. Agora, honestamente, eu não gosto disso aqui. Está no lugar errado, na hora errada. Mas vamos mantê-lo, vamos mantê-lo, é bom. Então agora você sabe como os parâmetros funcionam, mas você tem uma melhor compreensão de como os parâmetros funcionam. Mas da próxima vez, sempre que você estiver codificando sua coisa e você já é profissional e você sabe o que está fazendo. Isso não é recomendado. Vamos mantê-lo como um lembrete de como estamos aprendendo passo a passo e toda vez que assistirmos um novo vídeo, tudo bem, a próxima coisa que precisamos fazer é entrar na Unidade e criar uma plataforma de pouso e algum tipo de obstáculo. Então, a maneira como criamos uma plataforma de pouso, vamos pegar nossa plataforma e vamos duplicá-la. E a propósito, são usados para duplicar alguns vídeos atrás e eu não lhe disse como. É bastante simples. Você simplesmente clica na coisa que você quer duplicar, você mantém o controle e você pressiona em D, e agora você tem uma segunda plataforma. Então esta vai ser a nossa plataforma de pouso. Então vamos mudar o nome. Então aterrissagem, oops, plataforma de pouso. E esta vai ser a nossa plataforma
de lançamento. E vamos criar um material para a nossa plataforma de aterragem. Então vamos duplicar o material da plataforma e vamos nomear este v. Oops, material de pouso VI. E este vai ser chamado de nota de operação, a
propósito, não, desculpe, desculpe. Este deve ser o material de lançamento, porque vamos mantê-lo aqui neste. E este vai ser o material de pouso. E vamos remover o no final deste, e vamos mudar a cor para azul. Então agora a pista de pouso é azul. A próxima coisa que precisamos fazer também precisará pré-fabricar. Então vamos pré-fabricar a plataforma de lançamento e a plataforma de aterrissagem. E vamos em frente e pré-fabricar o terreno. O que mais devemos preferir agora? - Nada. Vamos criar um objeto 3D. Um objeto 3D, por favor. É um cubo, vai redefinir sua posição. Vamos colocá-lo aqui em cima. Vamos aumentar o x um pouco. E estes muito e o y apenas um pouquinho. E este vai ser o nosso obstáculo. Então não parece um obstáculo. Não, não faz. Mas, por enquanto, isso servirá, este será o nosso obstáculo. E nós vamos criar um material para ele também. Então nós duplicamos. Este é o nosso,
oops , não este. Encontre o que tem um no final porque essa é a cópia. E nós vamos nomear este obstáculo ups, material
dúctil e vai ser avermelhado, vermelho ish. Então material de obstáculo, agora temos um obstáculo, temos uma plataforma de pouso e podemos clicar no jogo e ver o que há de errado com o nosso movimento. Então, se nos movermos, se atingirmos a rocha, o obstáculo, por exemplo, podemos ver que agora nossa rotação é estranha, então nosso foguete está olhando para nós e não está realmente virado para o jeito que queremos. Queremos mantê-lo neste avião. Então isso significa que queremos mantê-lo neste avião. Então nosso foguete não deveria estar se movendo aqui neste avião. Não deveria estar indo para a esquerda e para a direita e
caindo e fazendo o que quer que esteja fazendo agora. Então precisamos tentar congelar a rotação em torno de certos eixos. Então vamos fazer isso. Para corrigir nossa rotação de vácuo, precisamos usar uma função especial em nosso corpo rígido, que é chamado de rotação de congelamento. Não vou me aprofundar muito nisso. É bastante fácil. Então vamos e encontramos a rotação ou a rotação. E aqui, antes de começarmos a girar, vamos chamar o meu corpo rígido de rotação de congelamento. E vai ser igual a verdade. Então, antes de começarmos a girar, será verdade. E meu corpo rígido, quando pararmos de girar, vai ser realmente rotação congelada e vai ser igual a falso. Então, o que isso realmente faz? Bem, antes de começarmos a girar, vamos congelar a posição do foguete. Quando pararmos de girar, vamos continuar girando nossa posição. Deixe-me mostrar-lhe como isso funciona no nosso jogo. Então, clicamos no jogo. Nós movemos para cima, giramos nosso foguete e, como você pode ver, ele pára de girar agora podemos girá-lo de volta para que você possa. Está bem. Agora está caindo um pouco, mas não se preocupe. Isto ajuda-a. Ok, uau, tchau foguete. Então, é um pequeno ajuste na rotação dos foguetes, mas não é suficiente. Ainda temos muitas coisas erradas com o nosso foguete. E uma dessas coisas é que ele continua indo e voltando. Então, para corrigir isso, vamos usar algo chamado atualização tardia. Então deixe-me mostrar a vocês o que é a atualização tardia nas documentações da unidade. Então este é o que pico chamou de “Atualização Tardia”. E como você pode ver na descrição, até atualização tardia é chamado cada quadro. E atualização tardia é chamada depois de toda a atualização de funções ter sido eliminada. Agora, por que estamos usando atualização tardia? Porque queremos depois de cada atualização. Então, quando terminarmos de girar aqui e atualizarmos, enquanto uma atualização, verificamos o movimento do foguete, certo? Fazemos um impulso, talvez, ou uma rotação. Então nós giramos. Está bem. Quando terminamos de girar, o quadro termina e, em seguida, outro quadro começa. Mas durante o quadro que giramos, nosso foguete fica um pouco confuso e vai por todo o lugar. É por isso que precisamos redefinir
a rotação ou os ângulos de um foguete no final de cada atualização. Para que não se afaste do caminho. Deixa-me mostrar-te o que quero dizer. E vamos criar um vazio privado, atualização tardia. Ok, então agora temos o xarope de atualização tardia e o que vamos fazer, e isso vai ser um pouco assustador. Mas não temam. Vamos usar algo chamado Local. Você aprende ângulos e uso local ângulos Euler. Não sei como isso se escreveu. Então locais são, na verdade, um vetor três. E esse vetor três é na verdade os ângulos ou sua íngreme. Como devo dizer isso? É a forma como a Unity mede os ângulos e o motor. Não tenha medo. Não é nada muito assustador. É simplesmente vai ser 00 y 00 porque queremos manter o ângulo do nosso foguete no 0, no eixo x, 0, no eixo y, 0, mas no eixo zed, queremos mantê-lo o mesmo que o ponto de transformação Euler local ângulos ponto z. ok, então para novos conceitos muito assustadores, vamos revê-las um pouco. Primeiro de tudo, atualização atrasada, ele é chamado sempre que a atualização aqui termina. Por que estamos usando a atualização tardia? Bem, porque estamos girando, girando nosso foguete dentro da Atualização. E toda vez que terminamos a atualização, queremos redefinir os ângulos. E nós somos recentemente esses ângulos usando a atualização tardia cada quadro, isso impede nosso foguete de enlouquecer. E como somos coisas recentes? Bem, estamos usando os ângulos locais. assim que a Unity mede os ângulos em seu motor. Então vamos para a transformação, pegamos os ângulos e criamos um novo vetor três. E dentro desse vetor três, definimos a rotação em torno de x 0. Nós dissemos que a rotação em torno de y para 0. E dissemos, bem, na verdade, não
estamos ajustando a rotação, estamos ajustando o ângulo. Então isso é muito crucial para entender. Estou dizendo rotação porque é mais fácil de obter, mas estamos definindo o ângulo em x para 0, o ângulo on-line para 0. E então nós estamos mantendo o que sempre o ângulo rural local já estava ligado. Estes são os mesmos que são. Está bem. Então espero que tudo isso faça sentido para mim. Seguir em frente. Na verdade, pensei que devia mostrar-te o que é a rotação de congelamento. Assim, ele controla se a física irá alterar a rotação do objeto. Se a rotação de congelamento estiver ativada, a rotação não será modificada pelas simulações de física. Então isso significa que se nós, por exemplo, conseguirmos, deixe-me mostrar-lhe, então eu deveria ter te mostrado antes, mas de qualquer maneira, se você pode experimentá-lo. Então, se o nosso foguete cair assim e o deixarmos lá, o foguete não vai mais tensão sozinho por causa
da rotação residual que estava presente no nosso foguete, se isso faz sentido. Ok, então um monte de novos conceitos, mas a idéia principal é que quando clicarmos em placas deve correr exatamente no avião que queríamos. Portanto, não deve mais ser afetado. Certo, foguete de retorno. Portanto, não deve mais ser afetado quando atinge um obstáculo. E como você pode ver, não é mais louco. Não é mais louco, mas ainda é um pouco, , ainda é um pouco estranho. Então vamos tentar fazer mais uma coisa. Temos mais um truque nas mangas. Se formos para o rock chip, vamos para o corpo rígido. Vamos para as restrições aqui, temos uma maneira de congelar nossas rotações. Então vamos em frente e congelar a rotação em torno da rotação em torno do x e a rotação em torno do y. e vamos congelar para posicionar em torno do conjunto porque não
queremos que nosso foguete vá nessa direção. Queremos mantê-lo neste avião bem aqui. Então redefina o depoimento. Mantenha, certifique-se de congelar a rotação em torno de x,
y, e congelar a deposição em torno disso. Aplicar tudo isso e este truque deve corrigir cada problema que temos um rotações. Vamos ver. E acho que estou tentando o meu melhor para fazer algo dar errado, mas não é. Nós consertamos. Nós finalmente consertamos, enquanto o foguete nós finalmente consertamos nosso problema. E agora o movimento dos foguetes é perfeito. E agora é hora de seu não, na verdade neste vídeo, você está livre de desafios. Aproveite sua liberdade, e te vejo no próximo vídeo.
20. Inspector de designers: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos passar de criadores de jogos normais para designers de jogos. E estamos fazendo isso criando campos serializados que assustam. E aqui temos o impulso principal. Como você pode ver, agora podemos alterar o impulso principal do inspetor no script e o impulso de rotação do inspetor no script. Então podemos mudá-lo na mosca enquanto, enquanto estamos jogando nosso jogo. Digamos que não gostamos dos 2 mil. Queremos fazer 300 mil. Agora clicamos no jogo e nosso foguete nunca voltará a não ser que paremos o jogo. Ok, então não vamos perder mais tempo e vamos começar. Bem-vindos de volta meus colegas desenvolvedores de jogos. Antes de começarmos, precisamos de saber o que é? Comprometa tudo o que fizemos no vídeo anterior, esqueci de fazer isso. Tsunami. Vamos cometer tudo. Espero que não tenha esquecido, isso me deixaria muito orgulhosa. E chamaremos isso de fixo, fixo, fixo. Um par de movimentos de insetos. Então comente isso. E agora estamos prontos para começar nosso vídeo. Então, o que vamos fazer? Bem, queremos ter a capacidade de mudar a velocidade de rotação à vontade. E voltar ao roteiro toda vez pode ser muito complicado. Como podem ver, mostrei alguns desafios de consertar a rotação, consertar o impulso principal. E toda vez que precisamos voltar ao nosso código, ir para o topo do nosso código, mudar a rotação aqui mesmo. E é muito difícil e muito pesado. E não só é difícil e muito demorado e não eficiente, é também mau design do jogo. Por que é isso? Bem, porque você, por exemplo, digamos que você está criando um grande jogo gigante. Então, por exemplo, você está fazendo assassinos, concordou? Ok, talvez você não conheça o jogo, mas imagine um grande jogo que tem um monte de coisas acontecendo nele. Então, de velocidade de corrida para velocidade de salto para construir armas diferentes e assim por diante e assim por diante. E você é um programador e chega a um ponto em
que, você sabe, você não tem essa sensação para o jogo. Você sabe como criar todas essas coisas, mas você não sabe como você quer fazê-las se sentir ou não. Ou, por exemplo, digamos que você e três outros estão trabalhando em coisas
diferentes e você não sabe como a mecânica deles está funcionando em comparação com a sua. Bem, essa é a parte do designer, designer do jogo. Ok. Entra, ele não faz ideia de como codificar. Ele não faz ideia se ele abre o código, ele está assustado, ele não entende o que está acontecendo. O que é flutuante, o que nossos métodos são, não faz ideia do que está acontecendo. O que ele sabe, sabe é como fazer um jogo se sentir muito bem. E ele sabe como mudar as coisas aqui mesmo na unidade. Então precisamos encontrar uma maneira de dar ao designer acesso às nossas variáveis. E a forma como fazemos isso. Na verdade, de duas maneiras. Um deles você já conhece, e isso está tornando o nosso, Por exemplo aqui público. Então, quando tornamos público esse impulso principal, voltamos para a Unidade. E podemos ver no script que podemos começar imediatamente a mudar o impulso principal, mas isso é muito maus hábitos de codificação. Deixa-me dizer-te porquê. Se temos esse público e estamos trabalhando em algum grande projeto, podemos realmente mudar o impulso principal de diferentes scripts, e isso não é o que queremos. O que queremos é manter esta variável, que é o impulso principal dentro do nosso script, que é o foguete. Mas também queremos que seja,
queremos ser capazes de mudá-lo e nosso inspetor, e há algo que nos dá exatamente isso. E isso é algo chamado de campo serializado. Então aqui eu criei uma pequena tabela apenas para entender como campo serializado e público e privado se diferenciam. Então privado, se você tem uma variável privada, ela está disponível e está disponível em outras classes? Não. É visível no inspetor? Não. Não é visível neste espectro? Sim, é. Então, se é público, está disponível em outras classes. É visível no Inspetor, mas não é, não é visível no inspetor. Então, basicamente, podemos vê-lo no inspetor que a luxúria não é bom qualquer maneira e campo serializado não está disponível ou não está disponível em outras classes ainda, é visível no inspetor. Então esta é uma grande vantagem. O que isso significa é que o campo serializado pode ser um, sempre que colocamos um valioso, tornando-o um campo serializado, podemos ajustá-lo a partir do inspetor, mas outras classes não têm acesso a ele e eles não podem arruinar nosso variável. Então vamos em frente e criar um campo serializado aqui a partir do impulso principal. E é super fácil. Você abre esses dois colchetes assim como fazemos para matrizes. E você digita dentro do campo serializado, e é isso. Então agora podemos voltar para a Unidade. Podemos ver que temos o, ainda o impulso principal quando clicamos no jogo. Olha como isto é fixe. Então, digamos, por exemplo, nosso impulso principal, ok, é assim. É bom, não é ruim. Que tal aumentá-la? Que tal precisarmos fazer 10 mil? Ok, então agora nosso impulso principal é muito mais forte. Então vamos esperar que ele volte. Onde você está? Está bem, desapareceu para sempre. Vamos tentar de novo. Então, digamos que é demais. Vamos fazer, por exemplo, 300. É muito impulso principal, precisamos mantê-lo baixo. Então agora nem sequer se mexe. Então aumentamos para 500 e mal se move. Ok, então agora eu entendo que precisa de 3 mil, ok, então agora nosso movimento está bom. Então, como você pode ver, é aqui que o designer trabalha. Ele pega este jogo, ele olha para o impulso principal. Ele entende que o impulso principal,
impulso é a velocidade de nossos foguetes. Então ele precisa ajustá-lo um pouco para fazê-lo funcionar. Ele não faz ideia de como é o código. Bem, talvez ele saiba, mas ele não entende realmente como o código funciona. E antes de ir, quero desafiar vocês para fazerem o mesmo para girar. Então, faça do impulso de rotação um campo serializado. Certifique-se de que é viável e o inspetor e ajustado diretamente do inspetor no Unity. Por isso, é muito fácil dizer varia desafio. Pause o vídeo agora mesmo e vá para o desafio. Oh, ok, bem-vindo de volta. Então, entramos em nosso código e
imediatamente criamos um campo serializado a partir do impulso de rotação, voltamos para a Unidade, e agora temos o impulso de rotação bem aqui. Podemos nos ajustar muito facilmente. Então vamos tentar isso. Digamos, por exemplo, que nossa confiança de rotação não é suficiente. Precisamos ser 11000. Clique em jogar uma mudança para 11000, e agora nossa rotação é muito rápido, então, ok, não é muito bom. Precisamos torná-lo menor, mas você entendeu a idéia. Isso é, isso é exatamente o que queremos fora do nosso, de novo. Antes de irmos, quero fazer mais um pequeno ajuste. Então vamos sair daqui. Isso é fazer os 600. Vamos guardar isso. E mais uma coisa que eu quero acrescentar ao nosso foguete é um pouco de arrasto porque agora, como você pode ver, mas este arrasto faz é sempre que movemos nosso foguete, ok? Então ele se sente tipo de jogo e tem um par de problemas de colisão. Mas de qualquer forma, parece um tipo de jogo. Então não temos movimento adequado. Nós, Ele ainda se sente um pouco estranho e vamos mudar que é na verdade, aumentando o arrasto apenas um pouco. E vamos fazê-lo, por exemplo, 0,05. E agora vamos ver como isso fica no nosso foguete. Podemos ver que ele realmente adiciona um pouco de arrasto à nossa rotação e realmente o torna muito realista. Não é mais como um jogo de blocos, esse foguete que simplesmente vai ao redor e voa para este ponto do que para este ponto, ele realmente tem arrasto. Então, como você pode ver, o movimento é muito melhor. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo. Ei Michael aqui do futuro. Mais uma vez, estou aqui para primeiro colocar o arrasto para 0,05 e aplicá-lo ao nosso foguete. E finalmente, estou aqui para cometer todas as minhas mudanças porque sempre esqueço de fazer isso. E aqui vamos nomear isso, adicionando campos serializados. Certo, ótimo, cometa isso. E agora eu estou, eu realmente vou te ver no próximo vídeo.
21. SEÇÃO 4: DESIGN DESIGN utilizando etiquetas sobre GameObjects: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, como você pode ver, não
mudamos tudo tanto assim. Nós só adicionamos uma pequena esfera aqui que tem um nome abaixo de poucos e tem uma tecnologia. E também adicionamos uma etiqueta à plataforma de aterragem que é punida. E adicionamos uma etiqueta à plataforma de lançamento, que é amigável. Então, quando clicamos no jogo e batemos na plataforma de pouso, ficamos bem se tivéssemos a plataforma de lançamento ou a plataforma de pouso. Ok. Então esse é o Launchpad. Esta é a plataforma de pouso. Quando tínhamos a plataforma de pouso, conseguimos sucesso. Ok, e o EBIT da colisão, se atingirmos o terreno, morremos. Se acertarmos o obstáculo aqui, conseguiremos isso. E se atingirmos esta pequena esfera aqui, teremos combustível adicionado. Muito agradável. Então este é um vídeo muito divertido. Estamos começando com os conceitos básicos de criação de níveis. Este é o primeiro passo e é muito emocionante. Então não vamos perder mais tempo e vamos começar. o Então agora temos um obstáculo,
temosonosso terreno, temos a nossa plataforma de aterragem e a nossa plataforma de lançamento. Mas como podem ver, atualmente, não
temos como distinguir entre eles quando colidimos. Então, neste momento, o terreno é o mesmo que a plataforma de pouso, como a plataforma de lançamento. Eles são todos basicamente iguais para o nosso foguete e precisamos mudá-los. Foi tão bem, porque nós queremos realmente mover-se através de níveis. Então, quando chegarmos, por exemplo, à plataforma de aterrissagem, queremos ir para o próximo nível. Se colidirmos com um obstáculo, queremos ser destruídos. Se cairmos no terreno, também
queremos ser destruídos. Talvez queiramos adicionar um mecânico de combustível mais tarde, por exemplo. Então, sempre que atingimos um obstáculo ou um cubo ou um objeto de jogo que representa o combustível, queremos adicionar combustível ao nosso foguete. Então precisamos de uma maneira de distinguir entre os diferentes tipos de objetos de jogo em nosso mundo. E uma boa maneira de fazer isso é usando algo chamado tags. Então vamos ver quais tags ou se clicamos aqui na plataforma de lançamento ou qualquer outro objeto de jogo. E nossa hierarquia, podemos ver aqui
em cima sob o nome que há algo chamado tag. E mesmo ao lado,
diz que esta plataforma de lançamento está no tato. Agora o que podemos fazer é adicionar uma tag a ele. Então aqui estão algumas tags que podemos adicionar. Vamos para a nossa pista de aterragem. E esta é a parte que estamos nos esforçando para chegar ao final do nosso nível. Então vamos ver o que devemos levar nossa plataforma de pouso. Eu acho que o acabamento é uma etiqueta muito boa para orgânico, mas então vamos fazer isso e vamos aplicar isso a todos preferem. Então agora nossa plataforma de pouso, enquanto prefabs são plataforma de aterrissagem, agora
está marcada como concluída. Então agora podemos, em nosso código, olhar através da etiqueta e verificar a etiqueta final se alguma vez colidirmos com a plataforma de pouso. Outra coisa que podemos fazer é, na verdade, não só atribuir uma tag, podemos realmente também adicionar um imposto. Ou se você clicar em Adicionar Tag, vemos que atualmente as tags, isso está vazio. Também temos algo chamado camadas de classificação. E as camadas e camadas de classificação são, nós não vamos usar camadas de classificação e camadas e discurso, mas classificar camadas é uma maneira de renderizar as coisas uma à frente da outra. E essas camadas aqui são marcas semelhantes, mas elas são usadas de uma maneira diferente. Por enquanto, as etiquetas serão suficientes para nós. Então vamos em frente e criar um novo texto. Então, para criar uma nova tag, basta clicar no plus aqui. E vamos chamar esta etiqueta de “etiqueta amigável”. Então, o que tag amigável
é, é sempre que atingimos um obstáculo ou um objeto de jogo que tem uma tag amigável nele, nós não vamos ter nada. Vamos simplesmente continuar a jogar o nosso jogo. Então, de volta à plataforma de lançamento, vá para a tag e você pode ver aqui que as tags que adicionamos agora fazem parte da lista de tags disponíveis. Então, clicamos em amigável e agora nossa plataforma de lançamento é muito amigável. Ok, ótimo. Então, a seguir, o que devemos fazer? Bem, nós queremos uma maneira de obter a colisão do nosso foguete. Então, sempre que
colidimos com algo, queremos obter uma referência a ele, então precisamos entender, Ok, então nós colidimos com a plataforma de lançamento, que é amigável. Nós colidimos com um obstáculo que é mortal, porque seja lá o que for. E precisamos basear nosso código ou criar comportamento baseado na coisa com que colidimos. E há uma função muito útil na unidade para isso. E é chamado de “on colision enter”. Então deixa-me mostrar-te. Então, em colisão entre, se você ler a descrição, podemos ver aqui mesmo que OnCollisionEnter é chamado quando este colisor, ou o colisor que é usado no código. Então, em nosso exemplo, se você usar o OnCollisionEnter em nosso foguete, este colisor ou corpo rígido será o único no foguete, começou a tocar outro corpo rígido barra colisor. Então o que isso faz é sempre que colidiremos, então nosso foguete, vamos voltar em unidade. Se o nosso foguete aqui colidir com este objeto, por exemplo, o OnCollisionEnter assim que entrarmos no colisor. Então o nosso colisor aqui, se olharmos para o foguete, olharmos para o corpo, temos o colisor de cápsulas bem aqui. Não é muito visível. Então, se clicarmos neste, podemos ver a linha verde aqui. Então este é o colisor no corpo dos foguetes. E também temos um colisor ao redor do nariz. E nós realmente temos um colisor em torno de tudo. Então, como você pode ver, a linha verde é a borda do colisor. E também temos colisadores nas pernas. E temos colisores em torno do cilindro do nosso foguete. E se clicarmos no obstáculo aqui, também
podemos ver que temos essa linha verde aqui, que representa o colisor. Também temos um na nossa lançamento
Green e temos um no terreno. Também temos um na pista de aterragem. Assim, todos os nossos objetos de jogo têm colisores, e este colidem em colisão entrar gatilhos sempre que o nosso colisor no corpo do foguete entra em outro ou toca, ou começa, começou a tocar outro colisor. Então, como vamos usar isso no nosso código? E vamos em frente e abrir nosso roteiro York lascado e Visual Studio e criar o on collision enter. E segundo agora. Ok, ótimo, então vamos colocar o OnCollisionEnter em atualização. E nós vamos simplesmente escrever em colisão entrar e ele vai terminá-lo para nós. Então, como você pode ver aqui, este OnCollisionEnter leva em um parâmetro. E o que esse parâmetro é, é que na verdade representa o Outro colisor com o qual colidimos. Então, e aqui, se o nosso foguete colidir com o, digamos que este obstáculo bem aqui,
o vermelho, o obstáculo vermelho, a colisão será o objeto que colidiu. E podemos usar esta colisão para verificar se o texto está disponível nele e ver se este colisor é um colisor amigável ou dizer combustível Colider, ou se é um colisor mortal. Então, primeiro, vamos ver se realmente isso em colisão entra funciona. Nós estamos simplesmente indo para usar o log de depuração e nós estamos indo para imprimir apenas companheiro colidiu, apenas colidir com companheiro. Então vamos salvar isso e voltar para a Unidade. Vamos mover nosso foguete de volta para sua posição original, enquanto nosso foguete. Então, vamos levá-lo de volta aqui. E vamos jogar o nosso jogo. Assim que colidirmos,
colidimos com a plataforma de aterragem, obtemos um OnCollisionEnter. Vamos remover o colapso para que possamos vê-lo claramente. Então nos movemos. Quando colidimos com um obstáculo, também
temos uma colisão. Só colidimos e acasalamos. Se tocarmos no terreno, também
teremos uma colisão. E quando tocamos na plataforma de aterrissagem, quero dizer, a plataforma de aterrissagem RBSt, também
recebemos uma mensagem em nosso console. Ótimo, então isso significa que o em colisão entra funciona. Então agora precisamos de uma maneira de verificar as colisões ou a colisão, a coisa com a qual
colidimos, precisamos verificar a pilha para ver se está funcionando ou não. Então, a maneira como fazemos isso é usando realmente algo chamado tag ponto de objeto de jogo de
colisão ponto. Mas antes de
fazermos isso, precisamos falar sobre algo chamado caso de troca. Então deixe-me explicar o que instrução switch ou caso switch é. Portanto, é semelhante a instruções if como de
uma forma que permite a execução de código condicional. Então deixe-me mostrar-lhe a estrutura da instrução switch. Assim como a condição “if”, temos algo chamado “switch”. E dentro daqui temos o interruptor do caso. Então isso é como a declaração if com sua condição. E com base nessa condição, vamos executar. Alguns lidar. Então, por exemplo, digamos que é o primeiro caso. Então temos um caso de um. Isto pode ser uma corda e o nosso caso vai ser a etiqueta. E se for o caso, vamos executar algum código e então vamos quebrar,
quebrar, ou seja, vamos sair da nossa instrução switch. Mas digamos que o primeiro caso e não é o que queremos. Digamos que o primeiro caso foi diferente e não colidimos com francamente, colidimos com a etiqueta final. Bem, então temos um segundo caso, e esse caso é verdade. Bem, nós vamos executar algum código e então nós vamos quebrar. Mas digamos que não é o primeiro caso, nem o segundo caso, nem o terceiro caso e é um colisor diferente em algum lugar. Não tenho certeza do que é. Embora haja uma opção para o caso padrão. E isso é exatamente como o, assim como nas declarações se nós temos o outro. Isto é muito semelhante ao dos EUA. Usando padrão, executamos a última citação que temos e saímos dela. Ok, ótimo, então vamos em frente e tentar implementar isso em nosso OnCollisionEnter. E o caso que vamos ter será o objeto do jogo de colisões Tech. Vamos voltar ao nosso código. Certo, agora que sabemos que isso funciona, não
precisamos mais do log de depuração. E o que vamos fazer é criar uma instrução switch. E dentro daqui, o interruptor de caso que vamos ter será a colisão. Então é a colisão, a coisa com a
qual colidimos, que está aqui, o parâmetro que é enviado. Vamos usar a Dot. Vamos acessar o objeto do jogo da colisão com a qual vivemos, e vamos acessar a tag nele. Certo, ótimo, então, por enquanto, tudo parece ser muito lógico e suave. Então vamos continuar. A próxima coisa que vamos fazer é usar o espaço. Então, no caso de termos um aluguel amigável Lee, e certifique-se de que sempre que você usar referências de string, que é bem aqui, estamos usando o caso amigável de uma tag que tem o amigável nele. Certifique-se de voltar e ter 100% de certeza. Vamos para a aterrissagem, mas não para a plataforma de lançamento. Então, é francamente garante que o Chu o escreva corretamente. Então é r, E e D. Então é exatamente o que é ou então isso não vai funcionar. Bem. O que queremos fazer enquanto vamos simplesmente imprimir? Ok? Ou eu sou oh, ok, ótimo. E sob ele vamos ser por raking. Ok, bom. Agora, quando colidirmos com um amigo, devemos ir, estou bem. Mas vamos também adicionar outro, que vai ser o caso para terminar. E quando
terminarmos, vamos imprimir sucesso com um ponto de exclamação e sob ele vamos quebrar também. Então vamos guardar isso. Agora temos um caso para frontalmente e temos um caso para o acabamento. Vamos voltar para a Unidade e ver se isso funciona. Vamos mover nosso foguete para cima um pouco para que ele não colida imediatamente com a plataforma de pouso. E agora nós clicamos no jogo. Agora podemos ver que nosso console está completamente em branco. Quando batermos na plataforma de pouso, devemos pegar ou a plataforma de lançamento que devemos pegar. Eu estou bem. E nós fazemos um muito bom que desmoronou que então agora nós temos, eu estou bem. E se tivéssemos o terreno, não
há nada porque não criamos um caso para isso. E agora, quando tínhamos a pista de aterragem, devíamos ter sucesso. E nós temos e temos sucesso sempre que batemos na pista de aterragem. Muito agradável. Então, agora que você entende como as instruções do Switch funcionam e sabe como criar tags, é hora do seu desafio e seu desafio é terminar a lógica de colisão. Crie uma nova etiqueta para combustível, crie um cubo ou uma esfera ou o que quiser. Ele só precisa ser um objeto de jogo que você pode colidir com e alvo com combustível. No caso da etiqueta de combustível e da nossa declaração de comutação, e adicione uma caixa padrão para o nosso obstáculo. Então, pausar o vídeo agora mesmo e ir para o desafio. Ok, bem-vindo de volta. Então, como você se saiu com isso? Vamos em frente e criar um objeto de jogo 3D aqui. Vamos fazer uma esfera e vamos redefinir sua posição. Então vai ser aqui. Vamos colocá-lo aqui perto de nossos foguetes, então não é muito longe. E vamos em frente e adicionar um pequeno material a ele. Então materiais, o que devemos acrescentar? Bem, eu acho que este vai dar muito bem por enquanto, ou esse é o material do corpo. Então é uma esfera branca. E com esta esfera branca, vamos adicionar uma etiqueta. E esta etiqueta vai ser chamada de “poucos”. Então agora temos uma etiqueta de combustível e ela não se adiciona automaticamente. Temos de voltar a este medo e vamos ter de o marcar como poucos. Então agora temos um tanque de combustível que é adicionado a uma esfera em nosso mundo. E vamos mudar o nome desses medos também, porque poucos, tão poucos. A próxima coisa que precisamos fazer é voltar ao nosso código. E aqui vamos criar um caso D, que vai ser o combustível. E certifique-se de que você escreve combustível corretamente. E aqui vamos imprimir simplesmente, combustível foi adicionado. Vulcões, e nunca se esqueça da ruptura no final. Salve tudo isso, volte para a Unidade. E vamos clicar no jogo e ver se isso funciona. Então, no console temos IM, ok, quando tocamos esse medo, quando tocamos a esfera, estamos delirando tocando esse medo. Certo, então não vamos tocar na esfera. Por que é isso? Está no mesmo avião? Está bem, não é. Vamos colocar nosso foguete no Zed igual a 0 ou fufu. Não, não para, não 49 no 0. Ok, ótimo. Vamos voltar. Se você teve o mesmo problema, certifique-se de que seu foguete está no zed é igual a 0. Então eles estão no mesmo avião que nosso foguete se move no mesmo plano. Agora precisamos tocar nisso e temos o combustível foi adicionado. Muito agradável. Então, criamos uma nova etiqueta e a usamos e nossa caixa de troca. A próxima coisa, bem, a última coisa que precisamos fazer é adicionar um caso padrão. E este caso padrão será para o nosso obstáculo. Se não tocarmos num combustível, se não tocarmos numa plataforma de aterragem, e se não tocarmos numa plataforma de lançamento, devemos ser destruídos. Muito agradável. Então vamos escrever padrão e vamos simplesmente imprimir aqui a dívida. Então, se tocarmos em algo além do intervalo, então se tocarmos em algo além do acabamento amigável ou etiqueta de combustível, vamos ficar em dívida. Vamos voltar para a Unidade. Então, se tocarmos no terreno, isso significa que caímos ou tocaremos neste obstáculo aqui, estamos ferrados. Então Patashnik, mau, eu estou bem. Mas quando tocamos nosso livro de obstáculos, somos que se tocarmos a chuva, também
somos uma dívida. Muito agradável. Então este é um vídeo muito divertido e é a introdução ao nosso design de nível porque depois disso, vamos criar muitos obstáculos em torno dos quais são foguetes devem ser manipulados para ir da plataforma de lançamento para a plataforma de pouso. E antes de irmos, é claro que precisamos, estou quase te rasgando. Precisamos criar um repo. Então vamos em frente e fazer isso. Oh, ok, então como você pode ver, nós temos um par de arquivos no palco que encenam todos eles. E nós vamos chamar isso de adicionar tags aos objetos do jogo. Hope, jaquetas, ok, ótimo, cometa tudo isso. E é sempre divertido olhar para trás para os mestres e ver o quão longe chegamos em nosso projeto. Ok, muito bom. Espero que tenha gostado deste vídeo e te vejo no próximo.
22. Design de nível: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, como você pode ver, temos um incrível fundo espacial aqui e temos nosso foguete dentro de um nível. Então, quando jogamos nosso jogo, temos que passar por esses obstáculos para chegar à nossa plataforma de pouso. Então agora o nosso jogador tem uma motivação para chegar ao outro, ok, para chegar à plataforma de pouso e ele precisa ter certeza de que ele não morra ao longo do caminho, assim como eu fiz agora. Então não vamos perder mais tempo e vamos começar. Oh, ok, então design de nível e mais importante, design de
jogo, nós, e nosso objetivo nisso. Certo, então vamos voltar para C. Então nosso objetivo neste vídeo é criar nosso primeiro nível. Mas antes de fazer isso, eu quero apenas tirar um momento e falar sobre os princípios do design do jogo. Então eu quero não apenas mostrar a vocês como criar níveis e assim por diante, eu quero realmente ensiná-los como você pode fazer o seu próprio, usar sua própria criatividade para fazer níveis. E há alguns princípios a seguir. Então, laser, em primeiro lugar, você precisa de seus principais recursos. E quais são essas características principais enquanto elas são as coisas mais importantes em seu jogo? Então, quais são as coisas mais importantes em nosso jogo atual? Então a coisa mais importante, é
claro, é o nosso foguete voando. Então, em primeiro lugar, sempre que você começar a projetar um jogo ou pensar em um jogo,
você precisa ter certeza de que seus principais recursos são a coisa mais importante e eles são o aspecto mais polido do seu jogo. Você precisa ter certeza de que você está voando mecânica, você está girando mecânica. Mecânica de rotação. Você está empurrando, como os campos de foguete bem ele
voa, o arrasto sobre ele, É massa. Tudo deve ser o seu núcleo. atenção deve estar nessas coisas. Se você começar a criar níveis e adicionar combustível e outras coisas, e suas principais características, sua mecânica principal são ruins, o jogo não vai ser bom. Não há como você fazer o seu jogo bom. Então temos as segundas coisas mais importantes, e estas são as coisas em torno de suas características principais. Então isso pode ser, por exemplo, sua forma de foguete. Essa é uma das segundas características mais importantes. Pode ser o nível que você tem. E você sempre precisa lembrar que seus segundos recursos mais importantes, que estão em torno dos recursos principais, devem estar sempre alimentando seus recursos principais. Então, eles devem estar aprimorando seus principais recursos, não o contrário. Você nunca começa a projetar níveis e, em seguida, fazer o seu foguete mover manteiga? Não, você precisa fazer seu foguete se mover da melhor maneira que você pode fazê-lo. E então você começa a criar coisas ao redor, fazendo seu foguete parecer melhor, fazendo seu nível parecer melhor, adicionando coisas divertidas. E, finalmente, temos o terceiro mais importante e esses são o recurso que é, vamos chamá-los Por exemplo, a interface do usuário. Então talvez você queira adicionar ao vivo. Vive para o foguete. Você quer adicionar o mecânico de combustível, por exemplo, é a terceira alimentação mais importante. Estas são coisas que também melhoram os seus principais recursos. Eles tornam o seu jogo mais divertido de jogar. Mas, por exemplo, digamos que você tenha qualquer coisa, qualquer jogo. Mais uma vez, falamos sobre o “The Grand Theft Auto”. Então, é claro que você jogou no Grand Theft Auto. O que o jogo ser tão bom como, como se a mecânica de condução em que top-notch, se tudo no jogo era o mesmo, exceto para a condução. Dirigir foi muito ruim no Grand Theft Auto. Você acha que o jogo teria tanto elogios e que bom? Claro que não. A cidade, o ambiente, os personagens alimentam-se da característica principal do jogo, que é a mecânica de condução. Então é assim que você precisa estar pensando sempre que você está projetando um dia. Então, a próxima coisa que você precisa fazer sempre que quiser projetar um jogo é criar um esboço de jogo. Então este esboço do jogo é muito rudimentar, mas ele faz o trabalho porque é um conceito simples que nós, ok, é muito ruim, eu admito, mas isso realmente nos ajuda a imaginar como o jogo vai parecer. Então isso aqui, os blocos vermelhos que eu fiz profissionalmente, é claro, usando o software mais recente e obtendo esses são apenas formas, Google Slides. E estes são, na verdade, os nossos obstáculos. E isso é o que o foguete não deve tocar. Então este é o nosso foguete. Tem um pouco de combustível, e a propósito, isso, claro, não está à escala, então o foguete não se encaixa aqui. Mas de qualquer forma, temos um foguete V, temos uma plataforma de lançamento, e precisamos pegar esse foguete voador sem bater em nenhum dos obstáculos. E precisamos levá-lo para a plataforma de pouso para avançar para o próximo nível. E aqui temos este bloco e parece que tem uma amatura, mas essas linhas negras
orbitam, elas representam um movimento do nosso bloco? Então isso é algo que é o segundo ou talvez o terceiro recurso que temos. Está removendo obstáculos. Não só obstáculos, eles estão se movendo obstáculos e nós estaremos adicionando obstáculos em movimento mais tarde e nosso ganho. Então este é o esboço super básico. Eu recomendo que você crie um esboço. Ele realmente vai ajudá-lo a visualizar como você quer estar projetando e criando seu jogo. Então, as características principais estão voando. As segundas características mais importantes, ou as principais características são a voar, girar e ir do ponto a ao ponto B. As segundas características mais importantes são os obstáculos que precisamos para se mover de uma forma divertida . E a terceira característica mais importante será talvez os obstáculos em movimento, adicionando um pouco de saúde, adicionando UI, adicionando efeitos de partículas que faremos mais tarde em nossos vídeos, e assim por diante. Então vamos voltar para a Unidade, e vamos em frente e criar um amor para nós mesmos. Então, a primeira coisa primeiro vamos colocar a plataforma de lançamento. Vamos abaixar o foguete só um pouquinho para que fique no meio. Vamos redefinir sua posição. E nós o temos exatamente. Vamos redefinir para 0 também. Agora podemos mover o foguete e a plataforma de lançamento. Bem aqui. E o nosso objectivo é chegar à pista de aterragem, que deve estar bem aqui. Vamos apagar este combustível por enquanto. Usaremos talvez mais tarde, talvez não quem sabe? De qualquer forma, vamos voltar e ver você. Como vamos criar o nosso nível? Acho que vai ser um nível super simples. Então vamos aumentar na direção x, vamos diminuir na direção y. Agora, eu já tenho algo em mente. E quer saber, vamos manter isso em um. E se clicarmos em ops, agora quando batermos, escolhemos a rotação. Vamos girar isso um pouco. E, na verdade, vamos fazer a Zelda um pouco menor. Então nós giramos nosso obstáculo aqui. Vamos colocá-lo sob o foguete, e vamos em frente e aumentar o x novamente. Então temos este tipo de obstáculo bem aqui, e vamos mover a plataforma de lançamento, ok? Na verdade, eu quero torná-lo um pouco mais curto, menor, então é assim que ele deve ser parecido. Ok, ótimo. E a pista de aterragem, vamos ver como isto parece. Certo, isso é muito rudimentar. Isso, isso é a coisa mais básica que você pode criar e eu estou apenas mostrando a vocês o que estamos procurando fazer. Duplicar isso de novo. Se tivéssemos o R, podemos reduzi-lo mais rápido. E tivemos E para acessar a rotação. Então giramos w para acessar a posição. Então, colocamos isso para baixo. Certo, então, por favor, não julgue meu nível de design agora. Estou fazendo isso muito rápido. Então temos esse tipo de bloco que não nos permitirá trapacear. Então vamos colocar isso aqui um pouco. Então, tudo bem, parece extremamente ruim. Certo, novamente, duplicado, estou duplicando isso usando o Controle D. Nós adicionamos uma rotação e fechamos nosso nível. Então vamos colocar isso aqui, ok, gire isso. E tudo isso é sem ensaio, e eu estou fazendo isso em tempo real. Eu tenho uma idéia fraca do que eu quero fazer, mas eu não tenho certeza de como eu iria fazer isso. Ok. Às vezes você precisa ter certeza de duplicar este novamente e movê-lo para baixo. E vamos girá-lo novamente. Então agora temos algo, isso
é um nível? Então, colocamos isso para baixo. O que mais podemos acrescentar? Isto, duplica esta outra vez. Vamos girá-lo e torná-lo uma maneira segura de colocar um lugar seguro para colocar nossa plataforma de pouso assim. E vamos encolher um pouco. Então vamos torná-lo menor. E voilá, eu acho que isso é o suficiente. Vamos mover isso um pouco para cima. Está bem. Portanto, certifique-se de que você está escolhendo a coisa correta. Meu Deus, isso parece muito ruim. Então. Mova isso um pouco para cima. Nós movemos a plataforma de pouso para estar neste plano horizontal. E como devemos colocar isso? Ok, então vamos mover este z para 0. Então, o que se alinha? E vamos mover isso um pouco para cima e a rotação deve ser 0. Então, movemos isto para baixo. Certo, então agora temos isso conectado. Colocamos a plataforma de pouso um pouco para que seja Yep, é exatamente sobre ela. E vamos mover esta plataforma. Uma lágrima. Então esta é a parede. Isso não nos permitirá trapacear. São apenas 40 declarações. Então, vamos mantê-lo lá para declarações aparentemente. E agora temos um nível, um nível muito ruim, mas cria uma maneira divertida de jogar nosso jogo. Agora o que vamos levar isso de volta que aumentou a altura. E vamos colocar definido como 0. E vamos passar um pouco aqui para que tenhamos uma boa olhada no nosso nível. E vamos acertar o tamanho aumentado e movê-lo um pouco para cima. O nosso mundo. Então, parece meio que bom. Não. Mas de qualquer forma, como você pode ver, temos este momento de jogo, se você quiser chamá-lo, que é bastante visível. Então o jogo, o objetivo é ir do ponto a ao ponto B e sem ser destruído. Muito agradável. Então a última coisa que precisamos fazer se entrarmos nos objetos do jogo, podemos ver que mal vemos nosso foguete. Precisamos ajustar nossas câmeras para escolhermos um ângulo que queremos. Escolhemos o objeto principal do jogo da câmera e alinhamos com a vista. Agora, quando clicamos no jogo, temos o nosso console aqui em baixo, mas eu estou bem. Nós movemos nosso foguete. Então vamos movê-lo e precisamos levá-lo para a plataforma de pouso para ter este sucesso. Mas também temos isso, não se preocupe, pelo menos temos algum tipo de sucesso. Então, nosso jogo está funcionando. Temos o nosso primeiro nível. Muito agradável. Estou muito entusiasmada. Então agora é hora do seu desafio. E seu desafio será criar seu próprio nível. Então, encontre um design de nível interessante que você quer que seu jogador experimente. O meu estava tentando subir ou terminar horizontalmente para chegar à plataforma de pouso. Use os obstáculos para criar um caminho através
do qual o foguete tem que se mover e torná-lo um pouco, apenas um pouco quente. Então, como pode ver, fiquei muito fácil. Mas afinal de contas, eu sou um muito bom jogador espacial de foguetes 3D. Mas de qualquer forma, torná-lo apenas um pouco difícil para que o jogador ache realmente interessante. Então, pause o vídeo agora e vá criar seu próprio nível. Bem-vindos de volta a todos. Então eu espero que você tenha tentado o seu melhor para criar um nível divertido. Agora, eu já tenho o meu nível bem aqui. E eu pensei em fazer algo para tornar nossa cena e nosso nível muito, muito mais legal. Então. Há algo chamado Skybox. O Skybox é atualmente o céu azul que você pode ver com o sol bem aqui e a área cinza para baixo no frio transversal, podemos realmente mudar o Skybox. Quero criar uma espécie de skybox que reflita o espaço. Então estamos no espaço, estamos usando um foguete, então estamos definitivamente no espaço. Para criar um plano de fundo de espaço, vamos simplesmente entrar na Unity Store. E aqui em cima você pode realmente procurar o espaço skybox e usar ativos gratuitos, ou você pode realmente comprar alguns ativos. Aqui temos um monte de opções e o meu favorito atualmente estará usando é esta caixa galáxia dois. Então, clicamos na caixa da galáxia dois e podemos ver que é um ácido livre. E você pode realmente adicioná-lo aos meus bens aqui. Então clique em Adicionar aos meus ativos e você receberá este pacote aqui na Unity Store. Agora, quando você voltar para Unity e você pode clicar na janela, vá para o gerenciador de pacotes. Eu já o tenho aqui. E aqui dentro. Vamos maximizar isso um pouco para que você possa ir e encontrar os ativos minar. Você pode encontrar a galáxia Skybox que deve baixá-lo. E você simplesmente precisa clicar no botão Importar aqui e esperar que eles importem. Então você tem todas essas opções aqui. Basta clicar em Importar e esperar que o pacote de importação termine a importação. Vejo-te daqui a pouco quando este carregamento terminar. Oh, ok, bem-vindo de volta. Assim, a importação terminou. Se entrarmos na caixa da galáxia dois bens aqui, agora temos uma nova pasta. Vamos para os recursos e vamos e para o nosso skybox. Então, temos muitas opções. Agora, há, há, há uma maneira muito simples de adicionar caixas de céu. Basta clicar nesta caixa que queremos e arrastá-la e para o nosso mundo. - Legal. Então, agora, quando jogamos nosso jogo, temos uma Skybox em nosso plano de fundo. Como legal é que agora nós realmente se sentir como um jogo real que nós criamos. Muito agradável. Honestamente, não
estou gostando muito da Skybox. Por quê? Bem, porque está muito escuro. Vamos tentar um diferente. Eu tinha um que oh, este aqui. Gosto muito deste ou bom. Então este tem um pouco mais brilhante. Podemos realmente ver onde estão os nós do nosso foguete. Agora o ângulo da câmera não é tão favorável? Mas de qualquer forma, podemos ver que temos um nível legítimo que parece realmente bom como um fundo, como um projetado, não é tão bom. Os obstáculos estão posicionados muito bem. Acho que precisamos, precisamos fazer um pequeno ajuste. Mas, como exemplo, como um primeiro nível, ele vai fazer. Então. Espero que tenham gostado deste vídeo. Espero que você fez o desafio e se divertiu criando seu nível. E vejo-te no próximo.
23. Tuning de design em nível: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Como você pode ver, eu enlouqueci completamente com o meu nível de design. Então agora eu tenho cerca de dez foguetes bem aqui. E o objetivo é levar todos eles através desta pequena lacuna que estamos e para esta plataforma de pouso. Então vamos ver como isso vai funcionar. A propósito, eles estão todos reduzidos, então eles se movem para cima e nós movemos todos para o outro lado. Ainda há um preso lá, e agora estão todos do outro lado. Então, o objetivo deste vídeo é mostrar que às vezes, se você quiser criar novas ideias, você não precisa adicionar mais código e mais recursos e complementos
e qualquer coisa que às vezes possa prejudicá-lo. Então, neste vídeo, vou lhe dar algumas dicas sobre como tornar seu jogo mais divertido usando o que você já tem. Então espero que você goste. Isso não é perder mais tempo e vamos começar. Ok, então o que eu quero falar neste vídeo é que às vezes as pessoas pensam que sempre que você tenta fazer um jogo mais divertido, você precisa adicionar coisas a ele. Então as pessoas acham que talvez precisemos adicionar mais saúde. Talvez precisemos adicionar mais plataformas, talvez precisemos adicionar mais obstáculos. Neste vídeo, eu quero mostrar como às vezes apenas apenas ajustar um pouco do que você já tem em seu jogo pode fazer seu jogo muito melhor e muito mais divertido. Antes de fazermos isso, em primeiro lugar, quero abordar o problema da iluminação porque antes de tudo, eu não gosto desta iluminação. O pano de fundo de nossos obstáculos são muito escuros. E para corrigir tudo isso, vamos para a janela, você pode ir para a renderização. E aqui você tem algo chamado a iluminação. Então, quando você clicar sobre isso, você pode realmente, se você, se você tem a auto-gerar, gerar,
desligá-lo e, em seguida, gerar a iluminação para esta moeda. Então, quando você clicar nisso, espere que a luz gere. E agora saímos da iluminação. Você pode ver que nossa iluminação é realmente muito, muito melhor e você pode ajustá-la a partir da luz direcional aqui, nós temos algo chamado a força da sombra e nós temos a intensidade que podemos aumentar ou diminuir. Então UPS, eu vou manter isso em 0,8, o que parece muito bom para o nosso estado atual. Certo, ótimo, então o que podemos ajustar no nosso jogo para torná-lo mais divertido? Então deixe-me colocar isso um pouco aqui, e deixe-me mover isso um pouco para cima. Então temos um pouco de espaço. Eu já tenho algumas coisas que eu pensei que eu queria compartilhar com você,
só para que você tenha uma pequena idéia de como essas coisas podem afetar seu jogo. Primeiro, podemos entrar no nosso foguete. E aqui temos controle sobre nosso impulso principal e nosso impulso de rotação. Então o que você pode fazer, por exemplo, se você tem algum tipo de nível onde talvez você esteja em um planeta muito denso, você pode, por exemplo, diminuir o impulso principal para, digamos, 800. Então, digamos que o impulso principal é agora 800 e nosso jogador. Precisa de mais impulso e muito mais precisão se ele realmente voa, a fim de chegar ao segundo nível, isso pode ser realmente implementado corretamente. Um recurso muito agradável para adicionar. Outra coisa que você pode mudar é talvez, vamos colocar isso de volta para 2 mil. Talvez você esteja em um planeta onde não há gravidade. Então, o impulso é muito forte. Então o impulso é,
digamos, 5 mil. E agora você é jogador precisa ter muito cuidado ao adicionar impulso. Então, como você pode ver, é muito rápido. Você precisa ter cuidado. Você precisa se ajustar na mosca. E como podem ver, acabamos de morrer. Isso adiciona um elemento melhor e precisamos corrigir as colisões. Isso adiciona um elemento muito mais divertido ao nosso jogo e torna o nosso jogo mais emocionante sem sequer adicionar nada. Então você pode brincar com o impulso principal e adicionar um pouco, remover um pouco. E o que é ainda mais divertido? Bem, você está me perguntando, por que não fazer menos 10000? Então agora, a fim de pilotar seu foguete, você precisa ser, oops. Certo, então para pilotar seu foguete, você precisa estar de cabeça para baixo. E como podem ver, um filtro como este, voamos mais rápido. Precisamos ser girados para cima. E é assim que nos movemos agora, nosso foguete. Então vamos dizer que você cria um nível onde tudo está de cabeça para baixo e ok, isso é meio engraçado e é muito bom. Você sabe, você pode criar diversidade com tanto em seu jogo e manter sua base de fãs ou jogadores envolvidos até o final. E outra coisa que você pode brincar é o impulso de rotação. Então, por exemplo, você está em um planeta que tem vento de rotação muito forte ou algo assim. Digamos que são 2 mil. Então agora, quando escrevemos,
isto vai ser uma loucura. Então, quando você voa, você tenta girar e a rotação, ok, talvez isso seja demais, mas você começa a imagem então é muito forte e nosso foguete pode sair do controle e falhar em alguns dos obstáculos. Ou você pode, por exemplo, tornar a rotação negativa, que também é um recurso muito bom. Então você entra em um planeta onde tudo é invertido. Então, para girar para o lado direito, você precisa pressionar a tecla d. Então, quero dizer, ok, então se você quiser girar para o lado esquerdo, você precisa pressionar a tecla D. Para girar para o lado direito, você precisa pressionar o OK. Então, OK. - Legal. Então temos que tentar girar nosso foguete. Ok. Tão legal. Então, como você pode ver, você pode brincar com coisas que podem parecer insignificantes, mas eles realmente adicionar sabor ao seu ganho apenas ajustando as coisas que você já implementou. A, outra coisa que você pode fazer é que você pode realmente ir em frente e, por exemplo, escalar seu foguete na direção x. Por exemplo, você entra em um planeta onde tudo é escalado seu foguete. Bem, é escaneado de aparência fina, mas agora quando você clica no jogo, você ainda tem seu foguete funcionando completamente bem. Mas agora é. Muito grosso, então precisamos pousar um foguete maior. Talvez você possa até mesmo manter o mesmo nível, mas agora seu foguete é muito maior e seu jogador precisa ter certeza de que ele não toque em nada. Você pode até escalá-lo. Então vamos colocar isso de volta para um. Você pode escalá-lo na direção y. Então agora você tem um foguete muito longo. Vamos ver como isso, como isso vai parecer. Então agora você tem esse foguete muito mais longo que você precisa levar para o outro lado e é muito divertido. Você sabe, essas coisas realmente podem melhorar e adicionar idéias ao seu jogo e realmente torná-lo divertido. Então você também pode, vamos levar isso de volta para um, parar a loucura disso. Você pode, por exemplo, também, o que é uma boa idéia. Bem, você pode ir para a pré-fabricada e adicionar um segundo foguete. Então vamos colocar um segundo foguete bem aqui, e vamos redefinir sua posição. Coloque-o ao lado do foguete, foguetes originais. Agora temos dois foguetes. Então, quando clicamos no jogo, agora
controlamos os foguetes. E seu objetivo é levar esses dois foguetes para o lugar deles. Então, essas são coisas que podemos realmente adicionar ao seu jogo sem ir em frente e criar um novo código e fazer algumas coisas extravagantes. Trata-se de criar momentos únicos no nosso jogo, especiais. Talvez você nem precise ser muito dissidente sobre isso. Basta adicionar uma coisa pequena, um pequeno detalhe aqui, pequeno detalhe ali. E é muito, pode realmente adicionar um monte de diversão para o seu nível e para o seu jogo. Então, agora que você tem algumas idéias, vou te dar um pequeno desafio. E seu desafio será criar um novo design para o seu amor. Então, aproveite o tempo para pensar em algum tipo de mecânico especial de foguetes para o seu jogo. Pode ser qualquer coisa que você pode adicionar impulso, removido o impulso. Claro que não remover completamente o impulso. Talvez adicionar mais rotação, menos rotação. Use todo o poder da sua imaginação. Então coloque seus limites de atividade de consulta em, Tome o tempo. Não se preocupe, você não precisa criar algo e credibilidade. Incrível, mas aproveite o tempo e divirta-se. Divirta-se. Veja, sinta-se como um desenvolvedor de jogos indie que quer criar algum tipo de jogo divertido. E, claro, é parte do desafio e é se divertir. Então, pausar o vídeo agora mesmo e ir fazer o desafio, e eu vou te ver com meu próprio design exclusivo. Oh, ok, bem-vindos de volta a todos. Como podem ver, fiquei completamente louco com a ideia de adicionar vários foguetes. Eu realmente gosto. Acho que vai ser muito engraçado. Honestamente, eu nem testei isso. Quero limpar o pó com você. E como podem ver, a escala em cada foguete é 0,05 e temos dez foguetes. E o objetivo deste nível é obter tantos foguetes quanto você
puder através desta pequena lacuna bem aqui e levá-los a esta plataforma. Agora, eu não sei quantos vão morrer, quantos vão viver? Eu não tenho certeza. Só por agora, estamos nos divertindo, estamos nos divertindo. Estamos vendo, estamos jogando coisas na parede e vendo o que gruda. Então, quando clicamos no jogo que ver o que vai acontecer. Temos todos os nossos foguetes, alguns deles estão em cima um do outro. Quando pressionamos a barra de espaço, todos eles voam. Nós movemos num e precisamos passar o máximo que pudermos. Então ainda temos um único foguete, e eles estão todos do outro lado. Agora. Tentamos levá-los de volta e vamos ver o que acontece. Sim, alguns deles fazem, alguns estão presos em algum lugar. Vamos tentar de novo e bom. Então, como você pode ver, vamos tentar colocar o último lá. Então, como você pode ver, isso realmente faz o nosso nível. Basicamente criamos um nível sem adicionar novos recursos. Acabamos de usar o que já temos. Mesmo os obstáculos que são usados foram os mesmos que eu tinha do meu nível anterior. Então isso foi apenas um exemplo. Há muitas, muitas coisas que você pode fazer. Então é por isso que te encorajo a ter tempo. Pense em algumas coisas. Divirta-se e divirta-se sendo um desenvolvedor de jogos. Espero que tenha gostado do vídeo e te vejo na próxima vez.
24. Criação de um segundo nível: Bem-vindos de volta a um novo vídeo. E como podem ver, parei de jogar o meu novo nível que acabei de criar. Então, agora, se
voltarmos, temos o ente querido e temos um nível dois que é muito mais legal. Então, no primeiro nível, nosso caminho era simplesmente passar por essa pequena lacuna. No nível dois, temos o tipo de caverna ou masmorra ou não natural. Acho que é uma caverna. É uma caverna onde você precisa passar por cima do primeiro obstáculo, então você voa, você precisa superar os primeiros livros de obstáculos sem morrer, é
claro, depois sob o segundo e então whoo, ok? Muito má jogada, demonstração
muito má, mas entendes o ponto. Criamos um segundo nível e você fará a mesma coisa. Então isso não é perder mais tempo e vamos começar. Está bem, criando um segundo nível. Antes de fazer isso, deixe-me primeiro,
criar um objeto de jogo vazio, redefinir sua posição. E este objeto de jogo vazio vai ser nossos obstáculos. E o que este objeto de jogo
faz, ele simplesmente ou coloca ou contém todos os obstáculos em nossa cena atual. E isso nos ajuda a ter uma hierarquia mais organizada. A segunda coisa que queremos fazer é, como você notou nos vídeos anteriores, às vezes nosso foguete
empurra, ele, empurra através dos colisores que temos em nossos obstáculos. Agora, este problema não é, não pode ser totalmente evitado. Haverá sempre problemas de colisão, mas podemos fazer um pequeno ajuste para ajudar isso. Então vamos para o nosso corpo rígido no foguete. E aqui temos a detecção de colisão e está atualmente na tela. Podemos mudar isso e torná-lo dinâmico contínuo e contínuo. E basicamente como colisões no Unity funcionam é que
sempre que tocamos um colisor com outro colisor, o motor de física e a unidade começam a calcular, fazer cálculos e fazer, garante que não passemos por certos objetos. E às vezes isso, especialmente se estamos nos movendo muito rápido com nosso objeto, às vezes ele não tem tempo suficiente para calcular tudo e nos movemos através do objeto. Isso ajudará um pouco, mas não é perfeito. De qualquer forma, vamos guardar isso. E agora vamos criar um segundo nível. Então, a fim de criar um segundo nível, primeira coisa que vamos fazer é mudar o nome da cena de amostra para o nível um. Então agora temos o nível um. Clique em enter e certifique-se de que você salvou tudo em sua cena de amostra. Em seguida, clique em recarregar. E agora temos um nível um. Então, para criar um segundo nível, é muito fácil, vamos simplesmente duplicar. Então, no nível um, Controle D, temos agora um nível dois. E se clicarmos duas vezes no nível dois, você pode ver aqui na hierarquia que é o nível dois, mas é exatamente o mesmo. E vamos mudar isso daqui a pouco. Mas antes de o fazermos, quero apresentar-lhe um desafio. E seu desafio será criar um segundo nível. Então pense em uma nova onda para o nosso foguete se mover através do obstáculo. Então agora, meu nível é apenas o foguete
tentando se mover o mais rápido possível e espremer entre essas duas lacunas,
nossa única lacuna, e chegar à plataforma de pouso com segurança sem tocar nos Obstáculos. No meu segundo nível, acho que vou fazer uma espécie de caminho para o foguete se mover sobre algo do que debaixo de algo, depois sobre outra coisa. Essas coisas serão, claro, obstáculos. E eu vou criar algum tipo de caminho, algum tipo de movimento para o meu foguete. E você deve criar também uma maneira para uma maneira diferente para o nosso foguete para se mover através de um nível para adicionar um pouco de variedade para o nível. Então pense em uma nova maneira de nosso foguete se mover para obstáculos e usar essa idéia para criar um segundo nível. Então, pause o vídeo agora e vá criar um segundo nível. Oh, OK, bem-vindo de volta. Então agora eu vou criar um segundo nível na sua frente. Mas como isso pode levar um pouco de tempo, eu vou acelerar o vídeo e então eu vou tentar falar sobre ele e apenas explicar o que eu estava pensando durante o processo e como minha mente estava trabalhando para criar o segundo nível. Então, vejo-te daqui a pouco. Ei Michael aqui. Ok, então a primeira coisa que eu queria fazer é eu queria mudar minha aparência completamente eu não queria nada no topo. Eu queria fazer algo novo e novo. E a primeira coisa que
eu fiz, eu realmente queria criar um piso e remover o terreno de baixo. Então, parece que ele deu que estamos dentro de um jogo. Tentei tornar a plataforma um pouco mais larga e aumentar a escala em todas as direções que pude. Além disso, se você notar, tentou mudar a rotação para que as plataformas são os obstáculos estão diante de nós apenas um pouco, por isso dá a ilusão de estar dentro de algo. Eu também queria fazer a plataforma em que estamos sentados ser meio realista, não flutuando no meio do ar. E vamos ver, eu estava apenas ajustando a câmera principal e a posição. Agora, qual era a hora do telhado? E eu tentei fazê-lo em um pequeno ângulo apenas para dar essa sensação de claustrofobia em nosso nível e fazer o jogador se sentir como uma matéria-prima e precisa manipular
e manipular seu foguete com muito cuidado para não acertar as coisas. Eu criei a parede final e provavelmente vou mudá-la um pouco para abrir espaço para os obstáculos, para o movimento que eles vão fazer. Aqui eu estou apenas ajustando as coisas, olhando para o meu nível e apenas tentando coisas diferentes maneiras e ângulos de movimento, tentando adicionar aleatoriedade à caverna para que ela não pareça linear e as coisas são as mesmas. Só queria adicionar ângulos diferentes, fundos diferentes, apenas para fazer tudo parecer natural, tanto quanto possível, é
claro, usando cubos. Então agora era hora de começar a tornar o movimento possível. Então eu adiciono estes três cubos bem aqui. Eu os fiz. E este é o terceiro. E agora é hora de começar a ajustar o movimento e adicionar um pouco de dificuldade. Então eu comecei a fazer o jogo um pouco e me ajustando, girando. Notei aqui que é meio difícil determinar quando o foguete está próximo do último porque o último obstáculo estava virado para a câmera. Então aqui eu não tenho certeza de quão longe ou perto íon, então eu mudar o ângulo e eu mudei um pouco novamente. Oh, ok, bem-vindos de volta todos. Espero que tenham gostado deste vídeo. Espero que tenha criado seu próprio nível. E vamos jogar este nível apenas um pouco para ter certeza de que é meio divertido. Então aqui temos o mais, então passamos por cima do primeiro obstáculo. Precisamos manter nosso foguete bem equilibrado para ir abaixo do segundo, e então chegamos à nossa plataforma de pouso e teremos sucesso. Muito agradável. Espero que tenha criado seu próprio nível. Espero que tenha gostado do vídeo e te vejo no próximo.
25. Prefabs em mais detalhes: Bem-vindos de volta a um novo vídeo. E neste vídeo, eu só queria fazer isso muito rápido para explicar como as prefabs funcionam antes de passar para as seções posteriores. Por que é isso? Bem, porque à medida que estamos criando nossos níveis e adicionando mais níveis, talvez precisemos realmente criar diferentes tipos de obstáculos. Então talvez você queira fazer obstáculos que limites, obstáculo que não se encadernam, obstáculos que são verdes, obstáculos que são vermelhos, assim por diante e assim por diante. Então você precisa entender como os prefabs funcionam. E nós cobrimos apenas um pouco os prefabs, mas eu queria deixar todas ou quase todas as regras claras. Então você já sabe o que são os prefabs, como eles funcionam. Agora com a nossa amada. E eu só queria mostrar a vocês um pouco mais de detalhes sobre como essas pré-fabs realmente funcionam. Então vamos mover esses dois aqui um pouco para ter espaço para criar um par de cubos e brincar com eles. Então nós não vamos realmente fazer nada neste jogo. E neste vídeo, vamos simplesmente explorar prefabs um pouco. Se você tem um conhecimento significativo e pré-fabs, você pode ignorar este vídeo, é claro, mas se você estiver sedento de mais algum conhecimento, é hora de explorar a pré-fabricação. Então vamos para a nossa pasta Prefabs e como você viu agora, eu criei um cubo. Vamos pensar neste cubo como nosso prefab, e vamos adicionar este material verde a ele. Agora temos um cubo verde. Voltamos para a pré-fabricada e preferimos este cubo. Então agora temos um cubo preferem, o que é legal sobre isso é que podemos adicionar outro cubo. Então, sempre que tivermos um segundo cubo, podemos criar um terceiro cubo. Podemos criar um quarto cubo. Então agora temos quatro cubos verdes que são do mesmo Prefab. Agora o que você aprendeu anteriormente é que sempre que escolhemos um desses prefabs e nós escalamos o x ou esperar, escalamos os fanáticos ou escalamos o zed. E se formos para a sobreposição aqui e aplicarmos tudo, todos os nossos cubos também serão dimensionados para a mesma escala que o primeiro. E isso é porque eles são todos da mesma pré-fabricada. Então, quando aplicamos um, muda para um, todos os subseqüentes também mudaram. Isto também é verdade. Vamos tentar adicionar esta cor azul. Então, agora, se
formos aqui, aplicamos tudo isso. Todos eles também se tornam um azul. Mas vamos tentar algo diferente. Vamos ver se clicamos no primeiro cubo. E digamos que queremos aumentar o Y aqui. E digamos que pegamos este cubo e diminuímos ou não, vamos manter o x e diminuímos a escala desses Zed. Então, o que acha que vai acontecer quando tentarmos anular esta? Quais vão mudar? Todos eles vão mudar? Bem, quando clicamos em aplicar, podemos ver que mesmo que a escala no eixo zed
deste prefab aqui ou este cubo seja diferente deste,
apenas a escala y muda. E agora se tentarmos aplicar, por exemplo, as mudanças neste cubo bem aqui, que está no z, que começam a aplicá-las e ver o que acontece. E agora todos eles mudam para a mesma escala que este tinha. Agora, essas coisas são muito importantes para entender sobre prefabs, porque às vezes, digamos que você tenha criado um nível a partir
de muitos encontros e você vê que você quer mudar
uma dessas prefabs. Digamos que você queira adicionar um Corpo Rígido, aumentar a escala, mudar a cor, seja lá o que for, alguma insignificância, você precisa ter certeza de que você sabe quais mudam e quais não mudam. Então, como regra geral, você precisa ter certeza de que, por exemplo, vamos aumentar o x Agora, todos eles terão um aumento sobre eles, mas se este tiver uma escala diferente. Então, agora, quando aplicarmos este, trocamos sobre este, mas isso não resolve algumas vezes. propriedades que são exclusivas para querer pré-fabricadas permanecem exclusivas para essa pré-fabricada e elas não são alteradas. Um exemplo melhor disso. Então, por exemplo, digamos que adicionemos vermelho a este e verde a este. E digamos que sobrescrevemos o verde agora, os que já estavam bem, então a escala mudou. Mas a lição aqui é que aquele que era vermelho e tinha um aspecto único para ele, estado que manter mantido esse aspecto ou propriedade NÃO aspecto manteve essa propriedade única para si mesmo. Só queria deixar isto claro sobre a pré-fabricada. Então, sempre que você está criando seus níveis e você tem coisas que você muda e às vezes você pensa que você os
mudou e tudo deve estar funcionando bem. Mas não, às vezes há algumas coisas que você precisa
para ter certeza de que nosso mudou corretamente. Então eu acho que isso é tudo o que precisamos conversar em Prefabs. Isto é tudo o que eu queria deixar as coisas claras para evitar qualquer confusão no futuro. Então, agora que você tem uma melhor compreensão de pré-fabs, você está pronto para sair para o selvagem selvagem oeste de criar jogos e criar níveis. E espero que tenham gostado deste vídeo. Vejo-te na próxima. Deixe-me falar sobre um desafio. Portanto, seu desafio é brincar com prefabs e ter certeza de que você entende completamente como eles funcionam. Então, para evitar qualquer futuro surpreendente, pause o vídeo agora, brinque com prefabs. Tente coisas diferentes. Tente alterar a escala e o material ou escala sem o material, a posição ou a rotação. Ou há muitas coisas que você pode ajustar, brincar e ver como prefere realmente trabalhar. Ok, então pausar o vídeo agora e ir para este pequeno desafio.
26. Gestão de nível e a cena: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, adicionamos controlador
de jogo com um script de controlador de jogo anexado a ele. Agora o que este controlador de jogo faz é realmente nos permite mover através de níveis. Então, agora, quando movemos nosso foguete, isso é tentado quando esta é a primeira vez. Então movemos nosso foguete através da pequena lacuna. Aterramos na pista de aterragem e estamos no nível dois. Mas o que acontece se tocarmos um obstáculo por engano? Bem, tudo bem, então aqui não funciona. O que acontece quando tocarmos num obstáculo? Bem, nós reiniciamos nosso jogo. Muito agradável. Então este é um vídeo muito divertido. Precisa de um pouco de concentração e um pouco de confiança. Então não vamos perder mais tempo e começar. Oh, ok. Então vamos começar a carregar nossos níveis e redefinir nossos níveis. Antes de continuarmos, eu só queria ter certeza
de que todos vocês estão realmente comprometendo seu trabalho. Eu tenho cometido isso em segundo plano porque às vezes eu esqueço, às vezes eu não percebi que eu tinha que filmá-lo, mas eu quero que você sempre trabalhe sempre que você faz algo significativo. Mas isso estabelecido, vamos começar a carregar nossos níveis. Primeiro, precisamos ter certeza de que temos a lançamento e
o caminho de pouso configurados corretamente. A próxima coisa que vamos fazer é ter certeza de que temos o final na plataforma de pouso e temos o amigável na plataforma de lançamento. E, claro, todos os nossos obstáculos estão no padrão ON opções marcadas são impostos, quer
dizer, ok, ótimo. A próxima coisa que vamos fazer é criar um controlador de jogo. Agora, alguns de vocês podem estar pensando, por que não simplesmente usar descritivo que já temos, que é um foguete para se mover através dos níveis. E se não estás a pensar isso, vou dizer-te porque não deves estar a pensar isso. Porque usar o mesmo, usar um script para fazer todo o trabalho para nós é maus hábitos de codificação. Você precisa diversificar seus trabalhos. Então vamos criar um controlador de jogo que irá controlar tudo o que está acontecendo em nosso jogo. E uma dessas coisas está nos movendo através de cenas. Então mantemos o foguete fazendo suas coisas de foguete. E vamos criar um controlador de jogo que fará o jogo controlando as coisas. Ok, ótimo. Então agora com isso estabelecido, vamos voltar ao Unity e vamos criar um objeto de jogo vazio, que será chamado de controlador de ganho. Agora não importa onde você colocou. Gostaria de colocá-lo aqui na posição de reset. E nós vamos adicionar um script a ele. E este script vai ser chamado de controlador de ganho. E certifique-se de que está escrito corretamente e você não quer alterá-lo mais tarde. Então controlador New Script, criar e esperar que ele para compilar. E deve aparecer nos bens a qualquer momento. Então agora temos o controlador do jogo, colocá-lo dentro da pasta SIR script. Então temos uma pasta de scripts. Certo, ótimo, agora estamos prontos para começar a codificar. Oh, OK, então vamos ver o que vamos fazer aqui. Primeiro, o que você precisa entender sobre o que
vamos fazer é que enquanto nos movemos através de níveis, estamos realmente nos movendo através de nossas cenas. Então temos nossos níveis são cenas. Então, para poder manipular cenas e cenas dos EUA, precisamos adicionar um namespace que nos permita fazer isso. E esse namespace vai estar usando unidade é Engine dot seen management. Então certifique-se de que você tem isso aqui no topo. E isso nos permitirá acessar cenas, mover através de cenas e carregar cenas e assim por diante, tudo relacionado às coisas. A próxima coisa que faremos é simplesmente remover o início e atualizar se precisarmos deles. Eletron irá, é claro, adicioná-los mais tarde. Ok, ótimo. Então agora o que vamos fazer, bem, vamos criar dois métodos aqui. Um deles será o jogo de reset, e isso será usado sempre que atingirmos um obstáculo e precisarmos redefinir. Então voltamos ao primeiro nível, significa que morremos. E nós vamos criar outro método que vai ser o próximo nível. E o próximo nível será ativado toda vez que chegarmos ao caminho de pouso e vamos começar. Primeiro de tudo, vamos criar um público, ter
certeza de que eles são públicos. Vazio, reinicializar. Oops, reiniciar o jogo. E este vai ser o método que redefine o nosso jogo. E outro método que será também um vazio público. E vai ser chamado de próximo nível. Então agora temos dois métodos. Um é o nome de reset e o segundo é o próximo nível. Agora dentro daqui vamos usar o namespace que adicionamos para manipular nossos pecados. Mas antes de fazer isso, precisamos ir para a Unidade e ter certeza de que nossas cenas estão dentro da estrutura construída. O que eu quero dizer com isso? Vamos ver os arquivos aqui. Abaixo você pode ver que temos algo chamado as configurações de compilação. Agora, quando entramos nas configurações de compilação, aqui é onde nós realmente construímos nosso jogo. E como você pode ver, há uma opção aqui em cima, que são as cenas construídas. Agora está vazio. Precisamos adicionar parece a ele. Então vamos fazer isso. Entramos na pasta de cenas bem aqui que temos, e simplesmente arrastamos o nível um e arrastamos o nível dois. Agora, duas coisas para ter em mente enquanto fazemos isso. Primeiro, o nível um está acima do nível dois. Então começamos com o nível um e então vamos para o nível 2. A segunda coisa que precisamos ter em mente é aqui, você pode ver que cada nível ou cena tem um índice para ele. Então o nível um está no índice 0 e o nível dois está no índice um. E isso é muito importante ter em mente, porque mais tarde, quando queremos carregar cenas e redefinir cenas, vamos usar esses índices bem aqui. Ok, ótimo. Então, agora que você tem as cenas, guarde tudo isso. E vamos sair. E antes de irmos, vamos falar sobre as coisas legais que temos aqui. Então você pode construir isso em diferentes plataformas. Se você tiver a configuração do modelo, você pode construí-lo no WebGL, no Android, no Xbox One, no PS4, no iOS, que é. Claro que deve saber que é a Apple. E na PS4 em breve espero que haverá um PS cinco e a série Xbox x ou é que o que é chamado bem, a grande franja, Xbox. Ok, ótimo. De qualquer forma, vamos voltar para o nosso script aqui, e vamos ter certeza de que guardamos isso. E como é que vamos carregar AC? Bem, agora que temos o namespace de gestão de pecados, temos acesso a alguém chamado gerente de cena. E aqui vamos usar o gerente de cena para carregar uma certa cena. Agora, se
abrirmos isso, podemos ver que ele, oops, ele requer um índice de cena construído, então precisamos dar a ele o índice da cena que estamos olhando para carregar. E porque quando, ao redefinir o jogo, vamos voltar para o primeiro nível. E como nos lembramos, como nos certificamos de ter em mente que o índice do nível um como 0. Então agora temos a cena de carregamento 0. Ótimo, agora isso deve estar funcionando, mas vamos nos certificar de onde vamos chamar esse método dentro do foguete. Vamos ver onde realmente precisamos redefinir nosso jogo. Precisamos reiniciá-lo aqui quando morrermos. Então, vamos excluir os poucos casos por enquanto, porque não vamos usá-lo. E vamos tentar acessar este método de reset aqui
mesmo no controlador de jogo do nosso script de foguetes. Então a primeira coisa que precisamos fazer é obter uma referência ao nosso controlador de jogo. Então vamos subir aqui e vamos criar uma variável que é o controlador do jogo. E vamos chamar este controlador de jogo. Não há necessidade de chamar meu controle de jogo porque não é nosso. Agora, o problema aqui é que se escrevermos get componente, algo será, foi algo vai dar errado. Por que é isso? Bem, porque quando escrevemos get componente, estamos à procura de um componente que está ligado ao objeto que tem
o nosso script de nave foguete. Mas o controlador de jogo está fora do reino do nosso foguete em algum lugar em nossa cena. Então, como vamos obtê-lo? Bem, nós podemos criar uma variável pública aqui e adicionar você pode controlá-lo e o controlador de jogo para cada um dos foguetes que temos em cada nível. Ou podemos fazer algo muito mais inteligente e usar algo chamado “encontrar objetos do tipo”. Então nós escrevemos controlador de jogo, nós escrevemos iguais, e temos um método que é encontrar objeto não objetos, encontrar objeto do tipo. E isso, o que este método faz é que ele realmente vai lá fora e encontra um objeto de jogo que tem um script controlador de jogo nele. Então agora, sempre que começamos nosso ganho, nosso foguete imediatamente vai e encontra o controlador de ganho que está presente na cena. Ótima. Então, agora que temos uma referência, precisamos simplesmente ir para a colisão. E aqui, em vez do, em vez de imprimir isso, vamos simplesmente acessar o controlador do jogo e acessar o método de reinicialização do jogo. Então vamos guardar isso. E vamos voltar para a Unidade e ver se alguma coisa funciona. Então, clicamos no jogo, movemos nosso foguete, atingimos um obstáculo, e reiniciamos nosso jogo imediatamente. Não é muito bom porque não queremos que ele seja redefinido imediatamente comprado. Funciona. Então vamos tentar de novo. Vamos tentar quando o nível realmente, ok. Nós não fizemos. Vamos tentar de novo. Esta é a última vez que tento. Então nos espremimos, mas quando aterrissamos em nossa plataforma de pouso
e nada acontece, e nada acontece porque faz parte do seu desafio. Então queremos carregar o nível dois quando B colidir com a plataforma de pouso. Portanto, é meio óbvio que você precisa verificá-lo no OnCollisionEnter no caso do switch. Então você precisa ter certeza de que o nível dois está dentro do seu índice de compilação. E, finalmente, você precisará usar o próximo método de nível para carregar o nível dois por enquanto. Por que eu digo por agora? Porque mais tarde estaremos usando o próximo nível para carregar todos os próximos níveis. Mas, por enquanto, vamos usá-lo para carregar o nível dois. Então pausar o vídeo agora mesmo e ir para o desafio. Agora, vamos entrar em nossos scripts e dentro do controle do jogo. E no próximo nível que vamos chamar nosso gerente de cena e gerente de cena baixa, queremos carregar uma cena. Mas agora a cena que queremos carregar está no índice um. Ainda é nível dois no índice um. E agora voltamos para o foguete. E sob o acabamento, porque a nossa plataforma de aterragem tem a etiqueta acabada, vamos remover a impressão e, na verdade, vamos chamar o nosso controlador de jogo. Oi controlador de jogo. Queremos carregar o próximo nível. Obrigado. Então, certifique-se de que guardamos isso. Volte para a Unidade. Vamos clicar no jogo e vamos experimentá-lo. Então precisamos, quando este nível antes de seguir em frente, então ele passa pela lacuna, aterrissamos em nosso animal de estimação e vamos para o próximo nível. Muito agradável. Então eu não tenho certeza por que eu estou tão animado, mas é sempre bom sempre que você começar realmente controlar o seu jogo e não clicar duas vezes no nível dois e, em seguida, ir para o segundo nível. Então agora temos controle total do nosso jogo e tags realmente têm um uso para nós. Tudo está se juntando para criar uma gangue incrível. Espero que tenham gostado do vídeo. Não te esqueças de completar o teu trabalho e vemo-nos na próxima.
27. Usando Coroutines: Bem-vindos de volta a um novo vídeo. E neste vídeo vamos usar algo chamado Colton. E o que isso vai fazer conosco ou o que vai nos
ajudar é que na verdade sempre que batemos em uma parede, esperamos por dois segundos e então reiniciamos nosso jogo. E se você notou, outra coisa é que nosso foguete vai para eles, então não podemos mais controlar 20, nós batemos em uma parede. Isto não faz parte do Colton, mas é algo que vamos aprender. Outra coisa que acrescentamos é que sempre que
voamos, atravessamos o espaço e aterramos na plataforma de pouso, não
podemos mais nos mover e esperamos dois segundos até chegarmos ao nível dois. Então este é um vídeo muito divertido. Ele está cheio de informações e coisas úteis para usar e nosso futuro desenvolvimento de jogos. Então, não vamos perder mais tempo e vamos pegar o k. Então, antes de começarmos, como sempre, temos uma primeira coisa antes de começarmos. Como podem ver, alguns de vocês devem ter visto que sempre que estamos dentro do nível dois e nós sobe e nós batemos em uma parede ou chegamos à plataforma de pouso, nada acontece e nós realmente pegamos uma flecha. E esta seta nos diz que há instância de referência de objeto. Opa, desculpe. Portanto, não há referência. E isso é porque não temos um controlador de ganho no nível dois. Então alguns de vocês podem ter corrigido esse problema. Então, por favor, deixe-me parar. Alguns de vocês podem ter corrigido esse problema. No nível um. Nós simplesmente ir para os Prefabs e nós preferimos o nosso controle de jogo. E agora vamos para o nível dois. Então é seguro nível um e vamos para o nível dois. E aqui vamos simplesmente adicionar o controlador de jogo ao nosso mundo. Então agora, quando clicamos no jogo, nosso foguete voa, ele bate em uma parede e reinicia. E isso também deve estar funcionando na plataforma de aterrissagem. Mas o que acontece é que quando pegarmos a plataforma de pouso, voltamos para o nível dois. Tão grande. O que vamos fazer? Bem, o problema é, como você viu, que os níveis carregam muito rápido. Não há nada de errado com isso, mas queremos ter um campo ou ganho mais autêntico. Então, queremos atrasar um pouco o carregamento de nível, e vamos atrasar as coisas usando algo chamado corotinas agora chamam rotinas ou coisas ou métodos que são muito usados no Unity. Eles são indispensáveis no desenvolvimento de jogos. Então vamos falar sobre corotinas e usar nosso laser. Em primeiro lugar, é um método que pode suspender,
suspender a execução das
instruções, instruções até que certas condições sejam atendidas. As suspensões são conhecidas como curadas. E em nosso exemplo, estaremos suspendendo o tempo até redefinir ou carregar o próximo nível. Então esses métodos só são usados quando eu quiser suspender a execução. Então, queremos atrasar nosso nível de carga alguns segundos antes de realmente começar a carregá-lo. Então vamos em frente e criar uma co-rotina. Legal. Primeira coisa. Vamos para o controle do jogo. E dentro daqui vamos criar outro método, que vai ser o primeiro nível de carga. Então, a forma como criamos uma co-rotina, como vamos criá-la como uma privada, não importa. Não precisamos torná-lo privado. Mas como estamos usando apenas dentro do controle do jogo, private é uma boa maneira de usá-lo. Então, enumerador de olho privado, então corotinas têm o tipo de numerador de íons. Não se preocupe com o que isso significa. Isso só significa que precisamos devolver um rendimento. Verá o que isso significa daqui a pouco. Então carregue, primeiro nível, ótimo, então criamos nosso primeiro enumerador de olhos ou frio. Aqui temos um pequeno problema e erro. E o que nos diz que não há devolvido. Não temos retorno. Para. A maneira como retornamos é que vamos ceder, assim como dissemos nestes slides, nós rendemos retorno. E aqui vamos adicionar a condição que vai precisar esperar por uma Intel ou a condição que vamos esperar até que ela seja cumprida e então podemos começar a execução do que quisermos. Então vai ser o novo. E vamos esperar quatro segundos. Lado da espera quatro segundos. Dizemos quanto tempo você quer esperar e serão dois por dois segundos. Muito agradável. E depois de esperarmos por estes dois segundos, vamos ligar para o nosso gerente sênior e disse-lhe que queremos carregar
a cena 0 porque estamos indo recentemente para o primeiro pecado. E finalmente, dentro do jogo de reset, vamos começar a equipe de carvão e vamos carregar a taxa de bolo de primeiro nível. Vou rever este código outra vez, mas primeiro, vamos testá-lo. Então começamos o nosso jogo. Se atingirmos o obstáculo e depois de dois segundos estamos no nível que as chamadas rotinas não são um mito. Eles realmente funcionam. E vamos falar sobre este cortejo mais uma vez antes começar o seu desafio porque você vai criar o seu próprio. Então aqui, dentro do jogo recente, desculpe, dentro do jogo de reset, nós vamos começar o revestimento. Então o portão de reinicialização é chamado do foguete. Redefinir jogo é chamado, começamos uma co-rotina, que é o nível de força de carga. E este é o nosso primeiro nível de carga. É uma co-rotina e corotinas nossos enumeradores. Não precisamos nos preocupar com a palavra assustadora. Só saiba que eu enumeradores são co-rotinas e eles exigem um retorno. E esse retorno será na forma de um retorno de rendimento. E aqui, após o retorno, adicionamos a condição de que queremos ser atendidos até começarmos a carregar tudo sob nosso retorno de rendimento. Então nossa condição será esperar quatro segundos. E aqui nós damos quanto tempo queremos ou quantos segundos. E estes, e a quantidade é dois F, o que significa dois segundos. Depois de dois segundos terminar, vamos simplesmente estar carregando nossa primeira cena. Então. Espero que entenda as corotinas um pouco. Os revestimentos são muito assustadores. Eu conheço o sentimento. Também aprendi meios secretos pela primeira vez. Eles são incompreensíveis. Ele não faria ideia de como está funcionando. Eu tentei o meu melhor para torná-lo o mais simples possível. Mas a melhor maneira de aprender rotinas básicas é realmente
ir lá fora e tentar criar algumas. Então é aqui que entra o desafio. Então termine este segundo CorOT, crie um revestimento para o próximo nível de carga. Use o rendimento para esperar um certo número de segundos e iniciar o coltan a partir do próximo nível. Este é um desafio assustador. Alguns de vocês vão esperar que eu termine o desafio e façam comigo. Mas eu quero que vocês, aqueles que estão assustados com vocês mesmos, parem o vídeo agora mesmo e experimentem. Você pode cometer erros, você pode falhar, está perfeitamente bem. O único problema é, ou a única desvantagem é quando você nem tenta. Pause o vídeo agora mesmo e vá fazer o desafio. Ok, bem-vindo de volta. Espero que você vá mesmo. Subi lá e Troy. Então vamos criar um enumerador de I privado. E ele vai ser chamado de carga próximo nível. E aqui vamos ceder o retorno novo e esperar quatro segundos. E sob ele, quando terminarmos esses dois segundos, vamos chamar o gerente de cena, gerente trotes. Opa, não, não. O que é isso? Nós estamos querendo carregar desculpe-me, cena de
carga e vai ser a cena um. E o próximo nível irá remover este e vamos começar uma co-rotina que vai ser a carga próximo nível. Salve toda essa mistura que você salvou script. E vamos voltar para a Unidade. Vamos para o nível um. E aqui nós clicamos no jogo. Nós movemos nosso foguete e precisamos passar pela brecha. Espero que tenhamos. Chegamos à pista de aterragem e depois de dois segundos chegamos ao nível dois. Muito agradável. Mas o único problema ainda é antes de irmos. Quando batermos, ainda podemos mover nosso foguete e voar, o que é muito ruim. E eu não quero isso. O que queremos é que sempre que atingirmos o obstáculo, esperemos dois segundos, mas enquanto esperamos, queremos que nosso foguete seja incapaz de se mover. A forma como fazemos isso é muito simples. Isso vai para o rock chip, vai para o topo. E vamos criar uma variável que é um booleano. Então vamos criar um booleano que
é, está vivo e vamos torná-lo verdade. Então isto, isto, o que isto é. É uma variável que é booleana que é verdade sempre que começamos nosso jogo, é verdade. Mas quando
morrermos, vamos transformá-lo em falso. Então, dentro do padrão aqui, sempre que batemos em uma parede. Nós vamos conseguir, está vivo igual a falso. Então agora, quando estamos vivos, vivos
quanto verdadeiros, quando atingimos o padrão significa que morremos, está vivo é falso. E queremos parar o movimento do foguete. E aqui vamos criar uma declaração if. E se estiver vivo, vamos mover o nosso foguete. Então, sempre que r está vivo é falso ou foguete não tem acesso ao movimento e nós não podemos nos mover. Então, quando atingimos, o padrão é vivo como falso. E aqui está uma condição viva como falsa salgada. Nunca usei CU Outra coisa que queremos
fazer é parar as colisões sempre que tivemos, sempre que realmente
deixamos de estar vivos, queremos parar qualquer colisão porque pode levar a alguns bugs. Então, do jeito que fazemos isso, vamos usar o mesmo vivo. Mas em vez de simplesmente adicionar o está vivo e, em seguida, adicionar todas essas instruções switch
dentro do, dentro da condição, vamos adicionar este ponto de exclamação, que significa que Gates. E se está vivo. E isso significa que se ele está vivo como falso, nós vamos entrar nesta condição aqui, e nós simplesmente vamos voltar. Então, o que significa retornar? Significa que saímos da colisão. Deixe-me explicar o retorno um pouco mais. Então nele está vivo. Sempre que é falso, negamos. Isso significa que toda esta condição aqui é verdadeira. Isso significa que a declaração se vai para o, o que está escrito dentro dele, e dentro dele, nós temos o retorno. Então o que o retorno faz é que ele realmente sai. Então, paramos qualquer coisa que qualquer código que está abaixo da declaração if ou sob este retorno. E nós saímos de nossa própria colisão entrar e de qualquer método que estamos atualmente em. A última coisa que precisamos fazer é sempre que chegarmos ao fim, queremos impedir que nosso foguete se mova. E a maneira como fazemos isso é acessando o corpo rígido e ligando o Is Kinematic. E o que isso faz é que nos permite girar e nos impede de nos mover. Então vamos ver como tudo isso funciona. Esta foi uma boca longa, mas é bastante fácil e eu só pensei em criar o código antes de começarmos a demonstrar tudo. Mas de qualquer forma, agora voamos. Quando batermos, não podemos mais nos mover. Ok, ótimo. Então, novamente, não podemos mais nos mover ainda. Eles ainda são som no fundo. Isso é OK. E agora, se chegarmos ao que não plantamos. Ok. Vamos tentar de novo. Então vamos passar pelo nosso oh, por favor, não. Ok. Então chegamos à pista de aterragem. Ok. Agora podemos nos mover, só podemos girar e estamos no nível dois, mas chegamos ao chão e estamos de volta ao nível um. Então este foi um vídeo muito longo. Espero que tenha gostado. Estava cheio de novas informações. E então, se você ainda tem medo de proteínas, vá e tente implementá-las de várias maneiras. Eles não são assustadores quando você se acostuma com eles. Eles são bastante fáceis. Então eu espero que você tenha gostado do vídeo e eu vou vê-lo no próximo. Não se esqueça de completar seu trabalho.
28. Keys de depu de nível: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos adicionar chaves de depuração. E as teclas de depuração nos permitirão passar por nossos níveis e sentir nossos jogos muito mais facilmente. Agora podemos ver que temos o nosso foguete. Você já sabe o que acontece se batermos em uma parede, mas temos uma chave secreta que podemos pressionar, que é o CQI. E quando pressionamos, não sentimos mais nada para que possamos colidir com os obstáculos. Podemos descer, subir e usar nosso nível livremente. E o que mais temos? Bem, agora, também podemos pressionar o LP e depois de dois segundos vamos imediatamente para o próximo nível. Então as caixas são como códigos de trapaça e jogos. Eles nos ajudam a passar por níveis e testar nosso jogo muito mais facilmente. Então não vamos perder mais tempo e vamos começar. Oh, ok. Então vamos começar. A primeira coisa, deixe-me explicar por que queremos criar essas duas chaves de entrada, que nos ajudará, em primeiro lugar, parou o foguete de colidir com obstáculos ou parar as colisões. E o que eu quero dizer com colisões como ele pára a sequência de morte. E eu vou para a próxima sequência de nível e o segundo botão nos
permitirá passar de nível para nível imediatamente. Por que precisamos desses dois? Bem, porque precisamos de uma maneira de financiar, para ser capaz de testar o seu jogo sem realmente passar por todos os níveis e chegar ao fim. Então agora é bastante fácil. Nós temos dois níveis, então nós
possuímos, nós só precisamos ir do nível um para o nível dois. Mas imagine se você tem 100 níveis e você
precisa ganhar todos eles, a fim de passar por eles. E não é sobre simplesmente clicar duas vezes no nível dois e ir para ele, você quer ver como os campos de jogo, a progressão é, e como é durante a jogabilidade do seu jogo. Portanto, adicionar chaves de depuração é muito importante. E a maneira como vamos adicionar essas chaves de depuração é
simplesmente usando o sistema de entrada que já conhecemos. E é por isso que vou te dar o desafio agora mesmo. Então seu desafio é criar, depurar chaves. Então, use o sistema de entrada que aprendemos no controle do jogo para, antes de tudo, parar o foguete de colidir. As colisões devem estar sempre lá. Assim, seu foguete deve ser capaz de colidir com obstáculos, mas não deve ter qualquer impacto sobre o jogo. Isso significa que você, como fizemos com a variável, está vivo. Também precisamos de fazer uma tática semelhante para impedir o nosso foguete de colidir. E então você precisará criar um segundo sistema de entrada para carregar o próximo nível. E você precisa fazer tudo isso dentro da atualização e do controle do jogo. Então este é um desafio difícil, mas tenho certeza que você está à altura da tarefa. Pausa o vídeo agora e vai fazer cada um. O Alan. Kay, bem-vinda de volta. Então, a primeira coisa que precisamos fazer é criar
a atualização dentro do nosso controle de jogo. E dentro da atualização, vamos criar um método que vai ser chamado responder a. O dólar, porque estamos criando chaves de depuração. Então responda à depuração e vamos em frente e rápido, rapidamente gerar este método sob nossa atualização. Então, o que deveríamos fazer aqui? Bem, primeiro de tudo, precisamos adicionar uma condição se para verificar a entrada. Então entrada M. E vamos usar a chave Get para baixo, para baixo. E vamos usar o código de tecla do botão L. E o que este botão faz, ele vai imediatamente nos levar para o próximo nível, simples assim. Então, dentro da resposta para depurar, se clicarmos no botão l, vamos para o próximo nível. Será que nós desencadear o método que é o próximo nível, que irá desencadear a co-rotina, e passar para o próximo nível. Agora, criar colisões, criar uma maneira de parar colisões é um pouco mais complicado. A primeira coisa que precisamos fazer é criar uma variável pública aqui mesmo, que vai ser o booleano público. E ele vai ser chamado de Colisão Ativado, e ele vai ser igual a verdadeiro, tão verdadeiro. E o que queremos fazer é que queremos ter essa variável de colisão habilitada para mudar com base no clique de um de nossos botões no teclado, vamos estar usando a tecla C. Então vamos adicioná-lo aqui. Então, se a condição que é simplesmente copiar isso aqui para nos poupar um pouco de tempo, remover o próximo nível. E em vez de eu, vamos usar o botão C. E o que este botão C vai fazer é que ele vai realmente pegar a colisão habilitada e vai negá-lo. Então isto é o que eu quero dizer com portas AND. Então, mas esta linha aqui faz, é que pega a colisão habilitada e transforma em volta para a outra opção no booleano. Então, por exemplo, digamos que temos Colisão Ativada é igual a verdadeiro. Se for verdade, sempre que pressionamos o CQI, torna-se falso. Então ele pega o que quer que a Colisão Ativada foi, ele o nega usando o ponto de exclamação e, em seguida, ele o coloca de volta na colisão habilitada. Isso significa que o gira para o outro lado. Então, a verdade se torna falsa. Falso torna-se verdade. Assim, podemos ligar e desligar a colisão incapaz em nosso poço usando o CQI. Agora, a próxima coisa que precisamos fazer é acessar essa colisão habilitada dentro do nosso foguete e com base na condição, então, se for verdade ou falsa, vamos parar nosso foguete de colidir. E é bastante simples. E aqui dentro da colisão entrar, nós já temos uma condição que pára qualquer colisão que está, está viva. Então vamos adicionar outra condição a ele. E vai ser um 4x. E a maneira como adicionamos um minério é simplesmente adicionando essas duas linhas retas bem aqui. E dentro dela vamos escrever. Se o controlador de jogo, como nós, oops, não, Eu sou Andy, variável controlador de jogo que já temos acesso. Colisão de ponto ativado, então retornaremos. Então, o que fizemos aqui? Deixe-me explicar essa condição dentro de você. Então, já temos Collision Habilitado dentro do nosso controlador de jogo aqui mesmo. Então, se a Colisão Ativada for verdadeira, então esta, esta linha inteira aqui seria falsa e nós não
retornaremos de nosso OnCollisionEnter e vamos verificar se há colisões. Mas se o ponto de colisão ativado for falso, então esta variável aqui e toda a linha aqui é verdadeira. E então a condição se funciona e nós retornamos. Isso significa que saímos do nosso em colisão. Então agora com isso firmemente estabelecido, vamos falar sobre essas duas linhas retas bem aqui. E este é o operador para o ou. Então, isto verifica. Esta condição é verdadeira? Sim ou não? Ou esta condição é verdadeira? Então, um desses dois deve ser verdadeiro para entrar na condição if, retornar e sair de nossa própria colisão. E assim espero que isso seja explicado com firmeza. Espero que você tenha entendido o que estávamos falando, como criamos a variável e como essa condição aqui funciona, e como o operador ou funciona sem certeza,
volte, olhe, olhe para ela, experimente, veja se Funciona. Veja se é um mito ou uma mentira. E nós vamos tentar isso por nós mesmos. Então salvamos o script do controlador do jogo, salvamos o script da nave foguete, e agora é hora de testar nosso jogo. Então vamos voltar ao nosso, ok, então vamos voltar ao nosso nível um. E vamos clicar no jogo e ver se alguma coisa funciona. Então voamos por aí. Vamos pressionar o botão CC e ver se nosso foguete é destruído. Então C, Agora batemos numa parede. Como podem ver, ainda podemos mover nosso foguete. Mas o problema é se, se pousarmos no bloco, nada funciona também. Mas se pressionarmos o LP, depois de dois segundos, vamos para o próximo nível. Então vamos tentar isso de novo. Então apertamos o botão, o que acontece? Estamos de volta ao nível dois. Então vamos tentar isso de novo. Dentro do nível um. Clique no jogo. Nós clicamos no botão. Dois segundos depois, estamos imediatamente no nível dois. E aqui, se clicarmos no CQI, podemos voar ao redor, bater obstáculos tanto quanto quisermos e apenas testar o jogo, certifica-se de que tudo funciona perfeitamente bem. E se pousarmos aqui, nada deve acontecer. Não se preocupe. Isso é porque desligamos as colisões. Nós pressionamos o botão C novamente. Agora batemos em uma parede e não podemos mais nos mover. Oh, ok, taxa de garotas. Então este foi um vídeo rápido. Isto é um dos bastidores, coisas que fazemos. E antes de você ir, eu só queria ter certeza de que você entende que isso
não vai combinar com esse recurso aqui. Essas duas teclas não estarão na sua final, mas você deve se certificar de que você as remova antes de permitir que as pessoas acessem seu jogo
ou, como alguns jogos fazem, por exemplo, GTA, eles têm códigos de fraude para que você possa criar códigos de trapaça para seu jogo. E isso irá ajudá-lo, por exemplo, talvez parar colisões em mais combustível, tornar o nível mais fácil ou ir para o próximo nível. Então seja criativo. Pensa nas coisas. Esta é uma ótima maneira de experimentar coisas legais como esta. E espero que tenha gostado do vídeo. Não se esqueça de salvar seus repos. Então fizemos algumas mudanças. Nós vamos declarar todos eles que estão simplesmente dentro do controlador do jogo e do chip rock. Aqui você pode ver as mudanças que fizemos e vamos cometer tudo isso. Ele vai ser chamado Adicionado para depurar chaves para o meu controlador de ganho. Você pode ser mais específico com isso. Mas, por enquanto, vamos cometer isto. E dentro de nosso ramo mestre, podemos ver que nosso projeto está se movendo. Então eu espero que você tenha gostado do vídeo e eu vou vê-lo no próximo.
29. Loop através de níveis: Bem-vindos de volta a um novo vídeo. E como podem ver, estamos no nível um. Quando clicamos no jogo, vamos para o nível dois. E quando clicamos ou quero dizer quando clicamos no alceno, novamente, vamos para o nível três e nível três aqui. Você pode ter certeza de que é nível três pelo nome e hierarquia e não tem um obstáculo. E agora, quando estamos no último nível, quando clicamos na tecla, novamente, nós percorremos todos os nossos níveis e OK, e voltamos para o nível um. Então, neste vídeo, vamos criar um nível extra e vamos aprender a percorrer todos eles e, em seguida, voltar para o primeiro quando estamos no último. Então não vamos perder mais tempo e vamos começar. Oh, ok, então qual é o problema? O problema é que se entrarmos em nosso controlador de jogo aqui, e entrarmos no próximo nível, e o próximo nível carrega o próximo nível ou a co-rotina e usa o gerenciador de cena para carregar o nível para o qual está no índice um. Agora, por que isso é um problema? Digamos, por exemplo, que queremos carregar, digamos que temos um nível três. Então, o que faremos? Criamos uma, outra co-rotina e outro próximo nível para empatar essa co-rotina e carregar s2. Então talvez isso seja possível. O que acontece quando temos 20 níveis? Criamos um método e o coltan para esses 20 níveis, claro que não. Precisamos de uma forma de tornar isto mais dinâmico. Então, a maneira como fazemos isso, primeiro, vamos criar um terceiro nível irá duplicar o nível dois. Então clique no nível dois, controle D. Agora temos um nível três, nomeia para nós automaticamente, nós duas vezes nele. E apenas para distinguir entre o nível dois e o nível três, ou simplesmente mover isso um pouco para cima. Então agora este é o nosso nível três. Digamos que este é o nosso nível dois, este é o nosso nível três. Ok, ótimo. A próxima coisa que vamos fazer é encontrar uma maneira de saber em
que índice estamos atualmente e depois ir para o próximo índice. Antes de fazer isso, precisaremos entrar nas Configurações de compilação de arquivos. E precisaremos adicionar o nível três e nossa cena. E construídos. Como você pode ver, o índice do nível 3 está em dois. Ótima. Agora vamos voltar e entrar no nosso código. A primeira coisa que precisamos fazer é obter o índice atual, como eu disse. Então dentro de carga próximo nível, bem aqui, podemos adicioná-lo antes ou depois. Isso realmente não importa. Mas aqui, vamos primeiro criar um inteiro que vai ser chamado de índice de cena atual. E este índice de moeda vai ligar para o gerente de cena. Como gerente, precisamos obter a cena atual ativa. Assim, o ato de pecado que estamos atualmente em, e queremos saber em que índice construído temos ele. E então precisamos. Dê à carga vista o próximo índice de livro. Então aqui, vamos obter o índice de cena atual que acabamos de receber. E nós vamos simplesmente adicionar um a ele. Então vamos adicionar um espaço aqui. Vamos guardar isso. Então, o que estamos fazendo? Criamos uma variável que é a moeda no índice. Chamamos o gerente. Ei gerente, precisamos obter a cena atual em que estamos atualmente. E então o que queremos é que queremos obter o índice de compilação que ele tem. Então estamos no nível dois, chamamos isso de gerente. Pegamos o Zi1 ativo. A cena ativa é o nível dois ou Cena dois ou não, é nível para a cena é chamado de nível dois e é construído índice é um, ótimo. Pegamos este, que é a moeda no índice. Dizemos ao gerente que queremos ir para a cena de carga. E o índice de carga visto que queremos é o atual mais um, que nos levará para o que está atrás dele. Então vamos verificar isso e ver se funciona. De volta ao nível um, podemos jogar. E nós realmente temos nossas chaves de depuração. Mas vamos tentar à moda antiga, por enquanto. Então, batemos na plataforma de pouso, estamos no nível dois, então funciona. Acerte o CQI, para não nos preocuparmos com colisões. Esta é a beleza de ter os bupkis. E agora clicamos em c novamente. Atingimos a pista de aterragem e vamos para o nível três. É nível três porque nós temos isso na hierarquia bem aqui, e nós não temos um obstáculo e o meio. Mas o que vai acontecer? Então vamos ver o CQI novamente. O que acontece se chegarmos ao nível três? E deixe-me acertar o CQI, subir na pista de pouso. E bem, nada está acontecendo. Por que é isso? Se você for para o console, podemos ver que temos um problema aqui. Nós clicamos nele. Isso é apenas mover isso um pouco para cima e parar o jogo. Assim visto com o índice construído três não pôde ser carregado porque ele não foi adicionado às configurações de compilação. Então vamos passar pelas configurações de compilação. Então sim, é verdade quando você queria carregar o índice construído três, porque nós pegamos o índice atual, que é dois. Nós adicionamos um e dissemos ao gerente de cena,
por favor, carregue a cena no índice três, mas não há. Então isso é um problema e eu não tenho tempo. Estou muito preguiçoso, honestamente, hoje. Então é o seu desafio. E seu desafio vai percorrer todos os níveis. Então certifique-se de que nós, quando chegarmos ao último nível, vamos voltar para o primeiro. Então nós os percorremos sempre que estávamos no último, queremos voltar para o primeiro. E eu vou te dar algumas dicas. Primeiro de tudo, você precisa criar uma variável para o próximo nível. Você precisará verificar em uma instrução if se ela exceder o número de índices que já temos em nosso construído e redefini-la após um determinado limite. Bem, é claro, este limite será o número de, o número token de cenas que temos. Então, leve o tempo que precisar. Pausar o vídeo, verificar as dicas, certifique-se de que você entende o que estamos fazendo. E para obter mais informações, eu recomendo que você vá para a documentação do Unity para o gerente
de cena e verifique algumas propriedades e variáveis que estão lá que irão ajudá-lo a resolver este desafio incrível. Então, pausar o vídeo agora e te vejo daqui a pouco. Ow, kay, bem-vindo de volta. Então, como você se saiu com isso? Foi um desafio difícil, mas tenho certeza que você tentou o seu melhor. Então, como eu disse na platéia, primeira coisa que precisamos é criar um inteiro que
será o próximo índice de cena. Este próximo índice de cena será simplesmente o índice de cena atual mais um. Então agora temos próxima cena e índice, que é o índice atual mais um. A próxima coisa que vamos fazer é verificar a próxima cena e ver se a próxima cena está realmente disponível e o nosso índice de compilação. Então próximo índice de cena se for igual. Então, sempre que quisermos verificar se há um inteiro, se for igual a algo, usamos dois iguais. E se for igual, igual. Então, se é o mesmo que Olá gerenciador de cena, precisamos obter a contagem de cena dentro das configurações de compilação. E isso é tão simples quanto isso. Então o gerente de cena vai para a contagem de coletores e índice de compilação. Então ele vai bem aqui e o File BuildSettings. Ele conta todos eles. Parece que temos 012. E então ele volta e verifica. Diz-nos que temos três. É tudo visto índice às três. Se for, isso significa que não podemos carregar três. Então o que queremos fazer é redefinir essa próxima cena, indexar de volta para 0. E dentro da carga vista, vamos simplesmente dar-lhe o próximo índice. Então, o que acontece aqui? Primeira coisa, como você já sabe, temos a cena atual. Criamos uma variável para a próxima cena simplesmente obtendo a cena atual e adicionando uma a ela. Então verificamos, é a próxima cena que queremos ir. É maior do que o que já temos um conjunto de configurações de compilação? É, excede ou é igual ao número de aconselhamento de sincronização ou BuildSettings? caso afirmativo, isso significa que não podemos ir a essa. Isso significa que queremos olhar para trás. E para olhar para trás, nós simplesmente fazer a próxima cena e voltar para 0. Devolvemos ao gerente de cena e dizemos a ele para carregar a cena 0. Vamos guardar isso e ver se realmente funciona. Então, clicamos no jogo. Tivemos a LP, estamos no nível dois. Tínhamos o alceno. Novamente. Estamos no nível três e agora devemos voltar ao nível um. Ok, ótimo. Então eu espero que você tenha gostado deste vídeo. Não se esqueça, claro, dois. Enquanto R alterações não confirmadas, clique no estágio de comentário. Tudo isso acrescentou uma maneira de percorrer todos os níveis. Comprometa isso. E agora dentro dos mestres, temos mais um comentário. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
30. SEÇÃO 5: DESIGNDESIGN: Bem-vindos de volta meus colegas desenvolvedores de jogos. E neste vídeo vamos adicionar mais efeitos sonoros. Como podem ver aqui, adicionamos um efeito sonoro de morte. Nós adicionamos um sucesso no fato, e eles estão todos presentes em nosso roteiro de foguetes. Estamos tentando diferentes métodos de reprodução de nossos clipes de áudio e sons do nosso jogo. Então, agora, quando clicamos no jogo, vai tentar acertar um obstáculo, o que deve ser fácil para mim. Sempre que atingimos um obstáculo, você pode ouvir o som. E outra coisa legal que nós adicionamos é que sempre que nós realmente passar o nível, que foi muita sorte. Tínhamos a pista de aterragem, conseguimos um som de sucesso, e vamos para o próximo. Então não vamos perder mais tempo e vamos começar. Oh, ok, então tocando mais efeitos sonoros, como vamos fazer isso? Primeiro, vamos entrar nos recursos e obter nossos efeitos sonoros, que são a morte e o sucesso. Você deve tê-los em seus arquivos de recursos. Então vamos colocá-los dentro de efeitos sonoros, os efeitos. E agora temos a nave voando, o som do sucesso. Então este é o Papai Noel vai tocar sempre que
chegarmos à pista de pouso e este é o som da morte. Ok, legal. Então, se você não gosta, não gosta desses sons, eu realmente encorajo você a ir e encontrar o seu próprio. Há toneladas de recursos. Você simplesmente precisa pesquisá-los no Google. Então, o que vamos fazer? Queremos tocar vários sons. Mas o problema é que se você se lembrar, se entrarmos em nosso foguete aqui na fonte de áudio, você pode ver que ele só precisa de um clipe de áudio. Agora isto é um problema. Por quê? Porque queremos adicionar mais dois efeitos sonoros. Então, o que devemos fazer? Devemos estar sempre tirando a fonte de áudio ou tirando o clipe de áudio e, em seguida, colocando um em vez dele. Bem, isso é uma maneira, mas há uma outra maneira. E eu vou te ensinar duas maneiras. Um deles seria um método há jogar um tiro e o segundo será o áudio de reprodução em uma determinada posição. E o que o MIT deve fazer duas coisas. Bem, porque pessoalmente, e geralmente é recomendado para não usar a fonte de áudio muito porque há uma tonelada de bugs que podem acontecer. Eles estão usando outros métodos é muito melhor. Então eu vou te ensinar tudo e você usando seu próprio julgamento C, o que faz você se sentir mais à vontade sempre que você usá-los? Então vamos começar. A primeira coisa que precisamos fazer é entrar em nosso código. E a partir daí, vamos para o Iraque chip e rock chip. Vamos serializar um campo para o nosso clipe de áudio que é o motor principal. Então vamos criar um campo serializado, e este campo vai ser um clipe de áudio. Então áudio, clipe de áudio, e é clipe de áudio vai ser chamado de motor principal. E vamos guardar isso. A próxima coisa que vamos fazer é ir para o “onde”. O lugar onde estamos tocando nosso clipe de áudio. E aqui, em vez da minha fonte de áudio, ponto play, que reproduz o som padrão que está presente na fonte de áudio. Vamos usar um método que é chamado de jogar um tiro. E o que essa jogada faz, se você olhar para ele, ele toca um clipe de áudio. Dimensiona o volume do clipe de áudio em uma determinada escala. Se quisermos, não faremos isso. Vamos mantê-lo como está. Mas o que ele precisa, precisa de um clipe de áudio. E felizmente, acabamos de criar um campo serializado que é o motor principal. Então vamos guardar isso. E agora estamos prontos para adicionar nosso clipe de áudio no inspetor ao motor principal. Então vamos fazer isso em Unity. Podemos realmente remover este para que possamos clicar nele e adicionar um não a ele. E então podemos voltar para o foguete, já estávamos lá. E aqui você tem um lugar para adicionar seu motor principal. Então somos horas. Qual é o som? É a nave voando. Vamos arrastá-lo para cá. E vamos aplicar tudo isso a todos os nossos foguetes. Vamos guardar isso e ver se funciona. Então agora, quando clicamos, quando paramos de voar, podemos ver que tudo vale a pena funcionar perfeitamente bem. E quando batemos numa parede, não
há som. Oh, ok, ótimo. Então vamos voltar e verificar esse código mais uma vez. Criamos um campo serializado que é do tipo clipe de áudio. E esse clipe de áudio é chamado de motor principal. Bem, é o nome da nossa variável. E adicionamos o som do motor principal, ou o efeito sonoro do efeito sonoro voador da nave. Então, entramos no “rock chip “, temos aqui mesmo. E nós jogamos um tiro, que é um método que nos permite reproduzir qualquer clipe de áudio que damos uma vez. Oh, ok, ótimo. Agora o que queremos fazer é adicionar um, os dois outros clipes de áudio que importamos de nossos recursos, que são o efeito de som de morte e o efeito sonoro de sucesso. E na verdade faz parte do seu desafio. E seu desafio será configurar os outros efeitos sonoros. Então crie um campo serializado para os outros dois efeitos sonoros. Procure o método que é chamado de clipe de reprodução no ponto. Então, qual é o clipe de jogo um ponto, deixe-me mostrar-lhe. Eu já tenho. Esta é a jogada de um tiro. Nós passamos por cima. Não há nada muito extravagante nisso. É simplesmente reproduz um clipe de áudio. Nada muito extravagante, mas o clipe de jogo no ponto. E este é o meu. Prefiro este. Eu gosto do clipe de jogo no ponto mais por razões. Eu não tenho certeza mesmo por que, mas porque às vezes fontes de áudio podem ser muito difíceis de controlar, às vezes você não tem certeza por que alguns clipes de áudio não estão reproduzindo porque outros clipes de áudio estão reproduzindo e eles interferem uns com os outros reproduzem clipe, mas ponto é muito mais versátil. Então, se você ler a descrição corretamente, podemos ver que ele reproduz um clipe de áudio, o
mesmo que o play um tiro, mas em uma determinada posição no espaço mundial. Então você precisa escolher em qual posição você deseja que seu clipe de áudio seja reproduzido. E para ajudá-lo com isso, eu incluí no Desafio. Mas antes de fazermos isso, o Onde você deseja reproduzir seu clipe de áudio é muito importante. E você quer tocá-lo em sua câmera principal, diretamente no ouvinte de áudio, que é o melhor lugar para reproduzir seu efeito de som, ele vai soar o melhor. Você também pode jogá-lo no foguete, mas porque estamos jogando em 3D. Então você pode olhar, por exemplo, digamos que o chip rock fica um pouco mais longe da câmera principal, o som mudará. Agora que poderia levar a uma jogabilidade muito agradável e legal, mas por enquanto, simplesmente jogá-lo na câmera principal, se você quiser jogar e testar, ensinou a si mesmo, sinta-se livre. Encorajo-te todo o caminho. Então, a última dica aqui sobre o desafio é usá-lo
para reproduzir os dois efeitos sonoros na posição da câmera principal. Então, sua principal tarefa é usar este novo método, que é jogar clipe no ponto e encontrar uma maneira de obter a posição principal câmeras. Pause o vídeo agora mesmo e vá fazer o desafio. Ow, kay, bem-vindo de volta. Então vamos em frente e serializar os dois outros clipes de áudio. Então, se você tem o mesmo tipo de variável, você pode realmente colocá-los todos na mesma linha. Então vamos em frente e fazer isso. Explosão de morte como efeitos. E o que mais temos? Temos estes efeitos sonoros de excesso. Sim, vamos chamá-los assim. Normalmente você precisa chamar suas variáveis pelo que elas fazem, mesmo que sejam um pouco longas. Isso não nos incomoda muito porque, eventualmente, Visual Studio completará tudo automaticamente para nós. Agora, onde devemos tocar nossos efeitos sonoros? Onde devemos jogar a explosão da morte? Bem, nós vamos estar, claro, jogando aqui quando morrermos. Então vamos colocá-lo vivo. E se olharmos para trás para o nosso clipe de praga no ponto, podemos ver a maneira como eles o usam como eles simplesmente digitam fonte de áudio. Isso significa que você nem precisa ter uma fonte de áudio em uma determinada posição. E isso está presente aqui na descrição. Esta função cria uma fonte de áudio, mas automaticamente dispõe dele, quer clipe terminou a reprodução, que é perfeito para a nossa situação. Então vamos voltar. E isso, o que isso significa normalmente. E clipe web em Point é muito versátil porque cria automaticamente um clipe de áudio, fonte de
áudio e, em seguida, imediatamente destruído. Por isso, é muito útil sempre que temos clipes de áudio que nem sempre serão reproduzidos. Assim, o impulso principal sempre tocará sempre que apertarmos o botão Espaço ou a barra de espaço. Mas a explosão da morte e o nível de sucesso nem sempre estarão jogando. Eles só precisam ser jogados uma vez por jogo. Então de volta ao nosso código aqui. E vamos em frente e criar uma fonte de áudio ponto play clip no ponto. E o que ele precisa é de um clipe de áudio. Então esta será a explosão da morte. E a maneira como conseguimos a posição da câmera é seguir a câmera certa. Espero que tenha encontrado isto através da sua pesquisa. Acessamos a câmera, acessamos a câmera principal. Nós acessamos a transformação dessa câmera principal, e acessamos a posição dessa câmera. Agora temos as câmeras principais transformadas e temos a posição desse transporte. Vamos fazer o mesmo quando terminarmos. Então este sucesso, vamos copiar este e colocá-lo aqui. E em vez da explosão da morte, vamos tocar o efeito sonoro do nível de sucesso, e também vamos tocá-lo nas câmeras principais posicionadas. Então vamos guardar isso. Vamos voltar para a Unidade. E vamos desktop. Então o que você quer que ele pare primeiro, vamos testar a explosão da morte porque é muito mais fácil morrer do que ganhar este jogo. Então não, nada aconteceu. Por que é isso? Bem, porque obviamente esquecemos de dar um dos passos mais importantes. E é óbvio aqui mesmo, se clicarmos no Console, o efeito sonoro variável de explosão de poeira do foguete não foi atribuído. Mas esta é uma oportunidade perfeita para mostrar-lhes este áudio único aqui. E isso é o que eles estavam falando na descrição da peça um tiro. Esta função cria uma fonte de áudio e descarta automaticamente dela. Então aqui você tem o exemplo completo. Você pode acreditar no que eles escreveram
na descrição que ele não cria uma fonte de áudio. E mais tarde, quando nós realmente adicionamos os efeitos sonoros aqui, você verá que ele automaticamente se livra dele. Então vamos adicionar o efeito sonoro da morte à explosão da morte e o sucesso ao nível de sucesso aplicará tudo isso a todos os nossos foguetes, salvará isso no nível um. E agora devemos ter uma exposição à morte sempre que atingirmos um obstáculo, espero. E nós fazemos. E como viu aqui, notou a hierarquia? Vamos fazer isso de novo. Então olhe atentamente para a hierarquia agora. Olhe para minha jogabilidade ruim. Então, um tiro e desaparece. Muito legal. Isso tentou ganhar, na verdade. Então, passamos por nossa pequena lacuna bem aqui, aterrissamos, ok, vamos tentar de novo. Então nos movemos com cuidado e aterrissamos, e ouvimos o efeito sonoro. E nós vamos e vamos para o próximo nível. Muito bom, todo mundo. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
31. Efeitos de partículas: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Este vídeo é super legal porque
agora temos um foguete que não só nos faz soar quando está empurrando, e não só ele voa, mas também tem efeitos de partículas no, tem as chamas que descem do um, Opa, isso não foi planejado. Mas como podem ver, quando atingimos um obstáculo, também
temos outro efeito de partícula que explode nosso foguete. Legal. Este é um vídeo muito divertido. Cometi um pequeno erro no início. Eu chamei o efeito de partícula das chamas V, eu chamo de explosão. Não se confunda muito com isso. Eu realmente sinto muito. Não vamos perder mais tempo e vamos começar. Certo, então vamos começar com nosso efeito de partícula. Agora, os efeitos políticos são muito complicados. Eles podem ser um curso inteiro sozinhos, mas farão as coisas mais básicas. E eu vou mostrar algumas coisas, truques e ajustes que normalmente usamos para criar um par de partículas afetam. Agora, vou criar um na sua frente,
que serão as chamas que saem do nosso foguete. E o outro efeito de partícula será o da explosão. Então, sempre que batermos numa parede, a explosão, eu não vou fazer na sua frente. Não é mais complicado. Ajuste isso. Não queremos desperdiçar 10 a 20 ou 30 minutos para criar dois efeitos de partículas. Vou ligá-lo nos recursos. Então, primeiro de tudo, vamos para a rocha. Vamos clicar com o botão direito do mouse e criar um objeto de jogo vazio. E vamos chamar esse objeto de jogo vazio de explosão. Legal. Então agora temos um objeto de jogo vazio sob o foguete, que é a explosão. Agora, antes de começarmos a aplicar alterações na pré-fabricada, e vamos explodir e adicionar um componente
que, que será chamado de efeito de partícula. Então partícula ou sistema de porta média. Então vamos adicionar um sistema de partículas. Ok, então como você pode ver no inspetor, há um monte de coisas que ela pode ajustar e brincar ao redor. E aqui, vamos nos aproximar um pouco. Podem ver que estes são os nossos sistemas de partículas. E você pode estar se perguntando por que eles são tão estranhos? Bem, sistemas de partículas podem ser muito cansativos no hardware do seu computador. Então o que o Unity faz é que ele realmente cria um sprite 2D. Ou estes são quadrados 2D que sempre olham para você, não importa como você move sua câmera. E isso dá a ilusão de que eles estão todos em três D. Agora, a próxima coisa que temos todas essas opções aqui, a duração do loop e há algumas, há tanta conversa sobre e honestamente passando por cima de cada uma delas. Alguns desses eu nem sei como eles funcionam. Guardaremos isso para outra hora e para você explorar se estiver realmente interessado nisso. Mas, por enquanto, vamos para os nossos projetos. Vamos para os materiais. E aqui vamos criar um novo material que vai ser a chama. Então vamos criar um material e ele vai ser chamado de chama. E aqui, vamos fazer algumas mudanças. Então a primeira coisa que vamos fazer é mudar o sombreador de padrão para padrão em let. E onde está? Este é o padrão em chumbo. E nós vamos ser executados mudando o modo de renderização do opaco para aditivo. Outra coisa que vamos mudar, vai definir o mapa de Albedo bem aqui. Onde faz isso o albedo, clique duas vezes sobre isso e nós vamos escolher um padrão. Então, onde, onde vai ser o mapa padrão? Agora temos esta configuração bem aqui. Vamos voltar para a explosão. E no renderizador bem aqui, você pode escolher o material e nós vamos escolher o material da chama. Então, quando o adicionarmos, você verá que o material mudará. Então agora nós temos esse tipo de partículas e coisas nelas. A próxima coisa que faremos é mudar o modo de renderização para esticar outdoor. E agora temos uma espécie de, algo que parece que está cuspindo fogo ou chamas ou o que quer que você queira chamar. Então vamos mover o nosso foguete um pouco. E vamos centralizar estas chamas debaixo do nosso corpo. Então vamos girar no, Não, não no zeta. Opa, não no eixo z. Em que eixo devemos estar girando em torno do x, aparentemente. Então vamos girá-lo para baixo 90 graus. E vamos movê-los para baixo apenas um pouco bem ajustados para mais tarde. Então agora temos algum tipo de partículas em nosso ROC Varnas. Vamos continuar. A próxima coisa que precisamos fazer é
colocá-los juntos para que não estejam se espalhando. Então podemos fazer isso dentro de formas. E aqui vamos mudar o ângulo para 0 e vamos mudar o raio também para 0. Então agora temos algo que se assemelha a lasers longos. Vamos mover nosso foguete. E este laser é extremamente longo. Precisamos torná-lo um pouco mais curto. E a maneira como fazemos isso é entrarmos na explosão e aqui temos algo chamado o tempo de vida da nossa prática. Então isso determinará quanto tempo uma partícula que instanciar a partir daqui, vamos baixar isso para 0,7. Então agora temos um mais concentrado ou não concentrado, um nome mais curto em nosso foguete. Ok, ótimo. Próxima coisa. Claro, as chamas nunca são brancas. Precisamos mudar a cor e vamos torná-la laranja. Então vai ser este tipo de peixe laranja. Olhe. E o que queremos fazer é mudar o tamanho da nossa chama com base na sua vida útil. Então aqui temos uma opção para isso. Queremos que nossa chama não olhe imediatamente,
como empurrar para baixo e o mesmo raio de cima para baixo, queremos que seja um pouco maior, então parece mais. Como a vida, tão a vida toda. Considerando que, há algo chamado o tamanho ao longo da vida. Então vamos descobrir isso e eles são deste tamanho ao longo da vida. Clique no botão aqui. Tão instanciado e como você pode ver, ele muda de forma. Vamos mudar isso com base no gráfico. E a única coisa que você precisa fazer é clicar neste. Então agora o nosso foguete parece ou de chamas parece algum tipo de chamas reais. Está começando a parecer legal. Vamos mudar a velocidade. Então vamos fechar isto, fechar isto. Nós vamos mudar a velocidade, enquanto a nossa velocidade, ok, então começar a velocidade lá está. E vamos mudar isto para dois. Então agora o nosso foguete é mais compacto. Mas se quiser torná-lo um pouco maior, você também pode alterar a escala de comprimento. Então, enquanto a escala de comprimento, vamos procurá-la. Eu acho que a escala de comprimento está aqui e a renderização, então escala de comprimento na renderização, vamos aumentá-la e ver o quanto queríamos. Então este é 3.9 e oops, vamos olhar para ele. Então não, isso é demais. Vamos mudá-lo de volta e vamos fazê-lo para, eu acho que quatro é muito bom. Então vamos olhar para isso. Oh, legal, legal. Isso parece realmente legal agora. Então estamos começando a criar um efeito de partícula muito agradável. Então vamos voltar aqui e você pode mexer e brincar com o que quisermos. Eu realmente encorajo você a pausar o vídeo agora mesmo. Isto não é um desafio. Pause o vídeo e vá experimentar tudo. Chara, char i, o barulho, a colisão encantam a velocidade ao longo da vida. Tente tudo, ajuste ao redor. Esta é a parte mais divertida, honestamente ,
é, é brincadeira. O que estou fazendo é, na verdade, eu tenho uma idéia fraca do que eu quero. Eu, eu, e eu estou tentando implementá-lo aqui diretamente. Então, não é como a minha primeira vez fazendo isso, então eu realmente encorajo você a ir e experimentar seu próprio ajuste. Então não vamos perder mais tempo vai aumentar o tamanho inicial, enquanto que, então temos a velocidade inicial, temos o tamanho inicial. E se aumentarmos um pouco, tudo bem, isso é demais. Vamos tentar ver como isto deve parecer. Isto é muito grande? Muito grande. Então, se fizermos isso também, é ainda maior. Ok, então isso é demais. Vamos fazer com que seja 1.5. Acho que 1.5 é. É muito bom. Então isso é, é muito bom. Ok? E vamos mudar também o número de partículas. Agora, este é um passo muito importante. E aqui você pode alterar a taxa ao longo do tempo. Então isso aumenta o número de partículas como você pode ver, se aumentarmos para muito, a chama estabiliza, se diminuirmos, a chama como mais pixelizada, use esta opção com cuidado. Vou colocá-lo para 15 anos com cuidado. Bem, porque isso afetará drasticamente o poder do processador. Então, se o seu computador não é tão bom,
eu recomendo que você mantenha isso em dez ou até mesmo o mais baixo que você puder. Agora eu vou fazer 15. Parece bom, não é tão ruim e vai continuar. Agora. Você também pode alterar a cor ao longo da vida útil. Então vamos fechar a admissão aqui mesmo. E vamos procurar a cor ao longo da vida. E queremos mudar isso. Então, vamos clicar na caixa de seleção aqui. E vamos clicar nisso. E isso permite que você realmente mude suas cores ao longo da vida. Então vamos escolher o último, e eu quero que a cor fique vermelha. No final, clique em enter, algo deu errado. Enquanto isso, clique duas vezes sobre isso novamente, e às vezes isso realmente desaparece. Então agora fazemos um piso. E no começo, eu queria ser laranja, laranja. Então, agora, se olharmos para nossa chama, vamos ver que podemos diminuir e aumentar isso. Então, como você pode ver agora, chama
está parecendo uma chama muito agradável. Então é vermelho por fora e o amarelo por dentro ou laranja por dentro, que é o que queremos. Agora, uma coisa muito importante que eu tenho lutado tanto tempo para entender é que nós precisamos realmente encontrar algo chamado reaquecimento profundo e este pré-moderno, onde é que ele é tão pré-guerra eu? Isto é o que o sistema de partículas precisa. Precisa de uma barra de busca aqui para que possamos encontrar imediatamente o que quisermos. Então há algo chamado pré-guerra, ok, então aqui está. Então esta pré-guerra precisa ser verificada. É muito importante. Agora, antes de nos movermos, vamos clicar no jogo e ver como o nosso foguete se parece. Isso foi, oh, isso parece muito legal. Agora é um pouco estranho porque está sempre ligado. E o que queremos é ser capazes de desligá-lo e ligar e o nosso código. Então vamos voltar. E aqui temos a opção de realmente ligar e desligar isso. E se alguns de vocês têm, realmente
não vêem o seu sistema de partículas tocando, você pode clicar no jogo aqui e ele vai começar a tocar. Vamos fechar este. E o que mais podemos fazer aqui? Bem, podemos mudar o raio. Então vamos ampliar um pouco. E eu quero mudar o raio de 0 para cerca de 0,01. De volta aqui, clique no jogo. Vamos ver. Oops. Onde está a forma, forma, forma, forma. Então, raio 0,2. Vamos ver 0,2, como isso parece. E eu quero que a chama esteja apenas tocando um pouquinho. Então, clicamos no jogo novamente. E agora o nosso, nós temos, isso é realmente super legal. Como você pode ver, parece meio realista para um jogo que cai para um sistema de partículas que acabamos de fazer. Então agora é hora de acionar nosso sistema de partículas do nosso código. Não queremos que ele jogue o tempo todo. Então, clicamos na explosão. E aqui temos essa opção bem aqui, que é jogar em um acordado. Então, desligamos por um acordado, e guardamos isso. E agora vamos para o nosso código. Então, em nosso código, a primeira coisa que vamos fazer é obter uma referência ao nosso sistema de partículas e vamos criar um campo serializado. Vamos fazer da teoria um campo de luz, um sistema de partículas. Então nós temos a opção de criar uma variável do sistema de partículas, e vamos chamar isso de partículas do motor principal. Então agora temos as partículas principais do motor. A próxima coisa que vamos fazer é tentar tocá-los sempre que começarmos a empurrar e pará-los sempre que pararmos de empurrar. Então, descemos em nosso movimento de foguete, encontramos empurrando, encontramos empurrando. E aqui. E assim que começarmos a pressionar a barra de espaço, vamos chamar nossas partículas principais do motor, e vamos simplesmente tocá-las. Cou, vamos guardar isso. E sempre que estamos, paramos de empurrar. Então, sempre que paramos de bater na barra de espaço, assim como fizemos com minha fonte de áudio , partículas
principais do motor, e vamos parar. Então vamos guardar isso. E agora que temos tudo salvo, voltamos para a Unidade e nos certificamos de que você tenha pré-aquecimento aqui, acionado outros. Se não o fizeres, não vai funcionar. Então, foguete, vamos colocá-lo de volta aqui. Ok. Isto é muito nervoso. Estou muito nervoso. Vamos clicar no jogo. E não temos nenhum sistema de partículas quando começamos a empurrar o caso, algo deu terrivelmente errado. E correu terrivelmente, terrivelmente errado porque não adicionamos o sistema de partículas principal. Então eu tenho que fazer uma nota mental para sempre certeza de olhar para o inspetor sempre que eu criar um campo serializado. Agora clicamos no jogo. E espero que tenhamos um sistema de partículas
muito, muito legal. Senhoras e senhores, vamos desligar a colisão para podermos desfrutar do nosso sistema de partículas. Como podem ver, sempre que pressionamos a barra de espaço, temos o sistema de partículas lançando faixas diferentes do nosso foguete. E quando desligamos, bem, quando paramos o impulso, o sistema de partículas desaparece. Muito agradável. Isso é extremamente legal, muito bom. Estou muito entusiasmada. Este realmente misturar ou jogo muito mais. Como posso dizer realista, divertido e agradável? Essas coisas realmente adicionam sabor ao nosso ganho. Agora, a próxima coisa vai ser a explosão. E isso faz parte do seu desafio. Então o laser aciona os efeitos de partículas de poeira efeito de partículas
importado que eu forneci durante os recursos e adoçá-lo sempre que nossa nave foguete atinge um obstáculo. Deixe-me mostrar-lhe o fato das partículas de morte. Nós vamos para os recursos aqui está, basta clicar neste pacote, arrastado para o Unity, e diretamente sobre os ativos que vão pedir que você importe esta textura material, a explosão pré-fabricada, simplesmente importá-los. E agora você deve ter dentro de seus materiais, esta imagem aqui, que é uma textura 2D. E dentro do ...
É a explosão? Aqui está. Então dentro da Prefab, você também deve ter uma explosão. Então simplesmente o, nós nomeamos esta explosão. Então, com isso, isso deve ser o principal ou as chamas. Desculpe por isso. Então chamas, e agora adicionamos uma explosão. Opa, não as chamas simplesmente explodem. Certo, abra prefabs. Então aqui, isso vai ser as chamas, desculpe por isso, espero que isso não te confunda muito. E aqui nós adicionamos a explosão. Então nós aplicamos sobre tudo isso vai realmente no prefab. Então por que a explosão ainda está sob as chamas? Apague isso de volta no nosso foguete. Vamos aplicar tudo isso. Então agora temos a explosão, como vocês podem ver aqui, este é o efeito de explosão que temos em nosso foguete. Então eu só queria mostrar a vocês como importar isso. Eu espero que eu realmente sinto muito por nomear esses nomes. A chama, a explosão. Não tenho certeza do que aconteceu. Então pausar o vídeo agora e o gatilho, nossa explosão. Explosão sempre que nosso foguete atinge um obstáculo. Então vá em frente e faça o desafio. Bem-vindos de volta a todos. Novamente. Desculpe pela confusão há pouco. Como podem ver, esta é a partícula ou o efeito de explosão que criei. Na verdade, tive muita ajuda para criar este. E aqui você pode ver todos os ajustes e coisas que eu fiz para o efeito de partícula. E como eu disse, eu não fiz tudo isso sozinho. Eu procuro muito. Eu encontrei muita ajuda na Internet sobre como criar e você deve fazer. Eu realmente encorajo você a passar um par de horas, pode ser, sim, vai
demorar um par de horas apenas para verificar em torno, ler sobre o efeito de partículas, ver como criar diferentes efeitos de partículas. É muito divertido se você gosta desse tipo de coisa é se você não gosta, isso não é, isso não importa. Mas o que você precisa fazer é realmente acionado do nosso código. E quando o acionarmos, vamos em frente e criar aqui outro sistema de partículas. E esta vai ser a loção x explode partículas. Vamos guardar isso. E sempre que batemos em uma parede ou quando
morremos, vamos acionar o, Considerando que para que as partículas explosivas ponto jogar. E isto deve desempenhar o nosso papel de explosão. Então vamos salvar isso e voltar para uma unidade. Enquanto isso, vamos ver o que acontece quando batemos em uma parede. Então vamos mover o chip de rock para a sua plataforma. Mova um pouco para cima. Vamos clicar no jogo. E agora voamos nosso foguete. Temos nossas lindas chamas. Quando atingirmos um obstáculo, devemos ter o efeito de partículas de explosão. Então não, eles não dispararam. Mais uma vez, a nota mental falhou-me. Precisamos adicionar o efeito de partículas de explosão aqui. Novamente. Venha brincar. E espero que sem erros ou esquecendo desajeitadamente as coisas, batemos numa parede, temos uma explosão. Muito agradável. Espero que tenham gostado deste vídeo. Quero me desculpar pela terceira vez por causa da confusão. Espero que não tenha sido tão ruim, e espero que tenha gostado deste pequeno efeito de partícula. Isso realmente adiciona um monte de sabor ao nosso jogo. Sempre que alguém coloca o seu jogo, ele diz que você tem chamas, você tem explosões, você tem sons, você tem diferentes tipos de níveis. Seu jogo está realmente se juntando. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
32. Câmera de acompanhamento de Cinemachine: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, como você pode ver aqui à esquerda você pode ver que
temos a câmera principal e temos um grão de cinema sobre ela. E também temos outra câmera que é chamada de “rock chip follow camp”. Agora, o que acontece quando fracamente completa? Bem, algo muito legal vai acontecer porque agora temos uma câmera de acompanhamento. Assim como nosso foguete se move através do nível, podemos realmente manter o controle dele. Então, agora, quando vamos para o próximo nível, também
temos uma câmera que rastreia ou se move onde quer que vamos. Então, agora, oops. Então agora nós adicionamos um Segue Campo, nossa rocha. Este é um vídeo muito divertido. Não vamos perder mais tempo e vamos começar. Oh, ok, então adicionar um falcão, isso vai ser muito divertido. A primeira coisa que você precisa fazer como você precisa para entrar no gerenciador de pacotes aqui e certifique-se de que você está na opção de registro de unidade e procurar por máquina Cinna, você pode pesquisar, aparecer na barra ou pesquisar aqui. E você vai encontrar a máquina do pecado. Agora, basta clicar em instalar e esperar que ele instale se demorar muito ou muito tempo, eu vou usar a magia da edição. Ei, bem-vindo de volta. Agora que temos as máquinas SR configuradas, você pode fechar a janela do gerenciador de pacotes. E se você não tem certeza de onde o gerente está aqui, Gerenciador de Pacotes de
Janelas, você vai obtê-lo. Agora você tem uma determinada máquina aparecer uma opção para criar câmeras virtuais. Você tem um monte de coisas. As máquinas Cinna são um tópico muito profundo. Você geralmente pode vender máquinas são usados para criar o, eles podem ser usados para ter um acampamento completo. Eles também podem ser usados para criar certos efeitos que podem ser usados para criar, por exemplo, cutscenes e jogos. Você vê cenas cutâneas ou sempre que dois personagens começam a interagir em um diálogo, eles geralmente são possíveis usando máquinas cin. E agora a próxima coisa que vamos fazer é ir para a câmera principal. E aqui você vai adicionar um cérebro. Procura pelo cérebro. E agora você tem essa máquina Cinna e cérebro. É isso. É tudo o que precisamos fazer com a câmera principal. E agora podemos realmente ir em frente e usar a máquina de cinema e ir em frente e criar uma câmera virtual. Então agora temos uma câmera virtual. Vamos voltar à cena do crime. Agora esta câmera virtual tem uma tonelada de opções, e uma delas é seguir um determinado objeto de jogo. E esse objeto de jogo vai ser, é
claro, o nosso foguete. Agora, antes de fazermos isso, vamos renomear esta contagem de CMV com o nome do acampamento de queda de foguetes. E nós vamos criar um objeto de jogo vazio aqui, que vai ser redefinido para a posição 00 e vai ser as câmeras. Então agora temos câmeras. E vamos colocar nossa câmera principal sob câmeras e colocar nossa câmera virtual de chip de rock seguido sob câmeras. Agora, o que o pessoal do foguete precisa? Bem, ele precisa do chip de rock que nós temos. E também precisa olhar para o chip de rock que temos. Agora vamos tentar jogar o jogo e ver como isso parece. Então agora isso é super simples. Agora temos uma câmera de acompanhamento para o nosso foguete, o que é muito legal. Então agora, quando vamos para o segundo nível, nós não temos mais 12 porque nós não criamos uma câmera para isso e nós não adicionamos a borda, a câmera. Não adicionamos a câmera de acompanhamento do foguete. Para evitar tudo isso, podemos simplesmente ir em frente e a prova deste para que possamos adicioná-lo em outras cenas. Também podemos pré-fabricar a câmera principal. E agora vamos dizer que podemos ir para as cenas de nível dois. E vamos em frente e onde estão os nossos prefabs? Vamos apagar esta câmara principal. Vamos adicionar o chip rock follow cam, e vamos adicionar o considerando que a câmera principal e no chip de rock seguem cam. Nós também podemos ir em frente e adicionar o chip rock eo chip no olhar para Salvar tudo isso, recolher em jogo. E agora temos um acompanhamento veio para nossos foguetes ou agora
podemos mover nosso foguete para baixo e tentar não morrer. Está bem. Agora que isso foi colocado no lugar, vamos voltar para a primeira cena e precisamos ajustar nosso foguete, seguir o acampamento um pouco. Então, vamos aplicar tudo isso. Não se vai aplicar. Você precisa adicioná-lo em cada nível, porque em cada nível você é foguete navio terá uma certa posição. Então você precisará adicionar aquele foguete que está nessa cena à sua câmera virtual. É um processo meio complicado, mas não é tão ruim. De qualquer forma, vamos voltar para a nossa câmera virtual. E vamos em frente e tentar brincar com essas coisas aqui. Agora temos muitas opções para brincar. Você pode brincar com a lente. Agora isso mudará a exibição. Vamos para a vista do jogo. E aqui você pode brincar com a vista de campo para que você possa estar muito perto ou você pode gostar muito disso irá adicionar um efeito muito, efeito ao seu jogo. Agora vamos manter o que quer que fosse, 60, talvez mudemos. Você pode alterar os pontos próximos do clipe. Então isso é o quão perto você pode chegar 4x? Então, sempre que sua câmera seguir está ao lado de um objeto, vai quão perto ele tem que ser uma ordem para cortar esse objeto para que você possa continuar vendo tudo. Isto não será um problema para nós. Mantenha-o no que é. Há outras opções. Eu não vou entrar em todos eles. O que eu quero me meter é isso aqui. Portanto, estas são opções para nos ajudar e o processo de acompanhamento do nosso acampamento. Como vamos ajustar tudo isso é, é
claro, baseado em suas preferências. Agora, eu tenho o meu, você tem o seu próprio. Mas antes de continuarmos, vamos ligar o guia da janela do jogo. Agora aqui você pode ver que isso nos permite ajustar e brincar com nosso foguete. Então temos amortecimento no eixo y, temos amortecimento no eixo x. E o que isso faz, a melhor maneira de testar qualquer coisa. Agora, eu, eu não... Não me lembro de nada. Eu sempre testo as coisas. Então, por exemplo, queremos testar o amortecimento. Coloque-o até 20 e clique no jogo e veja o que ele faz. Então agora temos sobre o amortecimento x, você pode ver que leva muito tempo que ligar o mar. Portanto, leva muito tempo para mover a câmera de seguimento para o, no eixo x. Ok, então se a colocarmos de volta, podemos ver que é muito rápido. Podemos até colocar 0. Então agora nossa câmera se move imediatamente com nosso foguete. Assim que nos movermos, podemos mudar o amortecimento no y. Então agora nosso foguete, nossa câmera leva tempo para seguir nosso foguete enquanto ele está se movendo na direção Y ou pode ser imediato. Então agora a nossa câmara vai imediatamente com o nosso foguete. Agora vou mostrar-vos algumas coisas. Oops. Vou mostrar-te apenas algumas coisas. Vamos colocar isso de volta para 0. Temos também amortecimento jovem. Nem sei o que isso faz. Vamos experimentá-lo. Talvez não faça nada. Então está em 20. Certo, então nada está acontecendo. Nós só explodimos, ok, de
volta para a nossa câmera virtual agora. O que mais temos isso, pule isso em 0. E também temos algo chamado “olhar”. O olhar adiante é uma opção que permite que nossa câmera olhe para frente e preveja a direção do foguete ou a direção que o foguete vai seguir. Então é o botão amarelo bem aqui. Se você olhar de perto, há um quadrado amarelo e é aqui que nossa câmera estará olhando. Então, como podem ver, é muito instável. Na verdade, isso é horrível, então, por favor, pare. Por favor, pare. Mantenha isso em 0. Oh, nós também temos o alisamento, então precisamos aumentar o alisamento. Então, aumente o olhar à frente, aumente a suavização, e agora é muito mais suave. Então agora você pode ver que nossa câmera de acompanhamento realmente prevê para onde nosso foguete vai estar indo. - Legal. Então, como você pode ver, é realmente muito legal a maneira estamos seguindo como foguete enquanto ele se movia através do mundo. Ótima. Bem, talvez você possa ligar isso ou desligá-lo. Eu não tenho certeza. Vamos mantê-lo em 0. Só estou mostrando as coisas que podemos acrescentar. Temos amortecimento horizontal. Então vamos adicionar amortecimento horizontal e ver o que isso faz. Brincando como você. Amortecimento horizontal. Ok. Desculpe por isso. Vamos tentar de novo. Então, desculpe-me. Agora precisamos tentar de novo. Então amortecimento horizontal não faz nada. Amortecimento vertical não faz nada. Ok, não, por enquanto não acontece. Vamos voltar para 0. Aqui temos esta tela no x onde podemos mudar para a esquerda e para a direita, o que não é útil em tudo. Temos a zona morta. Agora, a zona morta. Se aumentarmos a zona morta, podem ver que temos duas linhas azuis que se abrem. E também podemos aumentar a zona morta no Y. E agora o que acontece? Agora, nossas câmeras só devem se mover quando passarmos por um certo limiar. Então vamos ver se isso está funcionando. Vamos aumentar, whoops, oh, vamos aumentar a zona morta o máximo possível. Vamos ver o que acontece. E agora, qual é o problema com isso? Stern tudo de volta para baixo. Então qual é o problema e agora, ok. Parece que a zona morta não faz nada bem, certo? Então, na zona morta, o que ela faz, eu vou te dizer porque, por alguma razão, não está funcionando aqui. Então vamos manter isso em 0. Então a zona morta, o que ela faz é se sairmos da zona morta, então a câmera nos seguirá. Então, aparentemente, isso não está funcionando agora. O que mais temos? A zona suave? Não sei o que isso faz. Você pode ir em frente e experimentar. Temos o preconceito do X. Não
tenho certeza. Vamos tentar isso. O que ou fazer qualquer coisa. Não, não está fazendo nada. Então alguns destes podem não funcionar para nós. Algumas opções afetam outras opções. Então brinque, mexa, veja o que funciona, veja o que não funciona. Vou aplicar as alterações que tenho agora. E agora é hora do seu desafio. E o teu desafio é preparar o teu folículo. Então importe o cinema cine aplicado ao seu chip de rock de navio foguete
e, em seguida, brinque com as configurações e ajustado de acordo com sua preferência. Então, reserve um tempo, pause o vídeo, não vá diretamente para o segundo vídeo. Brincar em torno do cinema cine. Ver o que funciona, ver o que não funciona. Talvez você faça algo muito melhor do que isso é totalmente possível. Eu só estou brincando e tentando coisas que, como você viu agora, eu aumentei as coisas para 20. Eu brinco por aí, não funciona. Eu os coloco de volta para 0, ou tentamos a metade, metade medidas. Tem, as medidas são boas. Então pausar o vídeo, jogar em torno da máquina Sun, Veja como queremos fazer a sua câmera seguir e aproveitar o processo. Vejo-te no próximo.
33. Adição de uma barra saudável (parte 1): Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos realmente criar uma barra de saúde. Então, sempre que clicamos no jogo, agora temos uma barra de saúde para o nosso foguete. Agora não chegamos na posição certa. E tudo isso. Este será um vídeo de duas partes porque levou muito tempo para criar a barra de saúde e explicar tudo. Então vamos continuar no próximo vídeo, mas eu só queria mostrar como ele está realmente funcionando. Então agora o nosso foguete voa como sempre. E quando atinge uma parede, não explode imediatamente. Na verdade, leva-os a mostrar. Então, quando batemos em uma parede, uma vez, batemos uma parede duas vezes, tivemos uma parede dez vezes n. Sempre que nossa barra de saúde chega a 0, nós explodimos. Então agora temos uma barra de saúde funcionando e funcionando. Muito agradável. Então este é um vídeo divertido. É um pouco complicado. Há novos aspectos como a tela, DUI, as imagens, tudo isso nós criamos também um pouco de código, e eu espero que você aproveite este vídeo e não vamos perder mais tempo e começar. Certo, então vamos começar a criar nosso osso de saúde. A primeira coisa que vamos fazer é que vamos precisar ir para a nossa hierarquia e apenas ouvir, vai precisar ir para a interface do usuário e criar uma imagem. Agora o que isso faz é se diminuirmos o zoom, ele cria uma tela enorme. Então, se clicarmos duas vezes na tela, podemos ver o quão grande ela é. E para os propósitos deste vídeo, basta desligar as câmeras só para tirá-las do caminho. Então esta é a nossa tela e aqui é onde tudo em nosso jogo, como novos itens serão renderizados e UI é, claro, interface de usuário. Então é aqui que as imagens serão renderizadas e tudo mais. Isso, claro, nossa saúde, mas também será renderizado na tela. Agora você pode estar perguntando, por que é tão grande? Não é, na verdade é muito pequeno. Então vamos, oops. Vamos voltar a ligar as câmaras. E se olharmos, você pode ver que a imagem é realmente muito grande. Oops. Agora vamos voltar para 0. Então você acha que nossa imagem é muito grande, mas se entrarmos no jogo, você pode ver que a imagem é realmente reduzida com base em nossa tela. Então esta é uma maneira da humanidade manter as coisas menores, mais fáceis. Eu não sei por que eles fazem isso, mas por enquanto, vamos apenas entender que isso não é tão grande quanto é, e é também, é apenas a visão do jogo que temos. De qualquer forma, vamos continuar. Agora que criamos uma imagem, esta vai ser a nossa fronteira, então vamos dar um nome a ela. Essa é a nossa imagem vai ser a fronteira. E vamos adicionar a imagem de Bolton que lhe dei e os recursos. Então, se entrarmos nos recursos aqui, teremos as fronteiras. Basta arrastá-lo para os ativos e seu arquivo aqui. E vamos em frente e criar uma pasta. Haverá imagens V. Então vamos adicionar a borda às imagens. E dentro daqui, vamos mudar a textura para o sprite 2D. Então clique em sprite 2D. E agora devemos ser capazes de ir para a fronteira. Sim, aplique tudo isso. Vá para a borda aqui você tem uma opção para a imagem de origem. Basta arrastar a borda para a imagem de origem e clicar em Definir nativo. Muito agradável. Então agora temos a nossa fronteira. E dois, a fim de controlar tudo dentro de nossa tela muito suavemente, podemos clicar em 2D e agora temos tudo e para o, para a nossa tela, muito bom. A próxima coisa que vamos fazer é adicionar um objeto de jogo que é a barra de saúde, porque a barra de saúde terá a borda. Ele terá um enchimento dentro dele. Assim, aumenta e diminui com o tempo. Então vamos em frente e criar um objeto de jogo vazio e calçada Canvas. E vamos nomear este 3y saúde. Então, saúde, oops, a barra de saúde. Muito agradável. Agora o que precisamos fazer é escalar essa barra de saúde para ser tão grande quanto nossa fronteira. Agora temos a nossa barra de saúde montada. Precisamos adicionar o Pedregulho como uma criança ou saúde pior. Então agora nossa fronteira se move com nosso meio-bar. Muito agradável. Em seguida, vamos para o pensionista e há algo chamado a âncora. Agora o tornozelo aqui é como a forma da borda muda à medida que a forma da barra de saúde muda e queremos que a borda mude com nossa barra de saúde. Queremos ancorar, são pontos de ancoragem. Queremos ancorá-lo a todos os lados da saúde. Mas agora podemos, podemos fazer isso manualmente ou podemos ir aqui. Se clicarmos em que segurar Alt aqui temos uma opção para ancorá-lo a todo o seu tamanho. Então agora nossa barra de saúde, se fôssemos
tão diretos, então agora, quando mudamos o tamanho das notas da barra de saúde, estamos mudando o tamanho da nossa barra de saúde. A fronteira muda com, ok, ótimo. Agora que temos essa configuração, próxima coisa que precisamos fazer é criar outra imagem. Então vá para o seu eu clique na imagem e este vai ser o enchimento do nosso interior da nossa fronteira. E vamos em frente e também preciso. Então segure Alt, Clique em, e agora temos ancorado todo o vínculo de saúde. Mas como podem ver, a pedra desapareceu e não é isso que queremos. Queremos o enchimento. Então vamos nomear este filme ou enchimento. Vamos dar o nome ao filme. Queremos que seja sob a fronteira. E é realmente muito simples para isso. Basta fazer o preenchimento sobre a fronteira. E agora você pode ver que nós temos um overt. E o que vamos fazer é, na verdade, mudar nossa imagem de preenchimento. Então vamos mudá-lo para simular a saúde subindo. Agora. Agora, há muitas maneiras de acessar
a escala aqui e mudar a posição e o tamanho de nossa imagem. Ou temos a opção de entrar em nossa barra de saúde e realmente adicionar um controle deslizante. Então, se digitarmos no controle deslizante aqui, temos todas essas opções. Vamos virar o interactable. Clique no tom de cor e escolha nenhum irá definir a navegação para nenhum, e vamos precisar adicionar o retângulo preenchido, e essa vai ser a nossa imagem de preenchimento. Então agora nós adicionamos aqui e temos um pequeno controle deslizante bacana que tem o valor. E agora podemos aumentar e diminuir nosso preenchimento. Tanto quanto quisermos. Muito agradável. Agora, a próxima coisa que precisamos fazer é adicionar algum código e apenas isso em tempo real e não estar sempre indo aqui e mudando o controle deslizante. E isso vai ser baseado na saúde do nosso foguete. Então, antes de fazermos isso, deixe-me mostrar-lhe alguns truques aqui que podemos fazer, podemos realmente mudar para a direita para a esquerda e vamos mantê-lo da esquerda para a direita. Também podemos alterar o valor mínimo, mínimo e o valor máximo. Então podemos fazer 100. E isso é muito importante porque vamos mudar o valor máximo. Outra coisa que podemos fazer, podemos realmente mudar isso de, como você pode ver, estes são carros alegóricos para aumentar 11.813.3, podemos realmente torná-los números inteiros. Então agora ele só aumenta de 0 para 174 para 4543 sem nenhum flops. Vamos mantê-lo sem números inteiros. Só queria mostrar-te uns truques fantásticos que temos. Ok, ótimo. A próxima coisa que vamos fazer é ir para a saúde. Vamos fazer o controle deslizante um pouco menor. E vamos criar um script para isso. Então vai ser o Health Bar. Então New Script, criar e vamos esperar pela unidade para compilar isso. E a qualquer momento deve aparecer nos nossos bens. Então vamos verificar a barra de saúde e colocá-lo dentro de scripts. E aqui vamos clicar duas vezes na barra de saúde e
abri-la e nosso Visual Studio. Vamos esperar por isso. Oh, ok, isso foi rápido. A próxima coisa que vamos fazer é precisar de acesso ao nosso controle deslizante,
à nossa imagem, a tudo o que temos na nossa interface do usuário. E repare como eu disse UI. E sempre que quisermos usar textos e controles deslizantes, precisamos adicionar algo aqui. E é um namespace que será o mecanismo Unity. Assim como usamos namespace para o gerenciamento de cena, também
precisamos de um namespace para a interface do usuário. Agora, o que vamos fazer aqui? A primeira coisa que vamos fazer é precisar de acesso ao nosso controle deslizante. Então vamos fazer isso. Então vai ser um controle deslizante público. E vamos chamar isso de controle deslizante de saúde. E agora vamos ter uma opção aqui e fora e espectro antes esquecer de realmente adicionar o controle deslizante lá para que possamos simplesmente arrastar a barra de saúde. E agora temos o controle deslizante ou simplesmente arraste o componente que está aqui. Outra coisa que podemos fazer, podemos realmente chamá-lo desde o início ou obter o componente. Mas porque nós vamos estar excluindo início e não vai usá-lo para qualquer outra coisa. Acho que é melhor mantê-lo assim. máximo que vamos fazer é criar um método para alterar o valor do nosso slide. Então vamos definir a saúde do nosso controle deslizante. E este vai ser um método público porque ele vai ser usado a partir de outros scripts. Você verá isso mais tarde. Então vamos criar um método que é definido saúde. E vai ter um parâmetro que lhe dirá o que a TI de saúde precisa definir. Então vamos abrir isso e vamos definir o valor do ponto do controle deslizante de saúde igual ao whoops, ao parâmetro de saúde que fornecemos. Então, o que é que isto faz? Primeiro, temos uma referência ao controle deslizante de saúde
e, em seguida, acessamos o valor nesse controle deslizante de saúde e, em seguida,
adicionamos a saúde que é enviada através do parâmetro. Outra coisa que queremos fazer é definir esse máximo de saúde que temos para o nosso foguete. Então agora nós não somos para o nosso foguete, é para o nosso foguete, mas para o nosso controle deslizante em primeiro lugar, por isso vai ser um vazio público definir máxima saúde. E também vai tomar um parâmetro que vai ser a saúde. Ok, ótimo. Aqui vamos para o controle deslizante de saúde e acessar o valor máximo. E vai ser a nossa saúde. E também nos dizem que os controles deslizantes de saúde. Então, sempre que começamos um novo jogo ou um novo nível, o valor do nosso controle deslizante será definido para o máximo de saúde que temos, que também é a saúde que é enviada para o método de saúde máxima. Ok, ótimo. Agora temos tudo preparado e o nosso bar está acabado. A próxima coisa que precisamos fazer é criar uma variável no foguete aqui,
a fim de começar a definir o máximo de saúde e assim por diante. Então aqui em cima, vamos criar um campo serializado. Então este é um campo serializado. Vai ser um inteiro. E vamos definir o máximo de saúde para o nosso foguete e vai ser 104 agora. E sob o booleano vamos
criar uma variável que representará a saúde atual da nossa rocha. E vai ser chamado de saúde atual. E é isso. Em seguida, vamos precisar ter certeza de que os navios foguetes saúde
atual sempre que ele começa o jogo está no máximo de vida. Então nossa saúde atual, por favor, saúde
atual será igual ao máximo. Saúde máxima. Agora temos o celular atual. Sempre que começamos um novo nível,
nossa saúde atual estará sempre no máximo de saúde do nosso foguete. Da próxima vez que vamos fazer é criar um método que é chamado de dano de receção. E esse método, como diz, nos permitirá sofrer danos em nossos foguetes que serão um vazio. É uma mensagem privada, não
precisará acessá-la de qualquer outro lugar. Então você pode nomeá-lo como privado ou simplesmente nomeá-lo vazio sem quaisquer pré-requisitos. E o dano take terá uma variável ou um parâmetro. Essa é a quantidade de dano que leva. E o que devemos fazer dentro de receber dano enquanto vamos subtrair esse dano de nossa saúde atual. Portanto, a vida atual será igual a menos igual a dano. E isso vai sofrer danos de qualquer vida atual que temos e, em seguida, colocá-lo de volta no título atual. Então isso irá diminuir cada vez que D tomar método de dano é chamado. Ótima. Então agora temos uma maneira de diminuir a corrente dura, mas ainda não temos uma maneira de representar isso em nossa saúde comprada. Então, para fazer isso, precisaremos de acesso à metade da energia. E a maneira como fazemos isso é subirmos aqui. Vamos criar uma variável que é a barra de saúde. É do tipo Health Bar, e vamos simplesmente nomear o ou. Vamos dar o nome de minha saúde. Saúde. É assim que se escreve na barra de saúde? E vamos mudar o H aqui. Então, onde devemos fazer isso? Bem dentro do começo, imediatamente quando começamos o nosso mundo de jogo. Barra de saúde será v. Encontrar objetos de jogo do tipo. E seu tipo vai ser o Health Bar. Então, sempre que começamos, nosso foguete vai e vai encontrar o objeto de jogo que é do tipo barra de saúde e nós temos uma referência a ele. Muito agradável. Agora, antes de seguirmos em frente, é claro, na saúde atual precisará verificar o máximo de saúde que nossa barra de saúde recebe. Então é, oops, não, My Health Bar. E vamos acessar o método que criamos, que é definir o máximo de Saúde, e vamos dar-lhe a máxima saúde do nosso foguete. Então agora nós podemos realmente mudar a saúde máxima do nosso foguete como quisermos. E então ele irá imediatamente entregá-lo à barra de saúde. E a barra de saúde, vamos definir o valor máximo em seu valor máximo no método que criamos. Ok, ótimo. Agora, antes de seguirmos em frente, vamos simplesmente consultar, testar isso e vamos testá-lo criando uma entrada muito simples aqui e atualizar. Então, se inserirmos ponto, obtemos keydown e usaremos o código de tecla, o que devemos usar? Bem, M, porque meu nome começa com M, vai usar o M e vamos sofrer danos. E, por enquanto, vamos simplesmente tomar um dano de dez. E ainda temos mais uma coisa a fazer antes de testarmos tudo isso. Aqui dentro de danos, precisamos atualizar nossa barra de saúde. Então meu ponto de barra de ajuda vai definir a saúde e vai ser nossa saúde atual. Então agora vamos rever o que acabamos de criar aqui. Primeiro de tudo, criamos um máximo de saúde para o nosso foguete. Criamos uma variável para verificar ou acompanhar nossa saúde atual. E do lado do início, temos uma referência à nossa barra de saúde, e definimos o máximo de saúde da nossa barra de saúde. Portanto, ele tem um máximo de saúde assim que começamos nosso jogo, nós também definimos nossa saúde atual ou a saúde do nosso foguete também para o máximo de saúde. Em seguida, criamos um pequeno método aqui ou uma pequena entrada aqui para dentro da atualização, a fim de apenas verificar se tudo está funcionando usando o Mg. Em seguida, procedemos a criar isto. Pequeno método aqui que é tomar dano e leva em um parâmetro que é do tipo inteiro e o dano que queremos tomar. E uma atualização que fizemos, fez dez por agora talvez mudará mais tarde. E dentro dos danos tecnológicos, pegamos nossa saúde atual e removemos dela qualquer dano que tomamos. E então atualizamos a integridade do nosso quadro de saúde usando o método Definir integridade que criamos e nossa barra de saúde. Agora que temos tudo configurado, quando clicamos no jogo e chegamos na barra M, devemos ver esse pequeno preenchimento, só um pouco menos, e funciona perfeitamente, muito bem. Podemos jogar nosso jogo e como você pode ver, o Health Bar se move com nosso foguete. Mas isso não é tudo, não é tudo o que queremos fazer. Queremos realmente fazer isso dinâmico sem usar o MPI. E na verdade faz parte do seu desafio. Então seu desafio é parar o foguete morrer instantaneamente e, em vez disso, fazer a saúde desaparecer lentamente. Por isso, queremos sofrer danos sempre que atingimos um obstáculo. Queremos verificar a saúde toda vez que recebemos danos e começamos a morte. Então começamos a rotina de morte que temos depois que o eHealth está em 0. Agora, para este desafio, você vai precisar refratar alguns métodos. Então deixe-me mostrar o que quero dizer. Você precisará extrair este método aqui e este método aqui. E só para manter a colisão, é muito, como você pode ver agora, não
é muito limpo. Há muitas coisas que precisaremos atualizar. Então crie um método para a rotina de morte aqui e então verifique se a saúde da nossa saúde fica abaixo de 0, então você começará a rotina de morte e não o fará imediatamente. Então. Pausa o vídeo agora mesmo. Deixe-me mostrar-lhe o desafio novamente. Pause o vídeo agora e vá para cada Allen. Oh, ok, bem-vindo de volta. Então vamos ver o que queremos extrair. E aqui, a primeira coisa que eu quero fazer é remover essas três linhas aqui,
clicar com o botão direito do mouse e criar um método rápido. E vai ser a rotina de sucesso. Então esta é a nossa rotina de sucesso. Sempre que chegarmos ao fim, começamos a nossa rotina de sucesso que transforma o nosso corpo rígido em duas cinemáticas reproduz um som e nos leva ao próximo nível. A próxima coisa que faremos é extrair este aqui. E isso vai ser chamado de rotina de morte V. Então, rotina de morte. Mas não é aqui que queremos chamar nossa rota de morte. O que queremos fazer no lugar da inerência é realmente mudado isso para receber dano e nós vamos receber dez danos. Ou quer saber? Vamos, vamos fazer 20 estragos. E vamos remover a chave de dano de recepção da nossa atualização porque não precisamos mais dela. Ok, ótimo. Agora, onde devemos chamar nossa rotina de morte? Bem, dentro daqui vai remover este, o pequeno espaço. E aqui, como eu lhe disse, vamos verificar a nossa saúde atual. Então, se nossa saúde atual é igual a 0 ou podemos escrever abaixo de 0, isso depende se você, se você está sofrendo dano, isso é muito crucial aqui. Se você estiver sofrendo dano e sua saúde atual não for para 0, ele vai abaixo de 0. Você precisa verificar se há isso. Mas porque estamos tomando por agora 20 de dano, podemos remover o de nossa vida atual, que é 105 vezes. Então, pegamos dano cinco vezes e reiniciamos nosso jogo. Portanto, certifique-se de que você está ciente disso. E agora dentro da saúde atual, vamos, se chegarmos a 0, vamos simplesmente começar nossa rotina de morte. Então, rotina de morte, vamos guardar isso. Volte para a Unidade. E quando clicamos no jogo,
agora, quando batemos em uma parede, devemos ver uma pequena colisão bem aqui. E funciona muito bem. Então agora, quando batemos duas, três vezes, e finalmente, exploramos sempre que nossa barra de saúde chega a 0. Muito agradável. Esta é uma notícia muito excitante. Então eu espero que você tenha gostado deste vídeo. Vou cortá-lo aqui e continuaremos e parte dois porque
já é muito longo e eu não queria fazer um vídeo de 30 ou 40 minutos de duração, então te vejo no próximo.
34. Adição de uma barra saudável (parte 2): Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, estamos realmente ancorando nossa barra de saúde ao nosso foguete. E não só isso, também mudamos a cor das barras de saúde à medida que a danificamos. Então agora é vermelho e sabemos que estamos no final de nossa jornada se batermos na parede mais uma vez. Mas se você não gosta disso, se você não gosta da maneira como nossa barra de saúde se move conosco, você pode realmente colocá-lo aqui no topo da nossa tela. E eu te mostrei como fazer isso, mas eu criei este e para aqueles que realmente querem que nosso marido se mude conosco. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo em apenas um pouco. Está bem, está na hora de tornar a nossa barra de saúde mais viva. Vamos para o nosso foguete ou para o nosso guião da Health Bar. E aqui vamos criar algo chamado gradiente público. E vai ser simplesmente chamado de gradiente. E o que isso faz é que ele nos permitirá mudar as cores de nossa barra de saúde como ele preenche ou preenche de enchimentos para cima ou para baixo. Deixa-me mostrar-te o que quero dizer. Então, se entrarmos agora no nosso inspetor, onde está o nosso quadro de saúde da lona. Então aqui você pode ver que temos esse gradiente. E se clicarmos nele, assim como fizemos com a chama do foguete agora podemos mudar a cor da barra de saúde
dos foguetes à medida que ela cresce menor ou maior. Então vamos escolher três cores quando nosso foguete estiver em plena saúde vai ser verde. Quando nosso foguete, podemos realmente adicionar um aqui. Então, para adicionar uma vez, deixe-me remover este, basta clicar ou clicar duas vezes abaixo aqui. Você terá a opção sempre que estiver no meio vai ser amarelo. E quando chegamos a 0 ou não, 0 na verdade eram muito para baixo na saúde. Vai ser vermelho. Ok, isso não funcionou. Novamente, cor vermelha. Agora está vermelho. E agora aqui temos uma opção para que ele seja contundente para que possa ser as cores misturadas tudo o que temos a opção de,
para que eles sejam corrigidos. Agora vamos mudar isso e podemos escolher a porcentagem de quanto ele precisa. Vamos colocar para 33.3. Vamos colocar este para 66,6 e este será em 100. Então, agora deixe-me voltar. Vamos guardar isso. Então, agora, sempre que atingimos um obstáculo, quanto mais atingimos esse nível mais baixo, nossa saúde fica, a cor da nossa barra de saúde mudará. Então vamos para o nosso script aqui, e vamos implementar isso. Agora. Vamos para a nossa saúde máxima. E dentro daqui, vamos definir gradiente de taxa. E a maneira como fazemos isso, e vamos definir esse gradiente e a saúde máxima, então ele começa com uma certa cor. Então aqui vamos colocar o gradiente e
vamos usar um método que é chamado de avaliar. E isso realmente calcula a cor em um determinado momento. Então isso nos dá a opção de escolher entre aqui mesmo se você pode lê-lo tempo, ou ele escolhe entre 01. Então, quando pressionamos o 1F, isso vai ser verde ou verde como em verde. Porque quando F representa Verde, Não, é um F, B. Verde porque o, no final, no máximo de saúde, é um. E então, à medida que descermos, vai mudar de cor. E isso só vai definir a barra no seu máximo de Saúde. Agora precisamos torná-lo mais dinâmico. Então, à medida que perdemos a saúde, mudamos a cor. A primeira coisa que precisamos é de uma referência à nossa imagem. Então vai ser uma imagem pública. É um tipo de imagem e vai ser o nosso filme. E em valor máximo vamos usar esta cor de ponto de filme. E vai ser igual a isso aqui mesmo. Então vamos em frente e cortar isso, colá-lo aqui. E vamos remover o espaço para torná-lo mais limpo. Então, agora a cor de preenchimento ou a imagem do nosso preenchimento, sua cor será baseada no gradiente que lhe demos. Agora isto não é o fim. Precisamos atualizá-lo toda vez que somos atingidos. Então vamos fazer isso em vez disso dentro do valor definido. Então saímos da imagem de preenchimento, acessaremos a cor nela e vamos usar o ponto de gradiente, ponto avaliar. E aqui vamos dar-lhe o valor. Então vamos dar-lhe o valor do controle deslizante atual. Então vamos acessar o controle deslizante de saúde e vamos adicionar
a ele algo que é o valor normalizado. Agora, por que estamos usando esse valor normalizado? Isso é realmente colocar um comentário ao lado dele. Porque às vezes podemos esquecer que o valor normalizado é usado para manter o valor entre 01. Então, como você viu aqui e a avaliação, o único valor que podemos dar pode ser entre 01. E porque aqui o valor dos controles deslizantes de saúde vai realmente ser baseado na saúde. E a saúde pode ser 100203711. Então precisamos normalizá-lo para mantê-lo entre 01. E isso criará automaticamente um valor baseado no que lhe dermos e o colocará entre 01. Certo, ótimo, vamos guardar isso e vamos testar e ganhar. Então agora quando clicamos no jogo ou antes de fazer isso, precisamos dar o arquivo aqui. Então vamos em frente e arrastar o campo para as imagens para esquecermos, nós salvamos isso. Agora clicamos no jogo. E agora temos uma barra de saúde verde. Quando batemos numa parede, é verde, é amarelo. Novamente, é amarelo, e agora é vermelho. E nós explodimos. Muito agradável. Agora temos uma barra de saúde dinâmica. A próxima coisa que vamos fazer é, bem antes da próxima coisa que vamos fazer, você terá duas opções. Primeiro de tudo, deixe-me clicar no jogo e mostrar-lhe o que quero dizer. Então, primeiro de tudo, você pode pegar esta barra de saúde bem aqui e colocá-la ao lado ou na tela. Então é estática, não se move. Ou deixe-me mostrar-lhe, deixe-me clicar duas vezes na barra de saúde. E vamos colocar, onde está? Coloque a barra de saúde aqui em cima. Então agora teremos a barra saudável aqui quando clicarmos no jogo. Você pode ver que nossa barra de saúde está ao lado do nosso foguete. Você pode torná-lo menor ou maior. Baseia-se na sua preferência. Então, ou a outra opção é realmente anexar esta barra de saúde ao nosso foguete. Então, o que eu quero dizer com isso? Quero dizer que sempre que nosso foguete se mover, então deixe-me ir até o foguete, clique duas vezes no corpo. E o que eu quero dizer é que eu quero colocar a saúde, mas, por exemplo, aqui. E à medida que o nosso foguete se move, esta barra de saúde vai ficar com o nosso foguete enquanto nos movemos. Agora, isso é inteiramente baseado na preferência. Se você quiser mantê-lo estático, tudo que você precisa fazer é colocá-lo lá em cima, como você pode ver na tela maciça que temos, basta colocá-lo lá em cima e ele vai funcionar perfeitamente bem. Mas para aqueles de vocês que querem torná-lo uma barra de saúde dinâmica, então ele caminha conosco onde quer que vamos. Farei isso também. Então clique duas vezes no Kevin de novo. Agora o que precisamos fazer é anexar esta tela ao nosso player. Então vamos, eu estou em nossos foguetes, então vamos colocá-lo sob o chip de rock. Então agora nossa tela se move com nossa rocha. E antes de seguirmos em frente, deixe-me tirar isso. Antes disso, eu quero realmente preferir esta tela bem aqui. E vamos chamar isso de
tela da barra de saúde e vai preferir pouco para que possamos adicioná-lo onde quisermos ou removê-lo se precisarmos. Então agora temos isso aqui embaixo, e vamos colocar isso sob o foguete e aplicar isso ao RACI. Ok, ótimo. Então agora temos uma metade comprada no nosso chip de rock que se move com o nosso foguete. A próxima coisa que vamos fazer é reduzir a nossa tela. Então este é o nosso Canvas atualmente, enquanto que assim metade do parque lona. E precisamos diminuir a escala. Mas, como pode ver, não nos permite. Por que é isso? Bem, porque atualmente nossa tela está no espaço da tela. Então clique sobre isso e nós torná-lo espaço mundial. E agora podemos mudar o que quisermos. Queremos mudar a escala. Então, antes de fazermos isso, deixe-me colocar isso aqui. Então é 0 e qual posição 0. E agora voltamos para a nossa tela. E aqui vamos mudar a escala no X2, 0,01, e no y para 0,01. Então agora temos uma pequena, minúscula,
minúscula , minúscula tela com uma pequena barra de saúde. E vamos em frente e colocá-lo. Vamos movê-lo para o nosso foguete. Então, vamos descer. E vamos tentar centrá-lo no nosso foguete. Agora temos ao lado do foguete. Muito agradável. Como podem ver agora, a tela é muito menor e está ao lado do foguete. A próxima coisa que queremos fazer é encaixar as âncoras no centro e redimensionar a tela. Então aqui temos a barra de saúde. Vamos redimensionar a tela para que ela se encaixe exatamente na barra de saúde. Clique no chá e segure um dos cantos, mantenha pressionada a tecla Alt, e você pode dimensionar até o tamanho que você deseja. Então vamos, oops, vamos ampliar um pouco. E vamos dimensioná-lo para que ele se encaixe exatamente como nossa barra de saúde. E vamos pegar a barra de saúde bem aqui. E está ancorado no centro, o que é bom para nós. A próxima coisa que queremos é mover esta tela ou toda a tela. Então vamos movê-lo e vamos girá-lo. Então gire, talvez desta forma ou daquela maneira. Nem sequer tenho a certeza. Vamos girá-lo desta forma. Então 90 graus. E vamos colocá-lo um pouco mais perto do nosso foguete. Nós também podemos torná-lo ainda mais pequeno. Então vamos pegar a tela e clicar no T. Oops, não, não quero mudar a equipe de nomes. E vamos torná-lo um pouco menor. E agora nós clicamos na barra de saúde e entramos na âncora pressionada Alt, clique sobre isso e ele vai caber nossa tela aqui para que você possa torná-la tão pequena ou tão grande quanto você quiser. Talvez torná-lo um pouco menor. Eletron, por enquanto, nós o temos tão bom quanto quisermos. Então vamos salvar isso e vamos ver o que vai acontecer se clicarmos no jogo. Temos um pequeno conselho de saúde que nos segue. Agora, quando batemos numa parede, ainda funciona. Ainda funciona. Está sempre connosco onde quer que vamos outra vez, outra vez e explodimos à medida que a nossa barra de saúde está a 0 lá. Todo mundo legal. Espero que tenha gostado disso. E a seção de polimento que vamos realmente fazer esta saúde comprada desaparecer. Então nem sempre, nem sempre está lá e na nossa cara. Então, sempre que
batermos em algo, faremos essa pequena tela desaparecer e reaparecer somente quando for necessário. Mas até lá, vejo-te no próximo vídeo. A propósito, não há desafio. Então aproveite sua liberdade.
35. Adição de câmera Shaky: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, nós realmente implementamos uma câmera instável. Então, sempre que atingimos um obstáculo uma, duas, três vezes, quatro vezes, e quando o obstáculo é atingido pela quinta vez, agitamos nossa câmera enquanto explodimos, e a agitação pára quando reiniciamos nosso jogo. Então não vamos perder mais tempo. Vamos começar. Oh, ok. Então agite a gam. Por que precisamos de um shake gam? Primeiro de tudo? Bem, queremos acrescentar, queremos fazer nossa câmera tremer. Sempre que exploramos, vamos adicionar um pouco mais de intensidade ao órgão e um pouco mais de sabor. Portanto, há muitas maneiras de alcançar a cam para o nosso jogo. Primeiro de tudo, podemos criar um roteiro e fazer um deslocamento e sacudir nosso acampamento enquanto ele explode. Esta é uma forma de o fazer. De outra forma de fazê-lo é que podemos realmente encontrar na loja de ativos uma cam instável, que também é uma boa idéia. Mas o que vamos usar e é a melhor maneira de fazer com ele vai ser usando nossa câmera, rock chip follow cam, ou nossa câmera virtual. Por que é isso? Bem, porque já vimos máquina e é bom tê-lo para usar o que já temos. Uma ferramenta muito poderosa. Aqui. Temos algo sob o corpo que
usamos para mudar o amortecimento no y e no x. Também
temos algo chamado o ruído e está atualmente no non. Então, vamos clicar nisso. Temos outra opção que é o básico multicanal permanente. Então, vamos clicar nisso. Agora temos um monte de, não muito, mas um par de opções aqui. E um deles é denoise perfil e é necessário. Então vamos ver o que temos aqui. Temos muitas opções, mas a que usaremos é a forma 6D. Honestamente, eu não tenho certeza do que tudo isso é. Eu nunca os usei. Eu usei o 60 shake usu normalmente. Então agora temos duas opções aqui, que são frequência e amplitude. E se entrarmos em Alkane e clicarmos no jogo para que eu possa demonstrar como esses dois funcionam. Como podem ver, nossa câmera instável já está funcionando. E se aumentarmos a amplitude para ficar um pouco, podemos ver que o tremor aumenta e se aumentarmos a frequência, a agitação será mais frequente. Agora, mantenham seus lugares, senhoras e senhores, porque quando aumentamos muito a amplitude, obtemos resultados loucos. Ok, então vamos abaixar isso para um. Coloque isso para um, ou até mesmo 20 é uma boa idéia. Vamos voltar do nosso modo de jogo e vamos em frente e implementar a agitação usando alguns scripts. Então vamos minimizar o ruído. Vamos colocar para baixo a máquina máquina pecadora câmera virtual, e vamos em frente e adicionar um componente que será o script de cam forma. Então vamos criar um novo script, criar e adicionar vai esperar por ele para compilar. E devemos, a qualquer momento, ter dentro de nossos ativos aqui está, a forma Camp. Coloque-o dentro do guião. Ok, pare de fazer isso. Vive dentro de roteiros. Clique duas vezes na câmera de forma, e agora temos um acampamento de tremores. A primeira coisa que precisamos fazer é criar um namespace. E esse namespace será para nossa máquina de pecado para que possamos acessar. O barulho e tudo isso. E a próxima coisa que fazemos é precisamos de uma referência. Os grupos precisarão de uma referência à nossa câmera virtual. Agora, eu tenho que avisá-los antes de começarmos neste vídeo, vai
haver um monte de palavras longas. Eles não são assustadores, eles são apenas muito longos e irritantes. Então é máquina de cinema. Máquina de cinema, câmeras virtuais em algum lugar. Não, não está aqui. Máquina de cinema, câmera virtual. Então agora temos uma variável que é toda câmera virtual e vai
ser minha câmera virtual. Ótima. E aqui dentro, dentro do começo, vamos usar minha câmera virtual. E nós vamos obter o componente que está presente, que é do tipo. Vamos copiar isso, colocá-lo aqui, que é do tipo câmera virtual. Ótimo, então agora temos acesso à nossa câmera virtual. A próxima coisa que precisamos é criar uma função que agite nossa câmera. Então, vamos remover a atualização por enquanto. Se precisarmos, voltaremos a ele. E aqui vamos criar um público porque ele precisará ser acessado a partir de outro script, que é o rock chip. Tão vazio público, sacudir, Cameron. E aqui estamos indo para primeiro de tudo obter uma referência ou um acesso ao ruído que está em nossa câmera virtual. Então aqui vêm as palavras longas. O ruído é do tipo cinema Xin, básico multicanal permanente. Agora você pode estar se perguntando de onde vem esse nome de variável inteiro. Bem, se voltarmos e aqui, se clicarmos em nossa câmera de foguete, podemos ver que aqui embaixo temos o barulho e é um perlin multicanal básico. Então isso é o que somos XY. Então vamos voltar ao nosso guião e daremos o nome a isto. Nosso barulho. E o ruído será igual ao meu ponto de câmera virtual, mas não usará o componente get, na verdade
estará usando o get sin um componente de máquina. E este não é um componente de máquina vai ser o nosso cinema cine, perigo
básico multicanal. Ok, ótimo. Agora que temos acesso ao ruído, precisamos acessar a amplitude que está no ruído. Assim, o ruído será igual ou a amplitude do ponto de ruído. Para acessar a amplitude usamos M. E é o ganho de amplitude sublinhado. E vai ser igual à intensidade. E qual é essa intensidade? Bem, nós vamos criar uma variável para que ele apareça, e é um campo serializado do tipo flutuante. E vamos copiar esta variável aqui, e é a intensidade e vamos inicializá-la. Acho que cinco é um bom número. Então, vamos guardar isso. E agora precisamos chamá-lo do nosso foguete sempre que explodirmos. E na verdade faz parte do seu desafio. E o teu desafio será chamar o método da câmara de tremer. Então, a primeira coisa que você precisa fazer é criar, criar o script de cam forma. Em segundo lugar, você precisará anexá-lo a uma câmera virtual. Então, se você já fez aqueles, precisa ter certeza de que a câmera é pública. E você vai precisar chamá-lo no lugar apropriado no script rock chip. Pause o vídeo agora mesmo e vá chamar sua câmera em forma. Oh, ok, bem-vindo de volta. Como você se saiu com isso? Vamos para o nosso foguete. E para onde devemos chamar nossa câmera Shake? Bem, como eu disse, iríamos chamá-lo sempre que
começássemos uma rotina de morte ou quando explorássemos. Isso significa sempre que começamos uma rotina de banho. Então, vamos chamá-lo aqui mesmo. Então vamos em frente e chamá-lo. Sempre que exploramos antes de redefinir o jogo e depois que jogamos o pequeno som de explosão, Vamos encontrar um objeto do tipo. Vai ser um abalado. Então, modelar a câmera. E vamos acessar esses métodos de câmera de vibração. Então agora devemos ser capazes de tremer sempre que
batemos ou quando exploramos depois de acertar um obstáculo. Um monte de tempo. Então vamos limpar tudo isso. Estes são avisos, eles não são nada sério. Vamos salvar o Inspetor ou a hierarquia, e vamos jogar nosso jogo e ver se explodimos. Então, atingimos o obstáculo uma, duas, três vezes, e como podem ver, temos uma câmera trêmula até reiniciarmos nossa posição. Então nossa câmera treme intensamente. Então, se você quiser mudar isso, você pode realmente aumentar a freqüência ou você pode, por exemplo, fazer a freqüência três e aumentar a intensidade para dez. E vamos ver como isso parece. Então, clicamos no jogo. Nós batemos na parede e isso é um, eu acho que é um pouco demais. Então vá em frente e brinque com isso, certifique-se de que é do seu agrado. Então, duas frequências, vamos ver se isso é bom o suficiente. Então voamos. Muito bem, muito, nada. Mas, de qualquer forma, vamos tentar configurar para mais tarde. Então você configurou sozinho, Veja como você quer sua câmera de forma, quanto você quer sua câmera tremer. E vejo-te no próximo vídeo.
36. SEÇÃO 6: conceção de NÍVEL AVANÇada: Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Como você pode ver, criamos algo chamado controlador animador e animação. E quando clicamos no jogo, nosso foguete agora precisa se mover através de um nível que tem obstáculos em movimento. Então vamos tentar fazer isso. Whoa, isso foi muito incrível. Agora, no nível três, ainda não
adicionamos a câmera de acompanhamento, mas você pode ver que também podemos adicionar rotações aos nossos obstáculos, por favor. Ok, isso foi fácil. E chegaremos à pista de aterragem no nível um. Espero que tenham gostado deste vídeo. Estamos começando a animar nossos obstáculos. Estamos começando a criar avançado. Então não vamos perder mais tempo e começar. Está na hora de animar os nossos obstáculos. Primeira coisa, vamos para o nosso nível dois aqui. E é aqui que vamos animar um de nossos obstáculos, ou podemos fazê-lo no nível três. Vamos fazê-lo no nível três. Ok, ótimo. Então, o que precisamos para animar nossos obstáculos? Agora, há duas maneiras de lidar com isso. Em primeiro lugar, podemos criar um roteiro para um obstáculo. E com base nesse script, mova-o na atualização para cima e para baixo, escolha uma posição e assim por diante e assim por diante. Mas vamos usar uma maneira mais, vamos chamá-lo de maneira moderna de mover nosso obstáculo. Então, vamos fazer a primeira coisa. Vamos pegar esse obstáculo aqui e derrubá-lo um pouco. E vamos torná-lo um pouco menor nesta direção. Então não ocupa muito espaço e ainda podemos sair dele. E vamos mover este um pouco para cima. Então, o que mais podemos mudar? Quero torná-lo um pouco mais fino. Então vamos torná-lo mais fino e realmente torná-lo um pouco menor. Então, o que queremos? Bem, vamos redefinir as rotações ao redor. E o que eu quero é realmente animado e ordem,
então, para que ele gire assim, Oh, isso está ficando muito mais amarelo. Então nós queremos girar ou obstáculo assim. E como vamos fazer isso? Precisamos de um animador e de uma animação. O que são estes? Bem, deixe-me explicar a animação 101. Primeiro de tudo, controlador animador permite que você organize e mantenha esses conjuntos de clipes de animação. Então, se tivermos várias animações em um controlador animador, podemos organizá-las e mantê-las e verificar 40 posições e como elas fazem a transição entre si usando o controlador animador agora não estará indo muito fundo em nosso controlador animador neste curso porque não é muito necessário. Nós usá-lo em um curso anterior que eu fiz na conquista castelo componente animador
2D é usado para atribuir animações para objetos de jogo em nossa cena. Então, se quisermos animar qualquer coisa, precisamos adicionar um componente Animator a ele. E finalmente, temos as animações e em várias posições e emitem uma após a outra. Então. Somente posições que podemos realmente animar sprites. Podemos animar escalas, podemos animar a rotação. Então não só posicionado fim de semana animar uma tonelada de coisas. Então vamos começar a primeira coisa que precisamos fazer é precisamos adicionar um componente que é o, o que é chamado como o animador. Então, adicionamos um componente Animator, e aqui você pode ver que ele precisa de um controlador. Então vamos dar isso em nosso projeto bem aqui e ativos. Vamos em frente e criar uma pasta que vai ser animações. Então agora temos pasta de animações. E aqui podemos realmente ir em frente e criar. Onde está um controlador de animador. E nós vamos nomear este obstáculo d por enquanto, será claro que será criar um controlador animador para cada obstáculo que temos. Então, vamos precisar criar pastas com base em níveis. Mas de qualquer forma, agora que temos o controlador animador de obstáculos, podemos simplesmente arrastá-lo para o obstáculo que queremos animar. E como você pode ver agora ele tem um controlador que é o obstáculo. A próxima coisa que vamos fazer é entrar pela janela bem aqui. E vamos descer até encontrarmos as animações. E vamos abrir animações. E vamos colocá-lo bem aqui ao lado do console. E agora podemos animar o que quisermos. Como podem ver aqui, se escolhermos a plataforma de aterragem, se pudermos escolher a plataforma de aterragem, escolhemos a plataforma de aterragem. Ele nos diz para começar a animar a plataforma de aterrissagem, criar um Animator e clipe de animação. Então, quando clicamos em criar, criamos imediatamente um animador terminou animação. Agora isso pode ser um pequeno problema. Então vamos em frente e criar. Isso não nos diz que precisamos criar um animador simplesmente nos diz criar um clipe de animação. Então vamos coletar OnCreate. Ele vai perguntar-lhe, onde você quer criar? Dois? Vamos em frente e nomear isso. Que nome devemos dar a isto? Obstáculo? Estação de rolo de rotação. Guarde isso. Ok, ótimo. Então, se entrarmos no projeto, podemos ver que temos rotação de obstáculos e no obstáculo, também
podemos ir em frente e animação e o Animador, e você pode ver aqui que este é o nosso animador que mantém toda a nossa animação. E desde a entrada, assim que entrarmos no jogo, imediatamente a transição será feita. E essas setas são as transições serão feitas para a rotação de obstáculos, que é exatamente aqui, a animação que criamos. Muito agradável. Vamos voltar para a animação. Vamos colocar de volta em vista. Vamos clicar no objeto que queremos animar. E vamos começar a animar. Como animamos? Bem, é um processo muito simples. Em primeiro lugar, você precisará ir em frente e clicar neste botão vermelho, e isso começará a rastrear o movimento que você deseja criar. Então, primeiro de tudo, vamos mover isso só um pouquinho. E como você pode ver, assim que nos movemos ele imediatamente gira e cria esses dois bem aqui. E estes são os movimentos que são feitos no início da nossa animação. Agora, se você quiser animar, vamos ver. Aqui temos a linha do tempo. Então, quando chegarmos a 1-0-0, este é um segundo. Se aumentarmos a escala ou diminuirmos a escala, isso é dois segundos, estes são três segundos. E se continuarmos diminuindo, podemos ver que temos a escala aqui. E cada um destes são, por exemplo, isto é trinta segundos ou quero dizer, 2,5. Este é um segundo. E o que eu quero é que eu quero, sempre que chegarmos a 1 segundo, eu quero girar isso até que ele se torne essa rotação é muito ruim. Vamos redefinir isso. E eu quero aumentar essa rotação. Não, não desse jeito. Mais uma vez, eu quero aumentar essa rotação adicionar dessa maneira até que ele chegue a menos 90. E vamos em frente e criar um menos 90 aqui. Então agora podemos realmente reproduzir esta animação. Então, clicamos no jogo. Você pode ver o quão rápido esta animação está indo aqui nós temos aquele botão Play. Agora, uma boa regra de ouro é que sempre que terminamos nossa animação, ela deve ser exatamente a mesma que as últimas posições devem ser as mesmas que as primeiras 40 posições iniciais no segundo número dois, queremos que nosso bloco esteja em, whoops queremos que nosso blog seja em torno de um, menos1, 80. Então menos 1 AT, vamos ver como isso parece quando clicamos no jogo. Então ele gira. Há um pequeno idiota, mas parece bom o suficiente. Então, se você quiser salvar essa animação, basta clicar aqui. E agora temos uma animação no nosso obstáculo. Vamos testar o nosso nível e ver como isso parece. Então, clicamos no jogo. E agora nós temos, e nós esquecemos de adicionar a câmera de acompanhamento a este foguete. Mas como podem ver agora temos um obstáculo rotativo. Agora não é recomendado que entremos nele, mas se tocarmos nele, você pode ver que ele remove muita saúde e nós realmente explodimos se desvanecermos. Então, boom. E não é redefinir porque nós temos um, nós esquecemos de adicionar algo em algum lugar neste nível, vamos certificar-se de corrigir isso mais tarde, pode realmente clicar duas vezes nesta seta aqui. E você pode ver que ele está tentando encontrar a câmera de forma, mas não há abalado. É por isso que não conseguimos redefinir o nosso ganho. Mas de qualquer forma, o conceito aqui é que nossas animações realmente funcionam. Então agora que você sabe como podemos animar as coisas, sinta-se livre para tentar animar não só rotações, mas tentar pensar fora da caixa podem ser inimigos, alguma escala, talvez animar posições. Tudo pode ser animado e nossas animações, e na verdade faz parte do seu desafio. Então seu desafio é animar seus obstáculos em um animador para os obstáculos que você quer mover. Familiarize-se com a animação dos seus obstáculos e crie alguns obstáculos em movimento no seu jogo. Então pausar o vídeo agora mesmo e ir e divirta-se com animações. Oh, ok, bem-vindo de volta. Então vamos para o nosso nível dois, enquanto nosso nível dois dentro de cenas irá para o nível dois. E o que eu quero fazer, a animação que eu quero fazer é mover esta plataforma para cima e para baixo enquanto estamos tentando voar sob ela, que irá adicionar uma tonelada de desafio a ela. Então vamos em frente e adicionar um animador. Então animador, vamos para o nosso projeto e este erro aqui, vamos simplesmente esclarecer isso por enquanto. É assim que resolves os teus problemas. Simplesmente limpe todos eles. Então crie uma pasta. Este será o nível três. E vamos colocar estes dois no nível três. Vamos em frente e criar um nível dois. Então, nível dois. E aqui estamos indo para criar um animador, então controlador animador. E vai ser chamado de obstáculo, simplesmente. Então obstáculo. E clique com o botão direito do mouse ou não clique com
o botão direito realmente ir para o escolher o obstáculo que você deseja Clique em animações, vá cabeça e crie. E isso é simplesmente chamar isso de tradução, então transladação. Guarde isso. E agora dentro do Project temos traduzindo e realmente criamos um, outro animador para
nós, não vamos usar isso. Vamos deletar. Vamos manter este obstáculo, um animador e adicionar uma tradução a ele. Este é um bom exercício para nós. Legal. Então agora volta e cenas, vamos escolher o nosso obstáculo que, e ele está faltando um controlador. Então vamos dar a ele o controlador de obstáculos bem aqui. E agora podemos realmente ir para a animação e começar a se mover. Então vamos fazer a posição inicial bem aqui. Vamos clicar no botão vermelho. Vai balançar só um pouco. Então agora temos a posição inicial na marca de 1 segundo. Então vamos para a marca de 1 segundo, e quero que seja por aqui. Certo, então isso não é justo. Mas esta é a intenção do jogo. E então, nos dois segundos, podemos simplesmente copiar a posição e colado no final. Então, agora, se clicarmos no jogo, podemos ver o movimento do nosso obstáculo é muito bom. Então, vamos clicar de volta no botão vermelho. Vamos parar de brincar. Vamos salvar isso e nossa hierarquia. E vamos clicar no jogo e ver se podemos realmente ser o nível. Então, a primeira coisa que notei é que precisamos diminuir. Por favor, pare. Não, não, não. Ok. Ok. Ok. Ok. Ok. Bom, bom, bom, bom, bom, bom, bom, bom. E isso não funcionou. Ok, pelo menos o nosso jogo agora é muito mais difícil. Mas o que eu notei é que nós precisamos realmente aumentar a profundidade de campo de nossa câmera. Considerando que, então vamos precisar mover isso um pouco. Onde está nossa profundidade de campo? Vamos para a câmera e é muito perto. Isso é colocá-lo em cerca de 80 ou 90. Ok, isso parece promissor. Vamos guardar isso. Ok, ótimo. Então agora temos os nossos obstáculos em movimento. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
37. Iluminar as cenas: Bem-vindo de volta meus colegas desenvolvedores de jogos para um novo vídeo e como você pode ver, são vistos como não tão brilhante como era. Se clicarmos no nível um é o mesmo. Na verdade, temos algum tipo de monstro verde lá dentro. E o nível três é mais fraco do que era, mas vamos mudar isso. Então vamos para a iluminação, gera um pouco de luz e é normal novamente. Então este vídeo é tudo sobre iluminar nossa cena e como brincar com diferentes tipos de iluminação. Então coloque suas tampas de iluminação e vamos começar. Oh, ok, então vamos falar sobre iluminar nossa See. Primeiro de tudo, temos este nível um que parece estar bem iluminado e brilhante. Mas se formos para o nível dois, você pode ver que é muito mais escuro e o nível três também é muito escuro. Agora, qual é a diferença entre eles? Bem, nós temos a luz direcional bem aqui onde podemos manipular a intensidade para que possamos fazer a cena ou aumentar a intensidade da luz ou da luz. Temos 0,8 se você for para o nível dois. Então vamos guardar isso. E luz direcional. Nós também temos a intensidade e 0,8 e precisamos aumentá-la muito. Agora você pode estar pensando, Por que é a mesma intensidade em ambos os níveis, mas cada um tem sua própria intensidade de luz. Bem, porque temos algo que é chamado de configurações de iluminação, que são muito complicadas. Aqui temos a janela para isso. Falei ao lado do inspetor. Se você não precisa ir para a renderização de janelas e clicar na iluminação, você receberá esta opção aqui. E aqui você pode ver que temos iluminação para a cena, para o ambiente e diferentes opções. Agora, a coisa com Unity e por que é diferente, porque para economizar um pouco de informação, dados ou espaço, unidade geralmente não faz a luz. E o que assar a luz significa que ela realmente calcula como a luz vai passar de nossa luz direcional para nossos objetos e como ela vai saltar fora deles e criar todas as sombras diferentes e assim por diante. Então, a fim de ter uma boa iluminação, você precisa realmente gerar essa iluminação bem aqui. Agora alguns de vocês podem ter a geração automática, então desligue isso e gere manualmente a iluminação. Agora eu gerei a iluminação para o Nível 2. Nível um, quero dizer, para o nível dois, vamos em frente, gerar a iluminação e ver se alguma coisa muda. Então vai gerar prazer. E isso muda. Portanto, eles não são as mesmas configurações exatas de iluminação. E se você notou, nós temos um arquivo bem aqui que é nível dois agora. E se clicar duas vezes sobre ele, isso é encantador dados e as reflexões que temos sobre nossos objetos. Então, agora que temos uma melhor compreensão, ou um pouco melhor compreensão da iluminação, vamos em frente e começar a manipular isso. Então a primeira coisa que vamos fazer é ir para o nível um. Então, onde estão as nossas cenas? Nível um, e aqui vamos brincar. Mas com a iluminação. Agora vamos para a direção da luz e o inspetor, devemos vê-lo. Certifique-se de alternar entre, se você estiver escolhendo um dos objetos em nossa hierarquia, certifique-se de que o inspetor não está satisfeito, caso contrário ele não será exibido. Então, no Inspetor, vamos em frente e diminuir a intensidade. Então agora podemos diminuir o multiplicador de intensidade e diminuir a intensidade multiplicada do ambiente e das reflexões. Então agora tudo está escuro. Agora, o que devemos fazer sobre isso? Vamos clicar com o botão direito do mouse e nossa hierarquia e criar luz. Para que possamos adicionar diferentes tipos de luz. Podemos adicionar ponto direcional,
ponto como luz de área de holofotes. Prós de reflexão não vai se preocupar com, como pensamos que vai usar por agora a luz do ponto. Então temos nossa luz pontual, vamos redefinir sua posição. E como você pode ver, há uma linha fraca bem aqui. E nós podemos realmente exatamente como fazemos com a direção da luz, nós também podemos manipular o alcance, por exemplo. Então isso aumenta o alcance. Como você pode ver, mais coisas estão ficando iluminadas. Podemos aumentar a intensidade. Então, se você aumentar a intensidade, você pode ver que agora é muito mais brilhante. Também podemos mudar as cores. Então, por enquanto, é completamente branco. Vamos torná-lo, por exemplo, verde. Então agora, como você pode ver, nosso nível parece algum tipo de planeta Hulk, que é realmente bom, e algo diferente da direção da luz, nós também podemos adicionar algo chamado um holofote. Então vamos redefinir sua posição. E agora temos um Spotlight. Vamos girá-lo menos ou menos 90 graus, 90 graus para baixo. Agora, está olhando para baixo. E vamos em frente e aumentar o angular, mas aumentar o alcance. E agora podemos ver lentamente que temos um holofote em nossa plataforma de pouso. Então temos uma luz pontual bem aqui. Temos critérios de destaque. Vamos tentar jogar o jogo e ver como isso parece. Então, como você pode ver, nosso nível parece muito mais interessante agora. Ainda podemos ver as fronteiras e chegar à pista de aterragem. Agora vamos para o nível dois e é perfeitamente deixar, sem problemas. Então vamos tentar ir para o nível três. Vamos clicar no botão Salvar. É por isso que usamos chaves de depuração precisamente para momentos como este. E então nível três. Então é por isso que precisamos pressionar a tecla C, certo? Agora vamos para o nível três. E porque não geramos nenhuma luz, que ainda parece muito mais escura. Agora que temos uma compreensão de como as luzes funcionam, acho que é hora do seu desafio. E seu desafio será desligar, desligar
as luzes. Portanto, reduza o multiplicador de intensidade e torne uma de suas cenas mais escura, assim como fizemos em alguns vôos ao redor de sua cena para guiar seu jogador. E uma pequena dica que eu queria te dar, se você quiser experimentar isso. Adicione uma fonte de luz ao seu foguete para que você possa adicionar um holofote no nariz do seu foguete para que ele não possa olhar ao redor dos obstáculos
ou, ou você pode adicionar um holofote que brilha em seus foguetes ligados ao foguete quando criança e ele vai Mexa-se com o foguete. Então vá em frente, pausar o vídeo e vá se divertir com luzes. Oh, ok, bem-vindo de volta. Então, o que queremos fazer? Esta luz verde é realmente muito agradável. Eu gosto disso. Então, o que devemos fazer sobre isso? Vamos simplesmente, eu acho, anexá-lo ao nosso foguete. Legal. Agora temos a luz ligada ao nosso foguete. Vamos ver como isso parece. Agora podemos nos mover e a luz se move com nosso foguete. Muito agradável. Isso é muito legal. Então vamos tentar em um nível dois e ver o que acontece lá. Sim, guarde isso. E no nível dois, vamos para a luz direcional. Vamos limitar. Isto é realmente muito divertido. Você pode adicionar muita criatividade ao seu nível quando você faz isso, vamos para o ambiente de iluminação. Recusei a iluminação ambiental, diminua a flexão ambiental. E agora, se clicarmos no jogo, ainda
podemos ver as sombras, mas não podemos realmente ver nada no nosso, e é óbvio que podemos ver qualquer coisa. Então vamos adicionar um pouco de luz sobre ele. Então, vamos clicar com o botão direito do mouse e vamos adicionar uma luz e isso será o foco, talvez um holofote ou uma luz de área. Sem aréola. Vamos adicionar uma luz pontual e vamos redefinir sua posição. Então ele volta aqui e coloca aqui em cima. E vamos colocá-lo sobre o obstáculo para que possamos vê-lo. Oops. E vamos aumentar o alcance. Agora, eu vou brincar com isso. Espero que também estejas a brincar com isto porque é muito divertido. Então, adicionamos uma pequena fronteira dos holofotes. Vamos diminuir um pouco o alcance para que mal possamos ver a borda. Ok, isso parece bom, também
vai adicionar uma luz aqui, que será um holofote. Vamos redefinir sua posição. E vamos em frente e colocá-lo no topo do nosso foguete ou não no topo. Na verdade, o que eu quero fazer é adicioná-lo bem aqui. Então vamos colocá-lo para que ele esteja de frente para o foguete. E vamos aumentar o ângulo do ponto um pouco e aumentar a intensidade. E onde está o alcance? Alcance e o alcance de k? Agora parece que o nosso foguete está aceso e queremos colocá-lo aqui e aumentar o ângulo,
mas tudo bem, agora o nosso foguete está aceso. E aumentará ou diminuirá a intensidade e fará com que seja três. Então vamos ver, o que mais devemos fazer? Devemos adicionar os holofotes quando criança ou foguetes ou agora e podemos jogar. Vamos ver como isso parece. Ok, legal. Então agora nos movemos. Nós tentamos atravessar o mundo aqui é um pouco escuro demais. Ainda podemos adicionar algumas luzes. E o que mais eu quero fazer? Eu queria ir para as proteínas do meu foguete. Então pessoal, estou me divertindo. Você também deve estar fazendo isso ou algo que semelhante Ir para ganhar, que é maior desordem. Então vamos fazer 100. Opa, 100. Se isso voltar à nossa cena, o que mais deveríamos acrescentar? Vamos adicionar uma luz, um holofote, e vamos adicioná-la. Vamos redefinir a posição em quatro. Ok, então aqui em cima, vamos abaixar. Então é 19. E a maneira que você precisa pensar é que você
já não sabe o que vai acontecer em sua vida, você está realmente tentando criar mistério. Então não temos certeza onde está Dilantin, mas será que estamos nos movendo através de obstáculos. Não sabemos o que era a pista de aterragem. Então o que eu quero fazer é adicionar um holofote a ele. E vamos aumentar o alcance. Muito, aumenta o ângulo, aumenta a intensidade. E vamos adicioná-lo parecer como ser girado. Então vai girá-lo, vai movê-lo um pouco para cima. Aumentaremos a intensidade ou o alcance. Então o alcance, ok, legal. Então agora temos esse tipo de jogo leve no nosso jogo. Então, em primeiro lugar, temos a luz apontando diretamente para o nosso foguete enquanto nos movemos. Temos a pequena luz pontual bem aqui, o que indica que há um obstáculo em movimento. E temos um holofote em nossa plataforma de pouso que nos permite saber para onde estamos indo. Então vamos tentar isso, salvar isso, vamos clicar no jogo e ver se isso parece bom. Então nosso foguete se move, nós vemos, oh meu Deus, há um obstáculo. Então vamos tentar ficar debaixo dela. Não precisa adicionar mais impulso. Depois há a plataforma de pouso. Bom, jogo legal. Eu realmente gostei deste nível. Você também pode brincar com a luz em um ambiente onde não há câmeras de acompanhamento. Então, pessoal, espero que tenham gostado deste vídeo. Espero não ter incomodado você dar tempo enquanto criava minha pequena cena de iluminação. Só queria te mostrar o agora que isso não é de modo algum todas as possibilidades. Você pode fazer. Muito mais coisas e coisas divertidas. Você pode adicionar talvez a luz ao seu obstáculo enquanto ele está se movendo. Então o obstáculo está se movendo, você pode adicionar luz a ele, ou você pode adicionar luz de uma forma que seu obstáculo realmente blogue luz por um segundo e, em seguida, colocá-lo de volta. Existem infinitas possibilidades que você pode criar. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
38. Criação de momentos de jogos: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, vamos falar de momentos de jogo. Não vamos adicionar nada de novo. Eu só vou te dizer ou realmente ensinar-lhe as coisas que você pode realmente ajustar e
brincar com o seu jogo com o que já
sabemos e temos que fazer níveis muito interessantes. Primeiro de tudo, temos a opção de ajustar nosso foguete. Então vamos pegar o laser. Temos a opção de ajustar a nave foguete para que possamos ajustar a potência de impulso do foguete. Você pode torná-lo grande, mais forte, mais rápido ou mais lento, mais fraco, mais difícil de manobrar. Você pode alterar a velocidade de rotação e direção. Assim, você pode criar níveis, por exemplo, onde a direção de rotação é invertida para que seu jogador precisa se adaptar e superar esse desafio. Você pode mudar a posição da câmera, por exemplo, como eles tentaram mudar a posição das câmeras alguns em alguns níveis que deve ser corrigido em uma determinada posição como fizemos antes. E alguns níveis pode ser uma câmera de acompanhamento que é muito perto e outros em outros níveis,
por exemplo, porque este é um jogo 3D,
você pode, por exemplo, colocar a câmera atrás de seu foguete e criar um nível em torno desse conceito e tentar manobrar o seu foguete nessa posição. A próxima coisa que temos são as variações visuais do nosso Lovell. Podemos mudar os materiais de obstáculo e as cores se tornarem algo que é muito importante. Você precisa pré-fabricar seus obstáculos e, em seguida, você pode ajustar seus obstáculos com base nessa preferência. Então, ou você pode criar um prefab dos obstáculos para cada nível para que você possa, por exemplo, em material de física, fazer o seu obstáculo saltar. E talvez, por exemplo, com muita fricção para seus obstáculos. Ou você pode simplesmente mudar a cor de seus obstáculos e adicionar um campo diferente ao seu nível. Você pode alterar as imagens de fundo. Então, como você viu quando baixamos nosso pacote de fundos, temos muitos fundos com os quais você pode brincar. E antes dos fundos que
usamos porque nosso nariz era bastante preto e não podíamos vê-lo. Agora, com a opção de adicionar luzes, podemos realmente mudar nosso plano de fundo. Também podemos mudar a iluminação em nossa cena. Então, como você viu, simplesmente adicionar um par de luzes muda drasticamente a aparência de nossas cenas e níveis. E, finalmente, você pode adicionar diferentes efeitos de partículas. Então, por exemplo, digamos que você está em um planeta diferente em algum nível, você pode mudar as cores do seu efeito de partícula. Para esse nível específico, você pode alterar as cores da explosão. Você pode, talvez você possa adicionar seu próprio efeito de partícula, por exemplo, o sucesso. Você pode mudar um monte de coisas. Você pode criar efeitos de partículas para simular neve, simular coisas diferentes para o seu nível. Em seguida, temos a variação de nível, e isso é importante porque você pode ter nivelado progressão dificuldade. Agora, nós não levamos isso em consideração. Estamos criando este projeto porque estou aqui para mostrar como as coisas diferentes podem funcionar. Mas isso é muito importante. Você precisa criar seus níveis e, em seguida, jogá-los e ver o que, qual nível é mais difícil do que o próximo. Então precisamos de uma certa dificuldade de progressão. Então seu jogador, enquanto joga seu jogo, ele sente que está se acumulando lentamente e está lentamente, lentamente ficando mais difícil. Você tem a camada de nível. Então, como você viu, criamos um estilo caverna, criamos um estilo aberto. Criamos obstáculos que giram com obstáculos criados que se traduzem. Criamos sobre, sob movimento, que criou o movimento onde o foguete precisa subir. Criamos o movimento onde o foguete precisa espremer entre duas lacunas. Portanto, há muitos, há muitas camadas que você pode fazer com o seu nível. Você tem os obstáculos em movimento que falamos, e você tem os obstáculos rotativos. Também cobrimos que um Abbott. E finalmente você tem a variação de áudio. E isso é muito divertido de brincar. Assim, você pode alterar o impulso do motor principal, por exemplo, em cada nível, ou você pode adicionar, por exemplo, atualizações em seu jogo. Então, sempre que você terminar um certo nível, seu motor principal atualiza e torna-se mais rápido e mais forte e soa realmente muda. Então isso é muito bom para adicionar ao seu nível de progressão. Podemos adicionar música de fundo, como vou mostrar-lhe daqui a pouco. Podemos adicionar ou alterar os sons de explosão e sucesso. Você pode adicionar, por exemplo, o som a sempre que batermos em uma parede, você pode adicionar um som. Há muitas coisas que você pode adicionar um som, por exemplo, para os obstáculos em movimento. Então, quando seus obstáculos, como eles estão se movendo, eles podem fazer um som rangido, por exemplo, que é muito divertido também de fazer. Então o desafio agora, seu desafio é criar alguns momentos. Então, se você não tomou o tempo para criar um terceiro nível ou um quarto nível. Agora é a hora. Vá em frente, crie talvez um, talvez dois níveis. Tente o seu melhor. Use as variações que você aprendeu para criar momentos em seus níveis. Não tenha medo. Isto é puramente para fins divertidos. Quanto mais você faz, mais você começa
a passar pelo movimento que você vai obter,
você vai entrar em um fluxo, vai para o estado de fluxo e você vai começar a ver as coisas de forma diferente. Sua imaginação vai parar, começar a correr selvagem e deixá-lo, deixe sua imaginação correr selvagem. Pense em coisas que você não sabe como criar e tente implementá-las,
encontrar maneiras, encontrar maneiras criativas para elas. Então crie pelo menos três níveis como um aquecimento. No próximo vídeo, vou mostrar em torno de dez níveis que vou criar e confiar em mim, tão divertido de fazer, esta é a melhor parte da criação de jogos. Está fazendo a imaginação de algo em sua cabeça, adicionando criatividade a ele, e então implementando na sua frente. Então, pausar o vídeo agora mesmo, ir para um par de níveis. Deixe sua imaginação correr solta. E eu vou mostrar-lhe um nível que eu adicionei apenas por diversão, onde eu tentei quase tudo e eu vou mostrar-lhe como podemos adicionar música de fundo. Pause o vídeo agora mesmo e vá fazer o desafio. Bem-vindos de volta a todos. Então este é o nível que eu criei. Portanto, não há nada de muito especial. Eu só mudei o. Cores de obstáculos aqui. Então eu adicionei esses obstáculos e a coisa muito importante que eu fiz é que eu prefabbed os obstáculos para este nível. Podemos realmente preferir isso e chamá-lo de obstáculos nível quatro. Mas, por enquanto, vou chamar-lhe os obstáculos. Mudei as cores, então agora temos vermelho e verde. Eu escurei a luz como você pode notar, e eu adicionei 3 luzes, uma para entender onde a plataforma de pouso está, uma sob esses obstáculos móveis e você verá como eles se movem. E um aqui para começar o nível. Eu também adicionei um teto a ele. E vamos verificar este jogo e ver como ele joga. Então, quando clicamos no jogo, como você pode ver, eu também mudei o ângulo da câmera do meu foguete. Agora podemos ver que temos uma ameaça enorme à nossa frente. E, na verdade, eu tentei esse nível muitas vezes e é muito difícil, então vamos em frente. E isso não funcionou. E estamos de volta ao nível um. Vamos tentar isso mais uma vez antes de seguirmos em frente e tentarmos ir. Não, não, não, não, não, não. Está bem. Então, obviamente, isso é um pouco difícil, mas você pode realmente recusar. E do jeito que eu fiz, bem, eu criei animações para nossos obstáculos. Como você pode ver aqui, isso tem uma animação, então quando você placa ele se move para cima e para baixo. Este também tem a animação que se move para cima e para baixo. E eu criei tudo isso dentro do nível de animações para cada um deles tem sua própria animação. Ok, ótimo. Agora vamos falar sobre a música de fundo. Vamos clicar com o botão direito do mouse e criar uma pasta aqui. E chamaremos isso de música. E vamos para os recursos. E eu lhe dei alguns sons ou música. Então este é um, algum tipo de poder defende sobre a verdade. Eu só sei que é divertido, mas para os propósitos deste vídeo será simplesmente usar algum tipo de música. Vamos voltar e ouvi-lo. Clique duas vezes, ouça a música. Vamos ver. Na verdade, é meio divertido. Então, a maneira como você adiciona música de fundo ao seu nível, é simplesmente pegar isso e arrastá-lo para a hierarquia. E agora temos um objeto de jogo bem aqui, que é o tema da Tower Defense. E temos aqui uma fonte de áudio que é criada sozinha e colocou a música. Então, agora, quando entramos em todo o seu nível, ele clica no jogo. Temos que usar o nível de uma hora. Então vamos tentar terminá-lo. Legal, legal, legal, legal. Ok. Isso foi, isso foi um pouco louco. Mas como você pode ver, a música no fundo realmente adiciona uma sensação agradável ao nosso nível. Então eu espero que você tenha gostado deste pequeno vídeo. É um nada que não criamos nada novo. Acabamos de falar sobre como podemos criar coisas novas a partir de todas as coisas que já sabemos. Então, se você ainda não criou seus níveis, vá em frente e divirta-se, aproveite, divirta-se, e vejo você no próximo.
39. Como transformar uma interface: Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, quando coletamos no avião, não
temos mais uma barra de saúde. Então, nós desperdiçamos vídeos muito longos para apenas fazer a nossa vida por nossa desaparecer, mas não tão rápido, porque agora a nossa vida comprado no, aparece sempre que batemos em uma parede e, em seguida, desaparecer lentamente. Então está lá apenas para nos dizer que algo está realmente tirando vidas de nós. E batemos numa parede outra vez, outra vez. Novamente, podemos ver que ele desaparece lentamente até explodirmos. Então neste vídeo nós vamos estar desvanecendo nossa tela. Não queremos que esteja sempre na nossa cara enquanto nos movemos. Queremos aparecer sempre que precisávamos. Então não vamos perder mais tempo nesta longa introdução e vamos começar. Oh, ok, então vamos começar. A primeira coisa que precisamos fazer é ir para o Canvas sob o foguete. Então tela de lascas de rock. E aqui temos um monte de coisas ou um monte de componentes, na verdade, que não nos importamos muito. Mas o que nos importa é adicionar um terceiro ou um quarto componente. Esse vai ser o grupo de lonas. E o que este grupo de lonas nos permite fazer se ampliarmos um pouco o nosso foguete e olharmos para o nosso slide, vamos ver. Como podem ver, esta é a nossa barra de saúde. Vamos apenas ir para o controle deslizante e aumentá-lo um pouco apenas para que possamos ver como ele funciona. Então nós aumentamos. Aqui. Você pode ver que temos uma opção para o alfa. E se diminuirmos esse alfa, você pode ver que nossa tela desaparece. E quando voltamos a aumentar, ela reaparece. Então é aqui que vamos jogar o nosso jogo, ou o que eu quero dizer com “tocar órgão”. Aqui é onde nosso código será focado e ele está criando uma maneira de acessar este alfa e tentou movê-lo de um ou de 0 para um e, em seguida, de volta para 0 novamente. Então a primeira coisa que precisamos fazer é desmarcar todas essas caixas. E vamos para o foguete e aplicaremos tudo isso. Oops. Ativado o Is Kinematic por acidente, então aplique tudo isso. E agora o nosso Health Bar Canvas tem o grupo do campus. A próxima coisa que vamos fazer é criar um script aqui mesmo, que será chamado de destino da tela. E não, como podem ver, precisamos ter certeza de que escrevemos corretamente. Então Canvas desaparecem e criará e adicionará o script nele. Então, recuem. Por que sempre faz isso? E aposto que agora, quando arrasto a tela para os scripts, o Visual Studio se abrirá sozinho. Veja, eu não sei qual é o problema, mas de qualquer maneira, volta e roteiros. Agora queremos abrir o destino do campus. E pela primeira vez, Visual Studio faz seu trabalho. De qualquer forma, a primeira coisa que precisamos fazer é criar uma variável. E esta variável vai ser um campo serializado. Então campo serializado e o campo serializado vai ser do tipo flutuador e este vai ser o nosso destino. Duração. E vamos apenas configurá-lo por enquanto para estar em 0,4 f. Portanto, esta é a duração do desvanecimento ou o tempo que leva para desvanecermos nosso campus. A próxima coisa que vamos fazer, bem, vamos excluir a atualização e começar por agora. Precisamos deles, é claro que vai criar. E mais tarde, vamos criar um vazio público e um método que é o destino. Agora, este método será, o que são esses? O que são esses? Então vamos abrir os colchetes corretos. Então este método desaparecerá será chamado
do foguete e nos permitirá desvanecer nosso campus. Então a primeira coisa que precisamos é de uma, uma referência a esta tela. Então vamos criar um var, uma variável var. Na verdade é um, bem, é uma abreviação da palavra variável e nós geralmente usamos isso sempre que não
temos certeza de qual é o tipo que vamos obter. Então vamos criar uma variável do tipo var. E por exemplo, se o tipo for um flutuador, este var aqui se transformará em um flutuador e será usado como se fosse um flutuador, mas porque não temos certeza. Então nós vamos obter o componente e ele vai ser um grupo de Canvas. Agora poderíamos ter nomeado esse tipo de grupo de campus, mas vamos simplesmente agora, isso é antes de tudo, uma grande oportunidade para aprender sobre o var. É se você já sabe qual será o tipo de variável, é muito melhor digitá-la lá, mas é uma boa ferramenta nova para adicionar ao seu arsenal. A próxima coisa que vamos fazer é criar uma co-rotina e vamos chamá-la do nosso destino. Então, primeiro de tudo, vamos criar um revestimento. E por que precisamos de um resfriado? Bem, queremos manter o nosso desvanecimento lento. Não queremos que seja instantâneo. Não queremos que nossa tela apareça e salte de volta. Queremos que ele vá lentamente do alfa para o alfa um. Então vamos criar um enumerador de olhos e vamos chamar isso de “fade”. E aqui vamos simplesmente passar o grupo de lonas que temos. Então ele vai ser do tipo Canvas grupo assim como está aqui na barra. E nós estamos indo, e vamos ver isso mais uma vez se você clicar nele. Então você pode ver agora que Visual Studio já entender que este var é do tipo Canvas grupo porque se realçarmos algo, todos os tipos que são os mesmos também serão destacados. Então, agora podemos ter certeza de que nosso var é um grupo de tela. E agora vamos passá-lo na tela, no grupo e ir para
a direita. A próxima coisa que vamos fazer é criar um contador. Agora você vai entender por que estamos criando encontro e apenas um pouco. E aqui embaixo vamos criar um loop que é o loop while. Agora nós cobrimos enquanto, nós, nós cobrimos quatro loops, mas nós nunca cobrimos enquanto loops porque honestamente eles são muito fáceis de realmente criar um vídeo inteiro sobre enquanto loops são simplesmente, são semelhantes ou eles são uma combinação da instrução if e do loop
For. Então, assim como o loop
for, qualquer código que escrevemos e aqui será executado uma vez e outra vez até que uma condição que está dentro desses dois colchetes é muscular como a condição
if, se esta declaração if, se a condição dentro deste colchete é finalmente transformada em verdadeira, ou é finalmente, nós finalmente chegamos a essa condição. Então o loop while parará de se looping em torno de si mesmo e sairá. E semelhante ao loop
for, qualquer coisa que queremos adicionar 1-2 ou aumentar exatamente como fizemos com o olho. Nós vamos aumentá-lo dentro do escopo e você vai ver como em apenas um pouco. Então, qual é a condição até pararmos o loop while? Bem, vai ser o contador que criamos lá em cima. E ele tem que, ele vai manter, o loop while vai continuar funcionando enquanto este contador é menor do que a duração do desvanecimento. E dentro daqui vamos aumentar nosso contador até o tempo delta. Então vamos falar sobre isso mais uma vez. O loop while. Este loop while continuará executando até que a condição dentro desses dois parênteses ou colchetes. Então, dentro do nosso loop while, vamos aumentar o nosso contador pelo time.DeltaTatime. Então, cada quadro nós aumentamos o contador pelo tempo que levou este quadro para terminar. Então, e isso continuará aumentando até que se torne maior do que a duração do desvanecimento, que é 0,4. f. E quando ficar maior, o loop while irá parar. Agora, o que nós realmente queremos fazer dentro deste loop while? Bem, nós queremos obter nosso grupo de lonas e nós vamos acessar o alfabeto está nele e o alfa, como vimos agora ou pouco antes dele agora, nós vimos que este grupo do campus tem um alfabeto nele. Então, de volta ao nosso Visual Studio, dentro daqui vamos usar algo chamado de matemático ponto F. E o que esta matema.Floor nos permite fazer, ele nos permite interpolar entre dois valores, que são a e b, que lhe dará. E isso vai interpolá-los com base em um valor que é d. Agora, eu preparei um pouco de documentações aqui possamos ler um pouco mais sobre funcionário, então não é tão confuso. Então aqui está o loop. Existem dois valores. O valor inicial do ASD que lhe damos. O B é o valor final que queremos dar-lhe. E o valor de interpolação entre os dois flutuadores é o valor no qual ele estará aumentando. Então aqui embaixo, temos a descrição, modo que interpola linearmente entre a e b. E se você não tem certeza do que a palavra interpolar significa, isso significa que aumenta o valor entre a e b lentamente. Não é imediato, é devagar. E passo a passo. Isso significa interpelação, que interpelação. E a maneira mais simples possível que eu possa explicar isso. É um pequeno incremento, a cada par de valor T. E como você pode ver aqui, o parâmetro t é preso entre 01, então ele precisa estar entre 01 e quando t está em 0, ele retorna a. Quando t é em um, ele retorna b. Então este é o nosso objetivo. Queremos usar este método de massa e o funcionário para alterar o alfa de um para 0. Então, queremos levá-lo de volta para 0. E aqui, então o primeiro valor que vamos ter é o único f. O segundo valor vai ser o 0 f. E o tempo ou a quantidade que vamos mudar, vai ser o contador. Então é baseado no contador. Mas o problema é que nosso contador vai ficar maior do que um, ou vai ser menor que um. Então, o que fazemos neste caso? Bem, vamos dividi-lo pela duração do desvanecimento. Isto irá mantê-lo em um porque este loop while só pára quando obtemos o nosso contorno sobre a duração do desvanecimento. Isso significa que esse valor começará a partir de 0, então r, porque nosso contador está em 0, e então ele aumentará lentamente até ficar maior do que a duração do desvanecimento. Este valor aqui se tornará um. Isso significa que o valor de um f mudará para 0 e sairá do loop while, e nossa Canvas desaparecerá. E vamos simplesmente porque estamos usando um revestimento, precisamos devolver algo e simplesmente devolveremos o retorno de rendimento e um não. Então, vamos guardar isso. E agora queremos começar o desvanecimento do nosso foguete ou o desvanecimento da nossa tela em algum lugar no nosso chip de rock. E antes de fazermos isso, antes que
esqueçamos, precisamos começar o Curtin aqui mesmo. Então comece a co-rotina, fade, e vamos passar o grupo de lonas que temos aqui em cima. Vamos remover o espaço. Vamos guardar isso. E agora é hora do seu desafio. Seu desafio é começar o desvanecimento. Então, antes de tudo, quando atingimos um obstáculo, queremos começar a desaparecer. Precisamos achar o desbotamento da tela. Esta é uma dica muito grande. Vamos acessar o método do destino. E nós estamos indo o alfa no Fade para 0 inicialmente. Então precisamos voltar ao nosso inspetor sobre a lasca do grupo de lonas. E precisamos transformá-lo em 0 inicialmente. E vamos definir a duração, correto. Pause o vídeo agora mesmo e vá fazer o desafio. Kay, bem-vinda de volta. Então, como você se saiu com isso? Para onde devemos chamar nosso foguete? Quero dizer, onde devemos chamar o nosso destino? Bem, dentro do nosso chip de rock, sempre que sofrermos danos, queremos que o grupo de lonas apareça e desapareça lentamente novamente. Então vamos para o dano da tomada. E aqui, antes de verificarmos nossa saúde atual, vamos em frente e encontrar objetos do tipo. E este objeto de cinco será o desvanecimento da tela que criamos. E nós vamos acessar o método do destino nele. Muito agradável. Então vamos salvar isso e vamos voltar para a Unidade e ver se isso funciona. Agora temos mais um passo antes de o fazermos, vamos tentar e ver o que acontece. Então este é provavelmente um lugar ruim, mas de qualquer maneira, vamos tentar outro nível e vamos aplicar este foguete aqui. Então tudo funciona e outros níveis. E queremos um nível onde temos uma câmera de acompanhamento, sim, guarde isso. Então, vamos clicar no jogo. Então agora podemos ver claramente, e como você pode ver, esta é a nossa tela e está sempre conosco. E quando batemos numa parede, ela desaparece. E então, sempre que batemos em uma parede, ela desaparece. Mas esta não é a nossa maneira preferida de fazer as coisas. O que precisamos fazer é voltar para o foguete, ir para a tela. E então aqui vamos colocar o alfa em 0. Então, agora, quando salvamos isso, quando clicamos no jogo, não
vemos nenhuma interface do usuário. Não vemos a nossa barra de saúde. Mas quando batemos numa parede, temos um pequeno vislumbre da nossa barra de saúde e depois desaparece. Vamos aumentar essa duração de desvanecimento para um e ver como isso parece. Então agora leva um pouco mais de tempo antes de desaparecer. Vamos tentar colocar um dois aqui. E agora, quando batemos numa parede, podemos ver que a nossa vida é cerca de 0. É vermelho. Temos de chegar ao fim, mas infelizmente não chega. E tão bem para nós, de qualquer maneira, voltamos para o Health Bar. Colocamos a duração do desvanecimento em 1,5. Acho que 1.5 é suficiente. Volte para o foguete, aplique tudo sobre mudanças e estamos prontos. Então eu espero que você tenha gostado deste vídeo e eu vou vê-lo no próximo.
40. Criando o menu de título (parte 1): Bem-vindos de volta, meus colegas desenvolvedores de jogos. Neste vídeo, como você pode ver, criamos um menu de título. Agora esta será a primeira parte de um vídeo que eu tenho. Eu dissecei em duas partes porque uma parte não é suficiente. Mas agora, quando clicamos no jogo, você pode ver que temos esse foguete giratório bem aqui à direita, e temos as opções aqui. Agora os botões não fazem nada, mas como você pode ver claramente, eles são botões reais nos quais podemos realmente clicar. Então vamos aprender um monte de coisas neste vídeo. Vamos aprender a girar nossa câmera em torno de um único ponto. Vamos aprender o que é a malha de texto Pro. Aprenderemos sobre como criar nossas próprias fontes e imunidade, o que é muito legal. E eu espero que você tenha gostado deste vídeo e não vamos perder mais tempo e começar. Oh, ok, então vamos começar com a criação do nosso menu principal. Agora, antes de começarmos, deixem-me dizer-lhes como estou a imaginar o meu menu principal. Quero que o menu principal seja sem obstáculos. Eu só quero que o menu principal seja o meu foguete bem aqui com a plataforma de lançamento e a plataforma de pouso. E com este belo fundo bem aqui. E o que eu quero é dividir a tela no meio. E à esquerda teremos as opções de jogo e botões de saída. E à direita terá o foguete, que terá uma câmera principal girando em torno dele. E isso dará um campo mais dinâmico para o nosso menu principal e não apenas um estático olhando opções de jogo e sair. Só isso. Eu também quero ter algum tipo de símbolo para representar o que está vindo a seguir e, ou ganhar. Certo, ótimo, agora que temos isso planejado, vamos começar primeiro criando uma cena do menu principal. Então, vamos duplicar o nível três, e vamos chamar este nível cinco o menu principal do menu. Então agora temos o menu principal. Se clicar duas vezes sobre isso, agora estamos no menu principal. Vamos em frente e apagar todos os nossos obstáculos. Vamos apagar o terreno. E vamos redefinir a posição do foguete em 0. E vamos redefinir a posição das almofadas de lançamento em 0. Mantenha a balança como está. Talvez você tenha uma escala diferente. E vamos redefinir a posição das almofadas de aterrissagem também para 0 e ampliar e ver o que temos. Agora temos a plataforma de lançamento e a plataforma de pouso no mesmo lugar. Vamos subir o foguete só um pouquinho. Então ele está em nossa plataforma de lançamento e a plataforma de pouso será movida. Será movido apenas um pouco em segundo plano e será girado assim. Então o jogador sabe que temos algo que é azul e talvez seja algo que precisamos pousar e nosso jogo. Então estou imaginando o que nosso jogador pode pensar. Oh, e agora vamos em frente e simplesmente desempacotar isso. Pré-fabricada. Então, clique com o botão direito do mouse no rock chip, vá para pré-fabricada e descompacte completamente porque nosso foguete não fará nada de especial ou inovador. Portanto, não precisamos dele como um prefab, mas também não precisamos dele como um preferido porque precisamos excluir a tela dele. Então vamos excluir a tela. E por que estamos fazendo isso? Bem, porque vamos criar nossa própria tela, que será o menu principal. Mas chegaremos a isso daqui a pouco. Primeiro de tudo, precisamos criar nossa câmera rotadora. Então, uma ordem para fazer isso, vamos em frente e criar um script. Então, em scripts, vamos em frente e criar um script C-sharp. E nós vamos chamar esse rotador da câmera da hora. Então agora temos um rotador de câmera. Vamos esperar que ele compile e clique duas vezes sobre ele para abri-lo e Visual Studio. E a qualquer momento devemos tê-lo à nossa frente. Ok, ótimo. Então vamos em frente e deletar. O método de início não o utilizará. E dentro da atualização, vamos simplesmente girar nossa câmera cada quadro. Então, para fazer isso, vamos simplesmente acessar a transformação. Vamos clicar na rotação. E o que queremos é não adicionar esse script à nossa câmera. Queremos adicionar o script a um objeto de jogo, que terá a câmera anexada a ele. E assim este objeto do jogo começará a girar em torno de si mesmo, em torno do eixo y. Assim, a câmera que está anexada a este objeto de jogo também estará girando em torno dele. E vamos colocar este objeto de jogo em cima do nosso foguete. Então vamos ver como isso vai parecer. Então, primeiro de tudo, vamos fazer a rotação em torno do x. 0 fará a rotação em torno do y uma velocidade específica que irá criar apenas um pouco. E nós vamos multiplicá-lo pelo tempo, tempo
delta, a fim de não ser afetado pela taxa de quadros de k. Então vamos fechar isso. E aqui vamos criar um campo serializado, que vai ser um flutuador. E este carro alegórico será chamado de velocidade. E vamos simplesmente começar às quatro. Só por agora. Vamos guardar isso e isso é tudo o que precisamos fazer dentro do nosso código. Simplesmente criamos um campo serializado e adicionamos rotação a um objeto de jogo que girará e terá a câmera como filho. Vamos ver como isso funciona. Se ainda estiver um pouco confuso. Agora, aguarde a compilação do script. Vamos clicar com o botão direito aqui e criar um objeto de jogo vazio que redefina sua posição. E vamos nomear este centro T de rotação. Vamos mover o centro de rotação um pouco para cima. E vamos adicionar o, onde está o rotador da câmera? Vamos adicioná-lo ao nosso centro de rotação. Em seguida, vamos clicar duas vezes na câmera e movê-la para baixo para um certo ponto. Então vamos alinhá-lo vai escolher a maneira que queremos olhar para o nosso foguete. Então eu acho que esta é uma boa posição para procurar. Clique na câmera, vá para componente, Quero dizer Jogo Objeto, Alinhar Com Vista. E agora temos a nossa câmara principal a olhar para o nosso foguete. A próxima coisa que vamos fazer é cortar a câmera principal. O centro de rotação. E agora, se olharmos para o centro de rotação, as velocidades para este centro de rotação começarão a girar no eixo y. E porque a câmera é uma criança do centro de rotação, ela também girará em torno dela. E como o centro de rotação está em cima do nosso foguete, ele girará lá. Então vamos tentar isso. Clique no jogo. E voilá, você pode ver que a câmera está girando em torno de nosso foguete muito lentamente. Agora podemos controlar isso, podemos aumentá-lo, podemos até fazê-lo, por exemplo, menos dez e salvar isso. Vamos ver como isso parece. Agora, nossa câmera gira em torno de nosso foguete e podemos ver toda a visão do espaço que criamos. Certo, ótimo, então agora com isso estabelecido, vamos começar a criar nosso menu principal. A primeira coisa que vamos fazer é clicar com o botão direito do mouse aqui. E vamos criar um Canvas, mas não uma tela qualquer. Vamos criar uma tela com um painel. E este painel, deixe-me diminuir o zoom para que você possa ver. Assim, este painel nos permitirá adicionar uma imagem de fundo ao nosso Canvas. E podemos realmente, por causa disso, seremos capazes de adicionar um tipo de imagem que nos
permitirá colocar sobre ela os botões que precisamos. Então, primeiro vamos entrar em nossos recursos e obter a imagem que eu lhe dei. Então este é o fundo da tela. Basta arrastá-lo para nossos ativos e colocá-lo dentro da pasta de imagens. Então agora dentro de imagens temos este fundo de tela e vamos mudar seu tipo de textura aqui para Sprite 2D e aplicar as alterações. Então agora podemos adicionar o nosso fundo de tela para o painel que tem uma imagem fonte como seu plano de fundo. Vamos adicioná-lo lá. E agora temos os antecedentes. Muito agradável. Agora o que queremos fazer é queremos realmente dimensionar isso para que ele tenha a tela. Porque quando clicamos no jogo agora, você pode ver que nossa imagem ou imagem de fundo está cobrindo toda a tela. Então vamos em frente e fazer isso. Vamos clicar em, continuar clicando no painel, clicar em T. E agora podemos realmente dimensioná-lo para cerca de metade do tamanho. Não sei onde está, mas vamos reduzi-lo. E vamos também, precisamos estar fora do modo de jogo. Então vamos reduzir isso e não sei onde eles estão. E vamos também mover as âncoras. Então movemos as âncoras que estão em torno de nossa imagem e as colocamos em cada lado da imagem. Então agora temos a imagem de fundo. Podemos brincar, talvez aumentar um pouco a transparência. Então, quando olhamos para a nossa cena de jogo, isto são perspetivas. Isso vai deixar mais tarde movido a câmera apenas um pouco. Mas, em primeiro lugar, vamos examinar como será essa transparência. Então você pode torná-lo muito não transparente ou você pode torná-lo muito transparente. Eu escolherei fazer isso em torno deste tanto. Ok, ótimo. E antes de seguirmos em frente, deixe-me dar um zoom no meu chip de rock. Então, de volta ao foguete, vamos verificar a câmera e movê-la um
pouco para que possamos ver claramente ou corretamente como ela parece. Então w, vamos verificar o nosso jogo. Então, movemos um pouco para a esquerda. E agora não deveríamos ter, quando salvamos, quando clicamos no modo de jogo. Vamos ver como isso parece. Ótimo. Bem, talvez ele precise de um pouco mais de movimento para a direita, mas como você pode ver aqui, nós temos nossos três botões, o jogo, a opção e o botão Sair. E à direita terá o foguete girando. Muito agradável. Vamos mover isso um pouco mais. Então vamos colocar assim. Estou olhando para a câmera principal aqui, e isso deve ficar muito bonito. Agora, quando clicamos no jogo, estou apenas me ajustando. Ok, ótimo, então eu gosto disso. Gosto muito disto. Ok, ótimo. Agora que temos isso configurado, próxima coisa que vamos fazer é adicionar algum texto. Então vamos em frente e fazer isso. Mas há dois tipos de textos que eu quero falar. Então vamos clicar duas vezes na tela. E, a fim de tornar mais fácil para nós mudar as coisas na tela, Clique no 2D aqui. Agora temos o controle total da tela onde vamos brincar. Vamos renomear a extensão de dois plano de fundo e vamos começar a adicionar algum texto, mas não apenas qualquer texto, queremos adicionar algo chamado os textos mesh pero. Agora, por que estamos usando a malha de texto Pro? Porque nos permite escolher nossas próprias fontes. Ele nos permite mudar a cor da maneira que gostamos, e é tudo em torno de uma ferramenta melhor para usar se quisermos adicionar texto aos nossos principais homens. Então vamos começar por fazer isso. Primeiro de tudo, indo para o Gerenciador de Pacotes e ir para o registro Unity e herdar, você vai encontrar algo chamado os textos mesh pero. Se você não estiver atualizado com ele, você pode atualizá-lo, mas eu atualizei, então vamos simplesmente instalá-lo. E vou esperar a instalação e verei você quando terminar. Oh, ok, ótimo. Agora que temos a liberdade condicional configurada, é hora de adicionar algum texto. Agora você pode clicar com o botão direito do mouse na tela e inhere na interface do usuário, você deve obter algo como uma opção, que é o teste de malha de texto. Clique nisso. Ele pedirá que você importe alguns itens essenciais. Clique em Importar o essencial do TMP. Vamos agora ter uma pasta aqui, que é a malha de texto Perot. E nós vamos ter um texto aqui, que é a malha de texto Pro. Agora a coisa boa sobre isso é que você pode realmente adicionar um ácido de fonte a ele. Você pode brincar e mudar um monte de coisas usando este texto mesh pro. Primeiro de tudo, como você pode ver, este é o centro. Deixe-me apenas ajustar o fundo um pouco para que seja diretamente no centro e ajustar as duas âncoras também no centro do nosso campus. Ótimo. Agora vamos mover o nosso texto. Então vamos mover nosso texto e colocá-lo aqui e nos dizer onde está o meio. E este vai ser o texto para a peça. E nós vamos centralizá-lo e vamos colocá-lo no meio. E há muitas opções aqui. Também podemos aumentar o tamanho da fonte. Podemos torná-lo ousado, nós podemos. Brincar com a cor. Podemos adicionar sombras, podemos adicionar um monte de coisas que vamos adicionar em apenas um pouco. Mas antes de tudo, vamos em frente e adicionar uma fonte, uma fonte muito boa. E, na verdade, a maneira como você encontra fontes é aqui um site que é chamado de fonte. E vamos chegar a estas cores. Basta ativar o font.com onde você pode encontrar muitas fontes. Eu encontrei esta barra de espaço aqui, e você pode ir em frente e baixá-la ou você pode usar a que eu deixei nos recursos. Então vamos fazer isso. E aqui, vou simplesmente arrastar a fonte da barra de espaço. E vamos colocá-lo aqui. E vamos criar uma pasta que deve ser as fontes? E vamos adicionar a fonte da barra de espaço a ele. Então dentro de fontes agora temos esta forma, que é a barra de espaço, mas não podemos usá-lo. Então, se tentarmos arrastar, então não podemos usá-lo. Por que é isso? Bem, porque ainda não foi gerado. Para gerá-lo, vá para a janela, vá para o texto mesh pro. E aqui você vai encontrar algo que é chamado de gerador de ácido de fonte. Clique nisso. Agora arraste a barra de espaço para o arquivo de fonte fonte e simplesmente gere o atlas da fonte. Então agora você pode salvar isso. E ele vai perguntar, onde você quer salvá-lo? Salve-o dentro das fontes de ativos. E então agora temos uma fonte de barra de espaço que podemos simplesmente arrastar para dentro. Oops, vamos subir um pouco que podemos simplesmente arrastar para o inspetor em nossos textos mesh Pro. E como você pode ver, o texto da peça mudou drasticamente. Então, agora temos uma peça muito boa. Mas agora o que podemos fazer aqui? Bem, podemos mudar a cor. Podemos adicionar sombra, podemos adicionar brilho. Então, vamos adicionar algumas breves sombras. Oops. Então vamos clicar aqui. Podemos adicionar um pouco de sombra aqui. Então vamos aumentar o deslocamento da exposição. Você brinca e vê o que funciona, vê o que não funciona. Já tenho uma ideia do que quero fazer. Então vamos diminuir o deslocamento de Y2 menos 1 e vamos adicionar um pouco de suavidade e torná-lo em torno de 0,5. ótimo. Então agora temos sombras. A próxima coisa que queremos fazer é mudar a cor do nosso botão Play. E há muitas maneiras de escolher uma cor daqui para que possamos fazer uma tendência. Mas há uma maneira muito mais interessante de adicionar cor e isso, e é o gradiente de cor. Então, se você clicar no gradiente de cor, você pode ver aqui que podemos adicionar quatro cores distintas em nosso pro de malha de texto, ou também podemos criar um ativo de gradiente de cor. Então vamos fazer isso no, dentro das fontes. Vamos clicar com o botão direito. Vá para criar a malha de texto pro e você tem um gradiente de cor. Então, se você clicar nisso, isso é renomear isso para o gradiente de texto. E aqui, como você pode ver, você pode adicionar quatro cores distintas. Agora, se você é como eu e não tem senso de cor, há um site que você pode ir e é chamado coolers dot co. E aqui você pode gerar uma paleta de cores. E eu achei essa muito legal. Eu acho que vai ficar muito bom. Então vamos copiar isso. A maneira como você faz isso é você realmente copiar o código. E aqui o código hexadecimal, você o copia. Você vai para o seu inspetor, para o gradiente de texto. Você simplesmente colá-lo aqui, clique em Enter e ele deve funcionar. Então eu vou colar tudo isso. Ótimo. Então, agora que adicionamos todas as nossas cores, vamos simplesmente voltar ao texto e importado para o gradiente de cores aqui. Então nós colamos e vamos ver como isso parece. Parece bom, mas podemos mudar um pouco. Então vamos ver, vamos fazer isso completamente branco ou podemos realmente mudar a cor aqui. Então vamos fazer isso. Sim, isso parece muito bom. Então, como você pode ver agora, temos um botão de jogo muito bom. Vamos voltar e aumentar um pouco o tamanho da fonte. E se o tamanho da sua fonte, como menos textos não permite que você aumente seu tamanho e vamos torná-lo em torno de 60. Então 60 parece bom. Vamos ver isso na jogabilidade. Legal. Então este é um grande texto de jogo bem aqui. Muito bom. A próxima coisa que vamos fazer é mudar o nome de simplesmente texto para ser o texto simples. E vamos criar um botão. Então clique com o botão direito em Canvas, vá até você. Eu clico no botão. Agora temos um botão. Então vamos mover nosso botão aqui, e vamos aumentar seu tamanho. E clique em uma das bordas, mantenha pressionada a tecla Alt e aumente o tamanho para que ele se encaixe exatamente no Playtex. Então, dentro do botão você pode ver que temos um texto. Simplesmente apague isso e pegue nosso texto reproduzido e coloque-o embaixo da parte inferior. Agora temos o Playtex sobre o botão e volta e botão. Queremos mudar a cor para ser completamente preta. E aqui embaixo, você pode ver que temos muitas opções para a cor normal, cor
realçada e cor. E por que precisamos deles? Enquanto agora, se clicarmos no jogo, podemos realmente pressionar este botão, mas não temos como nos dizer se ele está realmente funcionando. Então, a maneira como dizemos como nós realmente voltar para a cor bem aqui. Portanto, a cor normal irá mantê-lo como está, mas vamos simplesmente diminuir a transparência até que ele se torne 0. Mas sempre que a cor destacada aparece, vamos colocá-lo em completamente preto e vamos aumentar sua transparência ou diminuir sua transparência, basta torná-lo em torno de 8085 e fará com que a cor pressionada também completamente preta. E vamos torná-lo um pouco mais transparente ou menos transparente dependendo de como você olha para ele. Então 112 e a cor selecionada, ou vamos ver como esta parece. Então, agora, quando movemos o mouse sobre a peça, você pode ver que temos uma espécie de maneira interativa de olhar para o botão e quando pressionamos, ele fica mais escuro. Então isso pode realmente tornar-se mais escuro. Então vamos fazer a transparência em torno de 170. Clique no jogo, veja como isso parece. Nós movemos o mouse sobre o jogo, clicamos no jogo. E agora podemos ver que temos uma maneira muito sólida de conhecer nosso botão. Você também pode alterar a cor selecionada. Portanto, isso mudará quando o botão for selecionado. E vamos clicar no jogo, ver como isso parece também. Então, jogue, clique nisso. É selecionado. Muito agradável. Ok, ótimo. Agora o que precisamos fazer é ir para o texto simples. E vamos em frente e ancorá-lo corretamente. Então, porque é uma criança do jogo do botão, que deve ser o botão Play. Basta manter pressionada Alt e clicar neste e no lado oposto, e isso irá ancorar todas as suas âncoras no botão. Ótimo, e vamos renomear isso para o botão Reproduzir. Muito bom. A próxima coisa que vamos fazer é duplicar este botão Play e vamos nomear este botão de opções. Então, opções. E vamos remover isto aqui mesmo. Vamos baixar nosso botão de opções. E nós vamos entrar no texto aqui, mudar essas duas opções. E em vez de jogar, vamos escrever opções. E como pode ver, claramente não é adequado para nós. Então, vamos realmente manter a tecla Alt pressionada no botão Opções e aumentar o tamanho. E como você pode ver, o texto também aumenta de tamanho. Então agora temos o botão de opções. E, finalmente, vamos suavizar a exibição ABE, mas vamos duplicar isso novamente e movê-lo para baixo. E este vai ser o nosso botão Sair. Então, vamos renomeá-lo para o botão Sair. E o texto será o texto de saída. E aqui vamos simplesmente escrever “desistir”. Então agora, oops, então agora temos opções de jogo e desistimos. Muito agradável. Agora que temos todos os nossos botões definidos e prontos quando clicamos no jogo. Vamos ver como isso parece. Assim, podemos passar o mouse sobre nosso menu de opções ou menus, opções ou o que você quiser chamá-los. Então, podemos clicar no jogo, clicar em Opções, clique em sair. Mas eles ainda não fazem nada. E como este vídeo está ficando um pouco longo, eu vou cortar bem aqui e vamos continuar no próximo vídeo, nós vamos realmente estar criando scripts e adicionando outra opção ou outro menu principal que será o opção. Então, vemo-nos na próxima.
41. Criando menu de título (parte 2): Bem-vindos de volta, meus desenvolvedores de jogos favoritos. Neste vídeo, estamos realmente aumentando a capacidade do nosso menu principal. Então agora, quando clicamos no jogo, podemos realmente ir para as Opções são apenas o volume que secretamente não faz nada. Nós podemos voltar, nós não podemos ir para a desistência, que também não nos tira de nada Bem, porque nós não construímos nosso jogo, mas quando nós construímos nosso jogo, ele vai realmente funcionar. Então opções, podemos ajustar o volume e
podemos clicar no play e isso nos leva ao nível um. Então este é um vídeo muito divertido. Terminamos nosso menu principal e não vamos perder mais tempo e começar. Vamos continuar de onde paramos. Agora o que queremos fazer neste vídeo é realmente queremos
adicionar um menu principal dentro de nossa tela e adicionar um menu de opções. Assim, sempre que o nosso jogador clicar nas opções, haverá um menu de título diferente ou diferentes textos diferentes no final do menu serão simplesmente adicionar um pequeno controle deslizante que não fará nada. Então vamos em frente e fazer isso. Crie um objeto de jogo vazio. Este será o menu principal. E como podem ver, temos o nosso menu principal aqui. Então vamos movê-lo, colocá-lo no centro, segurar em uma das bordas, e segurar, segurar no Alt. E agora em círculo todos estes e colocar o espaço ou as opções de jogo e botão Sair no menu principal. Muito agradável. Então, agora, quando desligamos o menu principal, tudo desliga. Agora vamos em frente e duplicar o menu principal, e este será o nosso menu de opções. Então menu de opções, perfeito. Então agora vamos desligar o menu principal. E só temos o menu de opções. E se
abrirmos, temos o botão Play que não precisamos também será excluí-lo. E o botão de opções realmente tem os textos de opções. Então vamos removê-lo daqui e excluir o botão de opções e mover as pilhas de opções apenas um pouco para cima. Então, é mais óbvio que estas são as opções e o botão Sair realmente vai se tornar o botão Voltar. Então de volta, vamos copiar esse botão Voltar e o texto se tornará o texto de volta. E nós vamos escrever dentro de, em vez de sair, nós vamos escrever de volta e remover o espaço. Então agora temos de volta e opções. E aqui vamos clicar com o botão direito do mouse em adicionar uma interface do usuário, e será um controle deslizante. Então agora temos um controle deslizante. Vamos segurar as bordas e torná-lo um pouco maior. E vamos descer um pouquinho. Vamos abrir o controle deslizante. Vamos remover a alça. Então vá para o controle deslizante de alça e simplesmente excluído. Nós não queremos que ele vá para a área de preenchimento ou se você queria simplesmente mantê-lo, não importa. Vá para o fundo, vamos mudar o fundo um pouco, então torná-lo um pouco mais escuro e ir para preencher. E vamos mudar a cor e realmente fazê-lo. Então, vamos clicar sobre isso aqui, e isso nos permitirá escolher uma cor em nosso jogo, e vamos escolher uma cor mais avermelhada. Então, isso será lido e de volta e de fundo. Eu quero mudar isso. E torná-lo mais amarelado. Então, mais amarelado. Então, agora guarde isso. Clique no jogo e uma opção. Temos um controle deslizante que podemos mover. Muito agradável. Agora, tudo o que precisamos fazer é usar os botões que temos. Então vamos mover o botão de trás um pouco mais para baixo. E vamos duplicar essas opções. Então, duplique, mova um pouco para baixo. Vamos diminuir muito o tamanho da nossa fonte. E em vez de opções, este será o volume. E vamos colocar esse volume que faz os botões menores para que ele se encaixe apenas no volume. Vamos movê-lo um pouco para baixo sobre isso, bem aqui, sobre este controle deslizante. Guarde isso. Vamos ver como isso parece. Assim, as opções de volume e você pode aumentar e diminuir. E, no entanto, o botão do saco não faz nada. Vamos mudar isso. Então, vamos salvar tudo isso e vamos desligar o menu de opções agora e ativar o menu principal. E agora é hora de codificar. Muito agradável. Estou tão entusiasmada. Primeiro de tudo, vamos adicionar um componente. Vai ser o menu principal. Então New Script e seu nome é menu principal, Criar e esperar para compilar. E se olharmos para os bens, temos o menu principal. Coloque o Menu Principal em Scripts, clique duas vezes nos scripts e clique duas vezes em Menu Principal. Aguarde até que o Visual Studio abra e vamos fazer alguma codificação. Então, a primeira coisa que
precisamos falar sobre o que realmente vamos criar neste menu principal. Bem, o que queremos fazer é criar um método que nos permita ir
para a próxima cena do nosso jogo quando clicarmos no botão play. Então o que precisamos fazer é criar um músculo aqui mesmo, que vai ser um jogo vazio público. E o método do jogo de exibição faz é que ele realmente leva a moeda em que estamos em e ele nos vira para a próxima cena e é realmente parte do seu desafio. Seu desafio será terminar o jogo. Então carregue a próxima cena dentro do método de jogo de jogo. E se você não tem certeza de como fazer isso, vou te dar algumas dicas. Então, em primeira mão, coloque o menu principal e o índice construído. Isto é muito importante. Você precisa se certificar de que a cena do menu principal está dentro do índice de compilação. Encontre esta cena em que estamos atualmente e tipo de ganho de jogo. Use o namespace de gerenciamento de cena. Você já sabe como criar um namespace. Carregue a próxima cena, que deve ser o nível um, e este é o seu desafio. Então pausar o vídeo agora mesmo e ir para o desafio. Oh, ok, bem-vindo de volta. Então, a primeira coisa que precisamos ir para as configurações de construção. E aqui nós, Como podemos ver, temos o 1-2-3. Na verdade, também devemos adicionar os quatro. Então vamos adicionar os quatro. E também precisamos adicionar o menu principal no topo. Portanto, certifique-se de que o Menu Principal está no topo. Salve essa saída Configurações de compilação, e volte para o nosso script aqui. A primeira coisa que vamos fazer é criar um namespace, que é o ponto do mecanismo Unity. Não vi a gerência. Agora podemos manipular nossas cenas. E dentro da vista vamos chamar o gerente de arsine. Vamos carregar uma cena. E dentro dele vamos chamar o gerente de cena novamente. Então, gostaria de fazer isso em duas linhas separadas. Mas agora vamos fazer isso em uma linha porque é menos, bem, é mais limpo e porque não temos mais linhas, então parece muito bom. Então agora o que isso faz é carregar a próxima cena e como ele sabe qual índice? Enquanto obtemos o índice ativo atual, usamos e adicionamos,
adicionamos um mais um a ele. Então passamos para a próxima cena, que é o nível um. Ótima. Agora que temos este método aqui, temos tudo estabelecido. Como adicionamos ou adicionamos esse comportamento ao nosso fundo? Vamos ver como fazemos isso. De volta ao menu principal. Se você clicar no menu principal e clicar no botão play, podemos ver aqui embaixo sob imagens no botão que temos uma opção para adicionar no clique. E é aqui que adicionamos o comportamento do nosso botão. Se você clicar no pouco mais R2, podemos ver que temos tempo de execução só irá mantê-lo em que
não temos funções e podemos realmente acessar qualquer coisa e podemos adicionar um objeto a ele. Agora este é o objeto que queremos manipular ou alterar o comportamento de quando clicamos no botão play. E o que queremos mudar é realmente o script no menu principal. Então vamos para o menu principal, arraste-o para a opção objeto aqui. E agora podemos escolher uma das funções. E uma dessas funções é o script que está no objeto do menu principal, e nós realmente temos acesso ao jogo de jogo. Então, quando clicamos nisso, agora sempre que clicamos no jogo, carregamos o próximo nível ou a próxima cena, que é o nível um, que é testado e vemos se funciona. Então começamos o nosso jogo. Temos o nosso foguete rotativo, temos as opções. Se clicarmos em Opções, nada acontece em sair, nada acontece, mas quando clicamos no jogo, vamos para o nível um. Como é legal que estamos finalmente dando vida ao nosso menu de opções. A próxima coisa que vamos fazer é programar o botão Sair. Então, aqui em baixo, vamos em frente e criar um vazio público, ganho do Kuwait. E dentro daqui vamos chamar o log de pontos de depuração. E vamos simplesmente dizer que temos o ganho e sob ele vamos chamar o ponto de aplicação quit. Agora, por que eu usei o log de depuração? Bem, porque o aplicativo dot quit só funciona quando você já construiu seu jogo. Então vamos voltar e adicionar nosso botão Sair. Então, aqui vamos para o botão Sair, role para baixo em uma opção no onclick, arraste o menu principal aqui, vá para as opções de funções menu principal. Podemos sair do nosso jogo. Então vamos guardar isso. Vamos clicar no jogo novamente. E no nosso console temos esta flecha. Não é um grande problema. Quando clicamos no sair, podemos ver que temos, e eu escrevi o têm incorretamente. Quando clicamos no botão Sair, temos esta mensagem aqui. Isso significa que está funcionando. Mas porque estamos, ainda não construímos nosso jogo e é apenas um interior da Unity. Isto não vai sair do nosso jogo. Ok, ótimo. A próxima coisa que vamos fazer é que realmente vamos fazer o botão de opção nos levar para o menu de opções. Então agora, quando clicamos no jogo, nosso botão de opções não faz nada e queremos adicionar comportamento a ele. Então, para fazer isso, precisamos ir para o botão Opções. E aqui, o que queremos fazer? Bem, queremos manipular o menu principal. E o que queremos fazer é realmente
queremos desligar o menu principal e ativar o menu Opções. Então agora no Menu Principal. Para fazer isso, podemos ir para o objeto do jogo. E aqui temos algo chamado Set Active MOOC. Então, quando clicamos nele, temos a opção de ligá-lo ou desligá-lo. Então, quando clicamos no jogo agora, quando clicamos nas Opções, não temos mais nada para clicar. Ótimo, então agora que isso funciona, precisamos adicionar outro comportamento onclick. Pegue o menu Opções, coloque-o aqui, vá para o objeto do jogo nas funções e defina DB2 e defina-o para ativo. Então vamos salvar que pode vir jogar. E quando clicamos em Opções, vamos para o menu Opções para que possamos brincar e ajustar o volume. Bem, não faz nada, mas também temos o botão de voltar que precisamos cuidar. Então vá. Então vamos desligar o menu principal. Ative o menu Opções. Vá para o, onde está o nosso texto de opções? Deve ser volume, livro didático, texto de volume. E dentro do botão Voltar está ligado o controle deslizante dentro do botão Voltar. Vamos em frente e adicionar uma opção, que desativará as opções. Então objetos de jogo no bool e outro para o Menu Principal, que ativará o menu principal, correto? Guarde isso. Vire as opções, ative o menu principal, clique em jogar, e agora podemos clicar nas Opções são apenas o volume. Volte para trás. Clique novamente nas Opções de apenas o volume. Mais uma vez, podemos sair do nosso ganho, o que nos diz que saímos do nosso jogo e podemos clicar no jogo e começar o nosso jogo. Quão bom é isso, pessoal? Então criamos nosso menu principal. Como você pode ver, ele volta para o menu principal agora sempre que nós morremos porque ele está no primeiro índice, e nós terminamos nosso menu principal. Finalmente, espero que tenham gostado deste vídeo. Espero que tenha criado seu próprio menu. Você encontrou suas próprias fontes, você encontrou suas próprias cores que você queria adicionar. E acima de tudo, espero que tenha se divertido. Então, vejo-te no próximo vídeo.