[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:02.19,0:00:05.80,Default,,0000,0000,0000,,Bem-vindo de volta a série de vídeos do projeto scavengers. Dialogue: 0,0:00:05.80,0:00:07.80,Default,,0000,0000,0000,,No vídeo anterior vimos como configurar Dialogue: 0,0:00:07.80,0:00:10.50,Default,,0000,0000,0000,,o projeto e demonstrar o jogo finalizado. Dialogue: 0,0:00:11.44,0:00:13.74,Default,,0000,0000,0000,,Neste vídeo vamos criar as animações Dialogue: 0,0:00:13.74,0:00:15.74,Default,,0000,0000,0000,,para o jogador e inimigos Dialogue: 0,0:00:15.74,0:00:17.56,Default,,0000,0000,0000,,baseado no sprite sheet fornecido Dialogue: 0,0:00:17.56,0:00:21.03,Default,,0000,0000,0000,,e também configurar os prefabs do jogador e dos inimigos. Dialogue: 0,0:00:21.57,0:00:23.57,Default,,0000,0000,0000,,Vamos criar uma nova scene Dialogue: 0,0:00:26.90,0:00:31.07,Default,,0000,0000,0000,,e vamos começar criando o prefab do jogador, Dialogue: 0,0:00:31.07,0:00:33.34,Default,,0000,0000,0000,,e também as animações que serão utilizadas. Dialogue: 0,0:00:34.18,0:00:37.31,Default,,0000,0000,0000,,Vamos clicar em Game Object - Create Empty Dialogue: 0,0:00:39.33,0:00:41.33,Default,,0000,0000,0000,,e vamos chamar esse Game Object de Player. Dialogue: 0,0:00:43.26,0:00:45.78,Default,,0000,0000,0000,,Na nossa pasta Sprites temos uma sprite sheet, Dialogue: 0,0:00:45.78,0:00:48.75,Default,,0000,0000,0000,,que já foi separado Dialogue: 0,0:00:48.75,0:00:50.39,Default,,0000,0000,0000,,em múltiplos sprites. Dialogue: 0,0:00:50.39,0:00:52.93,Default,,0000,0000,0000,,Para mais informações sobre sprite sheets e Dialogue: 0,0:00:52.93,0:00:54.93,Default,,0000,0000,0000,,sprites você pode ler a informação no link abaixo. Dialogue: 0,0:00:55.31,0:00:57.31,Default,,0000,0000,0000,,Neste caso vamos selecionar o Dialogue: 0,0:00:57.31,0:01:00.15,Default,,0000,0000,0000,,primeiro conjunto de frames, Dialogue: 0,0:01:00.15,0:01:01.54,Default,,0000,0000,0000,,que são a animação do jogador parado, Dialogue: 0,0:01:01.54,0:01:03.54,Default,,0000,0000,0000,,e eu fiz isso clicando no primeiro frame e depois Dialogue: 0,0:01:03.54,0:01:05.73,Default,,0000,0000,0000,,shift-click no último frame que eu quero. Dialogue: 0,0:01:05.73,0:01:07.73,Default,,0000,0000,0000,,Eu vou clicar nos sprites selecionados e arrastá-los Dialogue: 0,0:01:07.73,0:01:09.19,Default,,0000,0000,0000,,para o player prefab. Dialogue: 0,0:01:09.78,0:01:11.39,Default,,0000,0000,0000,,E agora vamos dar um nome para a animação, Dialogue: 0,0:01:11.39,0:01:14.11,Default,,0000,0000,0000,,vamos chamá-la de PlayerIdle, Dialogue: 0,0:01:14.11,0:01:15.88,Default,,0000,0000,0000,,esta é a animação que será executada quando Dialogue: 0,0:01:15.88,0:01:17.79,Default,,0000,0000,0000,,o jogador não está fazendo nada. Dialogue: 0,0:01:17.79,0:01:20.47,Default,,0000,0000,0000,,Vamos colocar a animação na pasta Animations. Dialogue: 0,0:01:21.38,0:01:23.38,Default,,0000,0000,0000,,Você irá notar que quando fizemos isso que dois components Dialogue: 0,0:01:23.38,0:01:25.91,Default,,0000,0000,0000,,foram adicionados ao game object, um sprite renderer, Dialogue: 0,0:01:25.91,0:01:28.58,Default,,0000,0000,0000,,que irá desenhar o sprite atual da animação. Dialogue: 0,0:01:28.58,0:01:33.11,Default,,0000,0000,0000,,E um animator que irá permitir que nós controlemos a execução da animação. Dialogue: 0,0:01:33.11,0:01:35.11,Default,,0000,0000,0000,,Quando arrastamos os frames, estes dois Dialogue: 0,0:01:35.11,0:01:37.89,Default,,0000,0000,0000,,componentes foram adicionados, a Unity pedir que salvemos Dialogue: 0,0:01:37.89,0:01:41.58,Default,,0000,0000,0000,,a animação, que foi salva na pasta Animations. Dialogue: 0,0:01:41.98,0:01:45.15,Default,,0000,0000,0000,,Também foi criado o que chamamdos de animator controller, Dialogue: 0,0:01:45.15,0:01:47.15,Default,,0000,0000,0000,,que irá nos permitir gerenciar qual Dialogue: 0,0:01:47.15,0:01:48.94,Default,,0000,0000,0000,,animação está sendo executada. Dialogue: 0,0:01:48.94,0:01:52.10,Default,,0000,0000,0000,,Vamos movê-lo para nossa pasta Animator Controllers Dialogue: 0,0:01:52.78,0:01:55.24,Default,,0000,0000,0000,,E iremos adicionar mais algumas animações ao player. Dialogue: 0,0:01:55.91,0:01:57.34,Default,,0000,0000,0000,,Vamos voltar aos sprites. Dialogue: 0,0:01:58.11,0:02:00.49,Default,,0000,0000,0000,,E agora irei selecionar Dialogue: 0,0:02:01.65,0:02:05.14,Default,,0000,0000,0000,,os dois frames da animação PlayerChop, Dialogue: 0,0:02:05.14,0:02:06.52,Default,,0000,0000,0000,,arraste-os para o player, Dialogue: 0,0:02:07.41,0:02:09.41,Default,,0000,0000,0000,,e vamos chamá-la de PlayerChop. Dialogue: 0,0:02:10.10,0:02:12.86,Default,,0000,0000,0000,,Vamos colocar esta animação na pasta Animations. Dialogue: 0,0:02:16.98,0:02:18.98,Default,,0000,0000,0000,,Agora perceba que quando fizemos isso, não foi adicionado Dialogue: 0,0:02:18.98,0:02:20.98,Default,,0000,0000,0000,,outro animator controller, ao invés disso Dialogue: 0,0:02:20.98,0:02:24.01,Default,,0000,0000,0000,,esta animação foi adicionada ao animator controller Dialogue: 0,0:02:24.01,0:02:26.25,Default,,0000,0000,0000,,que já existe no player. Dialogue: 0,0:02:26.25,0:02:29.12,Default,,0000,0000,0000,,Vamos repetir este processo para a animação PlayerHit. Dialogue: 0,0:02:34.02,0:02:36.73,Default,,0000,0000,0000,,E em seguida podemos verificar se está funcionando corretamente. Dialogue: 0,0:02:40.29,0:02:42.63,Default,,0000,0000,0000,,Como podemos ver, nosso player tem a animação quando está parado, Dialogue: 0,0:02:42.63,0:02:44.63,Default,,0000,0000,0000,,mas ela está um pouco rápida Dialogue: 0,0:02:44.63,0:02:46.63,Default,,0000,0000,0000,,o que vamos fazer é abrir Dialogue: 0,0:02:46.63,0:02:50.14,Default,,0000,0000,0000,,o animator controller referenciado clicando duas vezes nele, Dialogue: 0,0:02:51.53,0:02:53.93,Default,,0000,0000,0000,,selecionar o estado PlayerIdle Dialogue: 0,0:02:53.93,0:02:56.78,Default,,0000,0000,0000,,e vamos alterar a velocidade da animação para 0.5, Dialogue: 0,0:02:56.78,0:02:59.49,Default,,0000,0000,0000,,que é metade da velocidade normal da animação. Dialogue: 0,0:02:59.49,0:03:01.49,Default,,0000,0000,0000,,Perceba que as outras duas animações Dialogue: 0,0:03:01.49,0:03:03.13,Default,,0000,0000,0000,,foram adicionadas como estados, Dialogue: 0,0:03:03.13,0:03:05.13,Default,,0000,0000,0000,,e mais para a frente na série de vídeos iremos Dialogue: 0,0:03:05.13,0:03:07.38,Default,,0000,0000,0000,,ver como controlar a mudança Dialogue: 0,0:03:07.38,0:03:09.66,Default,,0000,0000,0000,,entre estes estados via script. Dialogue: 0,0:03:10.14,0:03:11.43,Default,,0000,0000,0000,,Vamos verificar agora. Dialogue: 0,0:03:14.26,0:03:15.38,Default,,0000,0000,0000,,Muito bem. Dialogue: 0,0:03:17.42,0:03:19.42,Default,,0000,0000,0000,,Com as animações para o player feitas Dialogue: 0,0:03:19.42,0:03:21.42,Default,,0000,0000,0000,,vamos agora aplicar Dialogue: 0,0:03:21.42,0:03:24.70,Default,,0000,0000,0000,,uma tag ao player, chamada Player. Dialogue: 0,0:03:24.70,0:03:26.85,Default,,0000,0000,0000,,A tag Player já está pré-criada em Dialogue: 0,0:03:26.85,0:03:29.44,Default,,0000,0000,0000,,todos os projetos da Unity, nós também acrescentamos Dialogue: 0,0:03:29.44,0:03:32.33,Default,,0000,0000,0000,,algumas tags adicionais, food, exit, Dialogue: 0,0:03:32.33,0:03:33.93,Default,,0000,0000,0000,,enemy e soda. Dialogue: 0,0:03:33.93,0:03:35.93,Default,,0000,0000,0000,,Fizemos isso clicando em Add Tag Dialogue: 0,0:03:38.50,0:03:41.65,Default,,0000,0000,0000,,e digitando os nomes nos campos. Dialogue: 0,0:03:42.58,0:03:45.36,Default,,0000,0000,0000,,Vamos configurar a tag Player Dialogue: 0,0:03:45.36,0:03:47.49,Default,,0000,0000,0000,,e vamos também configurar a layer. Dialogue: 0,0:03:47.49,0:03:49.31,Default,,0000,0000,0000,,Aqui temos as layers default, Dialogue: 0,0:03:49.31,0:03:52.64,Default,,0000,0000,0000,,e acrescentamos uma layer adicional chamada Blocking. Dialogue: 0,0:03:52.64,0:03:54.64,Default,,0000,0000,0000,,Esta é a layer onde todas Dialogue: 0,0:03:54.64,0:03:56.64,Default,,0000,0000,0000,,as colisões serão checadas Dialogue: 0,0:03:56.64,0:03:58.64,Default,,0000,0000,0000,,portanto vamos selecionar esta layer Dialogue: 0,0:03:58.64,0:04:00.64,Default,,0000,0000,0000,,para o player, e criamos ela da mesma maneira, Dialogue: 0,0:04:00.94,0:04:03.71,Default,,0000,0000,0000,,selecionando Add Jayer e digitando o nome. Dialogue: 0,0:04:03.71,0:04:06.26,Default,,0000,0000,0000,,Vamos selecionar a layer Blocking. Dialogue: 0,0:04:06.26,0:04:08.26,Default,,0000,0000,0000,,Vamos adicionar mais uma layer Dialogue: 0,0:04:08.26,0:04:10.26,Default,,0000,0000,0000,,relacionada ao jogador, ou seja Dialogue: 0,0:04:10.26,0:04:13.09,Default,,0000,0000,0000,,vamos configurar a layer para o sprite renderer. Dialogue: 0,0:04:13.09,0:04:15.84,Default,,0000,0000,0000,,Temos algumas layers pré-definidas, Dialogue: 0,0:04:15.84,0:04:19.05,Default,,0000,0000,0000,,A layer Floor, que será para o nosso cenário. Dialogue: 0,0:04:19.05,0:04:21.05,Default,,0000,0000,0000,,A layer Item que será renderizada na frente Dialogue: 0,0:04:21.05,0:04:23.48,Default,,0000,0000,0000,,do cenário, que será utilizada pela comida e pelo refrigerante. Dialogue: 0,0:04:23.48,0:04:26.46,Default,,0000,0000,0000,,E uma layer Units para o player e os inimigos. Dialogue: 0,0:04:26.46,0:04:29.36,Default,,0000,0000,0000,,Vamos associar a player a layer Units. Dialogue: 0,0:04:29.59,0:04:32.39,Default,,0000,0000,0000,,Depois vamos adicionar dois components Dialogue: 0,0:04:32.39,0:04:35.58,Default,,0000,0000,0000,,ao player, vamos adicionar um box collider 2D Dialogue: 0,0:04:35.58,0:04:37.58,Default,,0000,0000,0000,,e um rigidbody 2D. Dialogue: 0,0:04:37.58,0:04:39.58,Default,,0000,0000,0000,,O box collider 2D irá nos permitir Dialogue: 0,0:04:39.58,0:04:41.58,Default,,0000,0000,0000,,verificar colisões contra o player. Dialogue: 0,0:04:41.95,0:04:43.95,Default,,0000,0000,0000,,E o rigidbody 2D nos irá permitir Dialogue: 0,0:04:43.95,0:04:46.59,Default,,0000,0000,0000,,mover o player usando o sistema de física da Unity. Dialogue: 0,0:04:46.96,0:04:50.01,Default,,0000,0000,0000,,Vamos configurar o rigidbody 2D para Is Kinematic Dialogue: 0,0:04:50.01,0:04:52.01,Default,,0000,0000,0000,,já que não queremos o player voando Dialogue: 0,0:04:52.01,0:04:54.01,Default,,0000,0000,0000,,e quicando pelo cenário, nós apenas vamos movê-lo Dialogue: 0,0:04:54.01,0:04:56.83,Default,,0000,0000,0000,,no grid de espaços do nosso cenário. Dialogue: 0,0:04:56.83,0:04:59.16,Default,,0000,0000,0000,,E vamos controlar o movimento usando um script Dialogue: 0,0:04:59.16,0:05:01.16,Default,,0000,0000,0000,,e configurando como Is Kinematic. Dialogue: 0,0:05:01.45,0:05:03.45,Default,,0000,0000,0000,,Vamos tambem ajustar o tamanho do Dialogue: 0,0:05:03.45,0:05:05.45,Default,,0000,0000,0000,,nosso box collider 2D Dialogue: 0,0:05:05.45,0:05:07.45,Default,,0000,0000,0000,,fazendo com que ele fique um pouco menor para que o Dialogue: 0,0:05:07.45,0:05:09.45,Default,,0000,0000,0000,,player não colida acidentalmente com Dialogue: 0,0:05:09.45,0:05:11.90,Default,,0000,0000,0000,,objetos nos espaços adjacentes, Dialogue: 0,0:05:11.90,0:05:14.39,Default,,0000,0000,0000,,apenas quando tentarmos mover para um espaço Dialogue: 0,0:05:14.39,0:05:16.51,Default,,0000,0000,0000,,já ocupado por outro collider. Dialogue: 0,0:05:16.51,0:05:18.51,Default,,0000,0000,0000,,Há outros componentes que iremos adicionar ao Dialogue: 0,0:05:18.51,0:05:21.16,Default,,0000,0000,0000,,player conforme desenvolvemos ele, mas por enquanto este é um bom ponto de partida. Dialogue: 0,0:05:21.16,0:05:23.16,Default,,0000,0000,0000,,Agora vamos selecionar o player Dialogue: 0,0:05:23.16,0:05:26.76,Default,,0000,0000,0000,,e arrastá-lo para nossa pasta Prefabs para criar um prefab. Dialogue: 0,0:05:27.37,0:05:29.25,Default,,0000,0000,0000,,Com o prefab criado Dialogue: 0,0:05:29.25,0:05:31.86,Default,,0000,0000,0000,,podemos remover temporariamente o player da hierarquia Dialogue: 0,0:05:31.86,0:05:33.86,Default,,0000,0000,0000,,e agora vamos criar nosso primeiro inimigo. Dialogue: 0,0:05:34.15,0:05:37.06,Default,,0000,0000,0000,,Vamos clicar em Game Object - Create Empty Dialogue: 0,0:05:37.06,0:05:39.11,Default,,0000,0000,0000,,e vamos chamá-lo de Enemy1. Dialogue: 0,0:05:39.11,0:05:42.65,Default,,0000,0000,0000,,Vamos começar acrescentando animações ao Enemy1. Dialogue: 0,0:05:42.65,0:05:44.25,Default,,0000,0000,0000,,Vamos voltar para os sprites Dialogue: 0,0:05:44.83,0:05:47.83,Default,,0000,0000,0000,,shift-click nos frames da animação EnemyIdle Dialogue: 0,0:05:47.83,0:05:49.16,Default,,0000,0000,0000,,e arraste-os. Dialogue: 0,0:05:50.39,0:05:52.39,Default,,0000,0000,0000,,Vamos chamar de Enemy1Idle. Dialogue: 0,0:05:52.66,0:05:54.55,Default,,0000,0000,0000,,This is going to automatically add the components that\NAutomaticamente os componentes necessários Dialogue: 0,0:05:54.55,0:05:56.55,Default,,0000,0000,0000,,serão adicionados e iremos acrescentar os outros Dialogue: 0,0:05:56.55,0:05:58.55,Default,,0000,0000,0000,,frames de nossa animação. Dialogue: 0,0:06:02.07,0:06:04.07,Default,,0000,0000,0000,,Adicione a animação Attack. Dialogue: 0,0:06:05.98,0:06:07.98,Default,,0000,0000,0000,,Podemos verificar que as animações estão funcionando. Dialogue: 0,0:06:11.26,0:06:12.81,Default,,0000,0000,0000,,Aí esta. Dialogue: 0,0:06:13.98,0:06:18.12,Default,,0000,0000,0000,,Agora também vamos acrescentar um box collider e um rigidbody. Dialogue: 0,0:06:24.39,0:06:26.39,Default,,0000,0000,0000,,Também vamos configurar o rigidbody do Enemy Dialogue: 0,0:06:26.39,0:06:28.27,Default,,0000,0000,0000,,para Is Kinematic Dialogue: 0,0:06:28.27,0:06:30.54,Default,,0000,0000,0000,,e vamos configurar a tag Enemy Dialogue: 0,0:06:30.54,0:06:33.21,Default,,0000,0000,0000,,e configurar o Enemy para a layer Blocking. Dialogue: 0,0:06:33.21,0:06:37.08,Default,,0000,0000,0000,,Vamos também configurar o sorting layer do sprite renderer para Units. Dialogue: 0,0:06:41.17,0:06:43.17,Default,,0000,0000,0000,,Isto feito vamos arrastar o Enemy Dialogue: 0,0:06:43.17,0:06:45.17,Default,,0000,0000,0000,,para criar o prefab do primeiro inimigo. Dialogue: 0,0:06:48.94,0:06:51.07,Default,,0000,0000,0000,,Mas ao invés de apagar o inimigo nós vamos apenas Dialogue: 0,0:06:51.07,0:06:53.07,Default,,0000,0000,0000,,modificá-lo para criar o segundo inimigo. Dialogue: 0,0:06:53.98,0:06:55.98,Default,,0000,0000,0000,,Renomeie-o para Enemy2. Dialogue: 0,0:06:59.03,0:07:00.87,Default,,0000,0000,0000,,E vamos arrastar Dialogue: 0,0:07:00.87,0:07:02.87,Default,,0000,0000,0000,,os frames da animação Enemy2Idle. Dialogue: 0,0:07:12.19,0:07:14.19,Default,,0000,0000,0000,,E da animação Enemy2Attack. Dialogue: 0,0:07:20.94,0:07:23.46,Default,,0000,0000,0000,,Quando arrastamos a animação Dialogue: 0,0:07:23.46,0:07:26.70,Default,,0000,0000,0000,,para o inimigo criamos um novo animator controller. Dialogue: 0,0:07:26.70,0:07:30.60,Default,,0000,0000,0000,,Vamos movê-lo para a pasta Animator Controllers. Dialogue: 0,0:07:30.60,0:07:34.26,Default,,0000,0000,0000,,Agora vamos abrir o animator controller do Enemy1 Dialogue: 0,0:07:34.26,0:07:36.26,Default,,0000,0000,0000,,e podemos ver que todas as Dialogue: 0,0:07:36.26,0:07:39.18,Default,,0000,0000,0000,,animações foram acrescentadas como estados. Dialogue: 0,0:07:39.18,0:07:40.73,Default,,0000,0000,0000,,Agora o que nós vamos fazer é Dialogue: 0,0:07:40.73,0:07:43.42,Default,,0000,0000,0000,,apagar os estados relativos ao Enemy2 Dialogue: 0,0:07:43.42,0:07:45.42,Default,,0000,0000,0000,,para isso, fazemos shift-click em cada estado Dialogue: 0,0:07:45.42,0:07:48.89,Default,,0000,0000,0000,,e depois clicamos com o botão direto para apagar. Dialogue: 0,0:07:49.50,0:07:51.50,Default,,0000,0000,0000,,Agora a Unity vai perguntar se queremos apagar os assets selecionados Dialogue: 0,0:07:51.50,0:07:53.50,Default,,0000,0000,0000,,escolha "Delete" Dialogue: 0,0:07:55.09,0:07:57.41,Default,,0000,0000,0000,,E fizemos isso porque Dialogue: 0,0:07:57.41,0:07:59.41,Default,,0000,0000,0000,,Enemy1 e Enemy2 irão compartilhar Dialogue: 0,0:07:59.41,0:08:02.80,Default,,0000,0000,0000,,a mesma máquina de estados, pois ambos tem os mesmos dois estados Dialogue: 0,0:08:02.80,0:08:04.73,Default,,0000,0000,0000,,Idle e Attack. Dialogue: 0,0:08:04.73,0:08:06.73,Default,,0000,0000,0000,,O que vamos fazer agora é criar o que chamamos de Dialogue: 0,0:08:06.73,0:08:08.73,Default,,0000,0000,0000,,animator override controller, Dialogue: 0,0:08:09.39,0:08:12.73,Default,,0000,0000,0000,,que nos vai permitir utilizar a mesma máquina de estados Dialogue: 0,0:08:12.73,0:08:14.63,Default,,0000,0000,0000,,e o mesmo script para controle Dialogue: 0,0:08:14.63,0:08:16.63,Default,,0000,0000,0000,,mas executar animações diferentes Dialogue: 0,0:08:16.63,0:08:18.45,Default,,0000,0000,0000,,em cada um dos estados. Dialogue: 0,0:08:18.45,0:08:19.95,Default,,0000,0000,0000,,Então vamos selecionar Dialogue: 0,0:08:19.95,0:08:23.63,Default,,0000,0000,0000,,Create - Animator Override Controller. Dialogue: 0,0:08:27.37,0:08:29.37,Default,,0000,0000,0000,,Vamos chamar de Enemy2 Dialogue: 0,0:08:29.74,0:08:31.74,Default,,0000,0000,0000,,E a primeira coisa que vamos fazer é especificar Dialogue: 0,0:08:31.74,0:08:34.64,Default,,0000,0000,0000,,qual controller vai ser afetado pelo override, Dialogue: 0,0:08:34.64,0:08:37.50,Default,,0000,0000,0000,,selecionamos o controller do Enemy1 e arrastá-lo. Dialogue: 0,0:08:39.29,0:08:41.29,Default,,0000,0000,0000,,E aqui estão as duas Dialogue: 0,0:08:41.29,0:08:43.95,Default,,0000,0000,0000,,animações originais que iremos executar, Dialogue: 0,0:08:43.95,0:08:46.62,Default,,0000,0000,0000,,Enemy1Idle e Enemy1Attack, Dialogue: 0,0:08:46.62,0:08:49.21,Default,,0000,0000,0000,,e nos vamos substituí-las por Dialogue: 0,0:08:49.81,0:08:51.81,Default,,0000,0000,0000,,Enemy2Attack Dialogue: 0,0:08:54.10,0:08:56.10,Default,,0000,0000,0000,,e Enemy2Idle. Dialogue: 0,0:08:58.55,0:09:00.55,Default,,0000,0000,0000,,E no Enemy2 iremos mudar Dialogue: 0,0:09:00.55,0:09:02.55,Default,,0000,0000,0000,,o animator controller para agora Dialogue: 0,0:09:02.55,0:09:05.59,Default,,0000,0000,0000,,utilizar o animator override controller. Dialogue: 0,0:09:11.25,0:09:13.25,Default,,0000,0000,0000,,Agora se executamos a cena. Dialogue: 0,0:09:15.91,0:09:16.96,Default,,0000,0000,0000,,Aí está. Dialogue: 0,0:09:18.42,0:09:22.62,Default,,0000,0000,0000,,Finalmente vamos arrastar Enemy2 para a pasta Prefabs Dialogue: 0,0:09:23.90,0:09:25.51,Default,,0000,0000,0000,,para criar um novo prefab. Dialogue: 0,0:09:25.51,0:09:28.35,Default,,0000,0000,0000,,Em seguida vamos apagar Enemy2 da hierarquia Dialogue: 0,0:09:28.35,0:09:30.35,Default,,0000,0000,0000,,e salvar a cena. Dialogue: 0,0:09:31.37,0:09:32.100,Default,,0000,0000,0000,,Vamos chamá-la de Main Dialogue: 0,0:09:32.100,0:09:35.93,Default,,0000,0000,0000,,e salvá-la na nossa pasta Scenes. Dialogue: 0,0:09:36.83,0:09:39.29,Default,,0000,0000,0000,,Agora que temos nossos prefabs básicos criados Dialogue: 0,0:09:39.29,0:09:41.77,Default,,0000,0000,0000,,para o Player e nossos inimigos Dialogue: 0,0:09:41.77,0:09:43.77,Default,,0000,0000,0000,,agora vamos criar os outros Dialogue: 0,0:09:43.77,0:09:46.68,Default,,0000,0000,0000,,prefabs, e vamos também criar o layout do nosso cenário. Dialogue: 0,0:09:46.68,0:09:48.68,Default,,0000,0000,0000,,No próximo vídeo vamos criar Dialogue: 0,0:09:48.68,0:09:52.75,Default,,0000,0000,0000,,os prefabs do chão, paredes, comida, refrigerante Dialogue: 0,0:09:52.75,0:09:54.75,Default,,0000,0000,0000,,e saída.