‫Bem-vindo de volta a este capítulo que vamos construir um clone do Fruit Ninja, e você
‫pode conhecer o jogo Fruit Ninja se não o conhecer e dar uma olhada em alguns vídeos do YouTube,
‫é um jogo muito básico no qual você tem que cortar alguns frutas e você simplesmente faz isso com um golpe e depois as corta.
‫Eles caem e você ganha alguns pontos e seu objetivo é conseguir o máximo de pontos possível.
‫Claro, há algo que o impede de fazer pontos e isso são bombas.
‫Portanto, assim que você corta uma bomba, você perde o jogo.
‫Tudo bem.
‫Então é basicamente isso.
‫Não há muito mais do que isso.
‫E construiremos essas funcionalidades básicas neste capítulo.
‫Então, vamos em frente e criar um novo projeto e vamos chamar aquele clone do Fruit Ninja e vamos criar o
‫projeto.
‫No meu caso, eu chamo isso.
‫Você não tem que fazer isso.
‫E isso é porque eu já tenho um clone em algum lugar dos meus projetos.
‫Tudo bem.
‫Então, aí estamos.
‫Vamos em frente.
‫E antes de tudo, mude o fundo de nossa câmera.
‫Portanto, não quero ter um camarote.
‫Vou usar uma cor sólida e mudar essa cor para ir em frente e escolher uma cor.
‫E vamos com uma cor acastanhada.
‫Use um distintivo marrom claro, quase ótimo.
‫Então esse é o nosso ponto de partida.
‫E agora vamos importar os ativos que temos porque existem alguns ativos que você pode baixar e que
‫estão anexados a esta palestra.
‫E vamos arrastar todos eles para o nosso jogo.
‫Portanto, há corte de banana, mistura de banana, BAMP, corte de laranja, mistura de laranja.
‫Então, todos esses arquivos de mesclagem, que são arquivos de mesclagem e nos permitem direcioná-los para nosso jogo.
‫Tudo bem.
‫Agora, como você pode ver, os ativos foram criados para nós diretamente e os materiais também.
‫Vamos começar criando uma pasta para eles, que chamarei de modelos e arrastarei todos para dentro
‫deles.
‫Até materiais, então vamos beber tudo isso aí.
‫Tudo bem, então primeiro de tudo, vamos começar com uma laranja.
‫Vamos arrastar isso para o nosso jogo.
‫Como você pode ver, essa é a laranja e esse seria o tamanho dela.
‫Portanto, talvez seja uma boa opção reduzir seu tamanho.
‫Então, vá para modelar e altere o fator de escala para nomear três e clique em aplicar na parte inferior, como você
‫pode ver agora, é muito menor e terá um tamanho muito melhor.
‫Caso contrário, é muito grande.
‫Agora vamos fazer a mesma coisa com a laranja ou laranja cortada, abrir três e clicar em aplicar.
‫Vou apenas direcionar o corte de laranja para lá também, na verdade, aqui.
‫Portanto, agora você deve estar se perguntando o que isso significa.
‫Bem, nós temos uma versão, que é a laranja completa, que não é cortada.
‫E há a versão cortada, que será criada assim que
‫cortarmos ou passarmos uma laranja.
‫E são duas peças.
‫Portanto, ele contém duas peças que cairão em direções diferentes.
‫Portanto, teremos a sensação de cortar uma laranja ou, em geral, de cortar uma fruta.
‫Tudo bem.
‫Então, vamos nos livrar do corte de laranja novamente, porque isso era apenas para fins de demonstração.
‫Então, vamos deletar o corte laranja aqui.
‫Agora, a laranja já tem um animador, como você pode ver, ela não tem um controlador, porém, não
‫vamos precisar dele por enquanto.
‫Então, vamos nos livrar disso.
‫Remova o componente.
‫Agora temos apenas a malha, renderizar a malha filtrada e transformar o componente.
‫E o que precisaremos adicionar é um corpo rígido 2D de física.
‫Agora, você pode se perguntar por que um amigo de física 2D e por que não realmente?
‫Bem, isso é porque eu só quero que essa laranja se mova para a sala 2D.
‫Portanto, ele não deve passar para o.
‫Deve mover-se para o topo.
‫Para a esquerda.
‫Para a direita.
‫Mas não deve ir em um nível profundo.
‫Portanto, não deve ir para o nível 3D.
‫É por isso que um corpo rígido, 2D é o corpo rígido certo para nós.
‫Agora vamos adicionar outro componente, que é um colisor de círculo 2D de física, porque como você pode imaginar, nossa laranja
‫tem a forma de um círculo.
‫Como você pode ver agora, este será o colisor 2D, podemos ver ainda melhor se formos para a sala de
‫serviço.
‫Agora vemos que aquela pequena linha verde ao redor de nossa laranja será o Colisor de Círculo.
‫Agora, o raio do colisor, você pode encontrá-lo aqui e pode alterá-lo, como pode ver aqui,
‫tornando-o maior ou menor.
‫Se você quiser tornar o jogo mais fácil, você deve torná-lo maior ou pode até mesmo aumentar a escala de todo
‫o modelo.
‫Mas a opção três é o raio certo para nós agora.
‫Poderíamos até mesmo nos livrar desse deslocamento porque era mínimo.
‫É apenas algo que a unidade às vezes faz.
‫Bem, agora o corpo rígido está bem.
‫Precisaremos de uma missa.
‫Precisaremos de uma escala de gravidade.
‫Mas o que devemos mudar aqui é a detecção de colisão.
‫O script é bom na maioria dos jogos, mas queríamos ser super rápidos.
‫Portanto, queremos ter uma detecção muito rápida aqui.
‫A detecção de colisão tão contínua é a melhor escolha para nós porque é um jogo muito rápido em que
‫cortamos a laranja e ela deve reagir muito rapidamente.
‫Agora, digamos que a laranja é uma pré-fabricada, então vamos criar uma nova pasta pré-fabricada, pasta pré-fabricada e arrastar
‫a laranja para cá.
‫E já que estamos nisso, vamos salvar a cena também.
‫Então salve as cenas e vamos chamá-las.
‫E então precisaremos de uma pasta de script porque vamos trabalhar com scripts.
‫Então, vamos criar isso também.
‫Scripts e vamos lá, criar um novo script.
‫Vejo uma escrita precisa, para ser mais preciso, e a chamo de fruta.
‫Agora vamos abrir.
‫Tudo bem.
‫Aqui.
‫O que queremos fazer é criar uma fruta fatiada.
‫Então vamos precisar de uma fatia de pré-fabricada para isso, o que significa que assim que cortarmos nossa laranja, queremos ter
‫os pedaços de laranja.
‫Assim, os dois são as duas partes da nossa laranja, que cairão em duas direções diferentes.
‫E isso é algo que precisamos configurar aqui.
‫E isso não é apenas para as laranjas, para qualquer fruta com a qual vamos trabalhar.
‫Então, vamos criar um objeto de jogo público chamado pré-fabricado de frutas fatiadas, porque precisaremos do pré-fabricado da fruta fatiada, que
‫é, por exemplo, a laranja fatiada, e então precisaremos de um método que fatie a fruta.
‫Vou chamá-lo de criar frutas em fatias.
‫E o que eu quero fazer é simplesmente instanciar a fruta fatiada.
‫Então, cortou a casa pré-fabricada em que posição?
‫Bem, na mesma posição que nossas laranjas e depois transformar essa rotação.
‫Então, também a mesma rotação que temos agora, a próxima.
‫Precisamos fazer é, é claro, destruir a laranja inteira, portanto, nosso objeto do jogo, que é o objeto do
‫jogo que contém o script de frutas ou contém o script de frutas.
‫Tudo bem.
‫Agora vamos entrar na unidade novamente, porque não temos a pré-fabricada ainda, então não temos a pré-fabricada fatiada ainda.
‫Claro, só temos o pré-fabricado laranja.
‫Então, vamos voltar ao nosso modelo e colocar o corte de laranja novamente em nosso jogo.
‫Agora, o corte laranja consiste em dois objetos diferentes.
‫Como você pode ver aqui.
‫Esta é apenas uma pasta, que contém nosso corte de laranja esquerdo e nosso corte de laranja.
‫Direito.
‫Portanto, há dois pedaços de laranja.
‫Queremos que voem em direções diferentes assim que esse método de criação de frutas fatiadas for chamado.
‫Então, vamos fazer isso.
‫Vamos selecionar essas duas peças cortadas e adicionar um componente.
‫E agora vamos adicionar um corpo rígido, não um corpo rígido, porque não queremos apenas dobrá-los para
‫o lado, também queremos que eles girem ligeiramente.
‫Portanto, parece um pouco mais realista porque as frutas nem sempre caem perfeitamente de cada lado.
‫Ele também irá girar um pouco.
‫E isso é algo que precisamos fazer com um corpo rígido, 3-D.
‫Agora, quanto à detecção de colisão, podemos deixá-la tão discreta porque essas peças não serão tão importantes
‫em termos de detecção de colisão.
‫Não queremos que eles sejam fatiados novamente, mas ainda precisamos de uma física.
‫Colisor de caixa.
‫Bem, neste caso, vamos usar um colisor de caixa agora aqui, é claro, um colisor de caixa, não um colisor
‫de caixa hoje, pois nosso corpo rígido é um objeto 3D.
‫Agora que temos isso, vamos arrastá-los para a pasta de nosso Prefeito.
‫Então, vamos realmente arrastar o corte de laranja como um pré-fabricado para nossa pasta de pré-fabricados porque queremos ter as duas
‫peças e queremos ter um pré-fabricado.
‫Tudo bem.
‫Agora podemos nos livrar de nosso corte de laranja.
‫Exclua isso daqui.
‫Vamos salvar nossa cena também.
‫Portanto, agora a laranja como esta laranja e o pré-fabricado, os dois precisam ter o script que acabamos de
‫criar.
‫Então, vamos adicionar o componente.
‫Vamos adicionar o script chamado fruta.
‫Agora, é claro, você vê aqui, vamos precisar de uma pré-fabricada de frutas fatiadas.
‫E é perfeito porque o corte de laranja é uma pré-fabricada de frutas fatiadas.
‫Então, vamos arrastar isso para lá e aplicar à nossa laranja pré-fabricada.
‫Caso contrário, não terá o script.
‫Você pode ver que o pré-fabricado tem um script que é muito importante.
‫Tudo bem.
‫Agora isso está feito.
‫Vamos tentar fazer isso acontecer.
‫Então, vamos tentar criar uma fruta fatiada e podemos usar o método de atualização para a entrada do usuário.
‫Portanto, se as entradas forem pressionadas, assim que o usuário pressionar uma tecla, vamos apenas fazer o espaço do código da tecla.
‫Portanto, assim que alguém pressionar a tecla de espaço, vamos chamar esse método de criação de frutas fatiadas.
‫Tudo bem.
‫Então, vamos salvar esse script.
‫Vamos voltar à unidade.
‫E agora é importante que tenhamos uma laranja em nossa hierarquia, porque senão não temos
‫nenhuma laranja para testar, pois ainda não temos nenhum spawner.
‫Então, vamos criar spawners, que nasceram frutas e atirar para cima para que possamos cortá-los.
‫Mas agora não temos isso ainda.
‫Portanto, vamos ter certeza de que uma laranja está em nosso jogo e vamos começar o jogo agora.
‫Na verdade, fui muito lento, então vamos arrastar um pouco mais.
‫Vamos para a sala Tuti e vamos puxá-la para que eu tenha tempo suficiente e vamos maximizar e jogar.
‫E a imprensa, a tecla e como vocês podem ver, a fruta fatiada estava lá, e tudo bem, mas
‫claro, não parece muito bom.
‫Ele deve girar de alguma forma ou se mover em direções diferentes.
‫E é isso que podemos obter em nossas criações de alimentos fatiados, porque precisamos adicionar um corpo rígido aqui, que
‫provoca uma explosão.
‫E para fazer isso, temos que fazer o seguinte.
‫Então, vamos criar um corpo rígido.
‫E, neste caso, precisamos de uma matriz de corpos rígidos porque temos corpos muito rígidos com os quais estamos
‫falando.
‫Assim, a das ervilhas fatiadas da esquerda e a das ervilhas fatiadas da direita.
‫E vou chamá-lo de r b.
‫S ou corpos rígidos em fatiados.
‫E para inicializá-lo, precisamos do objeto do jogo inicializado com.
‫Então, vamos criar um objeto de jogo e chamá-lo de instância de agora.
‫O método instanciar precisa ter um objeto de jogo na frente dele para que agora não apenas instancie
‫o objeto de jogo, mas também crie um objeto de jogo que é salvo em INST.
‫Agora podemos usar isso para ir em frente e transformar o componente get em children e aqui o corpo
‫rígido.
‫Por isso quero ter o corpo rígido de cada uma das duas peças fatiadas.
‫E aqui está compacto reclamando porque não é um componente em crianças, mas são componentes em crianças, porque aqui
‫temos uma série de corpos rígidos.
‫Portanto, é plural.
‫Agora vamos examinar todas as diferentes peças que temos.
‫Portanto, todas essas diferentes fatias de laranja em fatias levam o corpo rígido chamado R em nosso B nas fatias.
‫Então, vamos percorrer essa matriz aqui e, para cada uma das peças, mudamos para transformar a rotação com uma
‫rotação aleatória.
‫Então, nós apenas criamos uma linha aleatória.
‫TATIAN E isso é lindo porque você vê que o método aleatório tem uma propriedade chamada rotação, que nos
‫dará apenas uma rotação aleatória.
‫Nem mesmo precisamos escrever um método aqui para fazer qualquer rotação aleatória aqui.
‫Então isso é muito legal com a classe aleatória agora.
‫Em seguida, queremos adicionar uma explosão para que as peças sigam em direções diferentes e sejam explodidas
‫em direções diferentes.
‫E como você pode ver aqui, nosso corpo rígido tem vários métodos de adição de força, força relativa, força
‫de explosão.
‫Tudo bem.
‫É exatamente isso que queremos ter.
‫Então, vamos usar isso.
‫Como você pode ver, existem várias sobrecargas e vamos usar esta aqui apenas com uma força de explosão.
‫Então, quão poderosa deve ser a força de explosão?
‫A posição da explosão?
‫Portanto, a posição de onde a explosão deve começar e, finalmente, o raio da explosão e o
‫valor da força de explosão devem ser aleatórios.
‫Não deve ser sempre o mesmo tipo de explosão, nem sempre deve ter a mesma aparência.
‫Portanto, às vezes ele deve voar mais longe, às vezes menos longe e assim por diante.
‫Então, vamos criar um intervalo de pensamento aleatório.
‫E os dois valores que desejo usar aqui são quinhentos e 1000.
‫Então, eu só quero ter uma força de explosão entre 500 e 1000, que deve ser aleatória.
‫Então a posição de explosão deve ser transformada a posição.
‫Portanto, a posição do objeto do jogo do que explodiu.
‫Portanto, neste caso são laranja.
‫Portanto, o centro da nossa laranja.
‫E então, finalmente, qual deve ser o raio de explosão?
‫E vou inserir cinco.
‫Esse é apenas um valor que testei e funciona bem aqui.
‫Então, vamos usar cinco F agora.
‫Vamos salvar isso novamente e voltar para o Unity.
‫E agora vamos apertar a tecla.
‫E como você pode ver, nosso Frood fica bem legal agora se duplicarmos a laranja e reposicionarmos cada laranja
‫um pouco.
‫Então, vamos mudar os valores aqui.
‫Então você verá como nossa pequena explosão parece legal.
‫Tudo bem.
‫E, finalmente, este aqui também.
‫Então, agora vamos começar o jogo novamente.
‫E você pode ver que a rotação é aleatória e a explosão em si também é aleatória, então eles voam para
‫direções diferentes, pessoas diferentes e assim por diante.
‫Então eu acho que isso já parece muito legal.
‫Então você vê, nós fazemos grandes explosões e sim, eu acho que isso é bom para este vídeo.
‫E no próximo vídeo, vamos verificar como gerar essas frutas porque agora temos que arrastá-las para nossa cena e
‫essa não é a melhor solução.
‫Então, vamos salvar a cena como de costume.
‫Não esqueça de salvar a cena e até o próximo vídeo.