WEBVTT 00:00:07.750 --> 00:00:09.596 Agora, galera, a gente já tem 00:00:09.596 --> 00:00:14.068 um sistema funcionando bem legal aqui dentro de um level só. 00:00:14.068 --> 00:00:15.277 Só que agora, eu quero expandir 00:00:15.277 --> 00:00:18.025 um pouco o nosso pensamento para gente se encaixar 00:00:18.025 --> 00:00:19.052 em outras situações. 00:00:19.052 --> 00:00:20.554 "Que tipo de situação, Daniel?" 00:00:20.554 --> 00:00:23.039 Vamos supor que esse sistema todo que a gente tem na mão, 00:00:23.039 --> 00:00:25.125 a gente quer usar em outros levels. 00:00:25.125 --> 00:00:26.860 Eu posso simplesmente selecionar todo mundo 00:00:26.860 --> 00:00:28.695 e dar aquele bom e velho Control C, Control V? 00:00:28.695 --> 00:00:29.929 Claro que pode. 00:00:29.929 --> 00:00:31.765 Só que eu quero deixar uma forma mais profissional. 00:00:31.765 --> 00:00:32.740 Se, de repente, você está trabalhando 00:00:32.740 --> 00:00:34.000 com outro programador, 00:00:34.000 --> 00:00:36.063 vocês vão querer, de repente, compartilhar um arquivo ou outro. 00:00:36.063 --> 00:00:38.466 Então, é por isso que eu vou expandir um pouco mais 00:00:38.466 --> 00:00:40.150 a linha de raciocínio da classe. 00:00:40.150 --> 00:00:41.777 Então, aqui, gente, 00:00:41.777 --> 00:00:44.007 nós temos o nosso Level Blueprint, 00:00:44.007 --> 00:00:47.154 que é onde tem todas essas regras aqui. 00:00:47.154 --> 00:00:49.623 E a gente tem basicamente um coletável, 00:00:49.623 --> 00:00:50.850 vamos dizer assim. 00:00:50.850 --> 00:00:54.413 Daria até para melhorar o aspecto desse coletável, 00:00:54.413 --> 00:00:57.318 deixando-o, de repente, visualmente 00:00:57.318 --> 00:01:00.097 A gente pode até de, repente, vir aqui embaixo, 00:01:00.097 --> 00:01:02.629 na parte de "Rendering" e desligá-lo. 00:01:02.629 --> 00:01:05.844 Ou, no caso, ligar o "Actor Hidden in Game", 00:01:05.844 --> 00:01:07.867 Que é para ele ficar com mais carinha de coletável mesmo. 00:01:07.867 --> 00:01:13.238 Então, você vai esbarrar nele e ele vai ser deletado. 00:01:13.238 --> 00:01:16.976 Essa briga que ele faz, ele meio que dá uma teimada, 00:01:16.976 --> 00:01:21.707 é porque justamente a colisão dele vem antes 00:01:21.707 --> 00:01:23.816 do próprio trigger box. 00:01:23.816 --> 00:01:26.334 Então, por isso que justamente em uma linha de raciocínio dessa, 00:01:26.334 --> 00:01:28.078 a gente dá uma engordada na trigger box, 00:01:28.078 --> 00:01:31.687 que é para garantir que ele vai colidir primeiro 00:01:31.687 --> 00:01:33.585 com a box para aí, sim, 00:01:33.585 --> 00:01:35.561 ele deletar a tal da esfera. 00:01:35.561 --> 00:01:38.861 Então, sim, isso aqui agora é um sistema de coletável. 00:01:38.861 --> 00:01:41.334 O que eu quero começar a apresentar para vocês 00:01:41.334 --> 00:01:44.083 é algo que não fique preso no level. 00:01:44.083 --> 00:01:45.387 Qual é uma boa prática? 00:01:45.387 --> 00:01:49.195 Aliás, uma excelente prática para o desenvolvimento de jogos? 00:01:49.195 --> 00:01:51.756 É no Level Blueprint, você programar coisas 00:01:51.756 --> 00:01:53.259 que tenham a ver com o level. 00:01:53.259 --> 00:01:55.779 Então, desafios que vão ter dentro do level. 00:01:55.779 --> 00:01:57.282 Você tem um sistema de coletável, 00:01:57.282 --> 00:02:00.519 como, de repente, uma moeda, uma arma, 00:02:00.519 --> 00:02:02.874 que você quer coletar e tudo mais. 00:02:02.874 --> 00:02:06.626 Esse sistema, nessa mecânica, ela vai ser repetida em outros levels. 00:02:06.626 --> 00:02:08.454 Aliás, essa é a graça do jogo. 00:02:08.454 --> 00:02:10.930 É você ter vários sistemas que vão funcionar 00:02:10.930 --> 00:02:12.732 em vários universos diferentes. 00:02:12.732 --> 00:02:14.634 Então, por isso que agora, eu quero mostrar para vocês 00:02:14.634 --> 00:02:15.756 para valer mesmo, 00:02:15.756 --> 00:02:17.069 a tal da classe. 00:02:17.069 --> 00:02:20.503 Vamos aqui no nosso Content Drawer, vamos começar a customizar 00:02:20.503 --> 00:02:21.941 esses caras aqui. 00:02:21.941 --> 00:02:25.853 A gente pode vir aqui em "Content", que é a raiz do nosso projeto. 00:02:25.853 --> 00:02:27.306 Eu vou apertar o botão direito aqui, 00:02:27.306 --> 00:02:28.281 "New Folder". 00:02:28.281 --> 00:02:31.568 Vamos antes de tudo ser pessoas organizadas. 00:02:31.568 --> 00:02:34.020 Eu vou chamar esse cara aqui de "Collectibles". 00:02:34.020 --> 00:02:36.130 Para quem quiser botar tudo em português, 00:02:36.130 --> 00:02:36.937 beleza. 00:02:36.937 --> 00:02:38.424 É coletáveis. 00:02:38.424 --> 00:02:41.092 O meu convite é sempre já tentar aproveitar para treinar o inglês, 00:02:41.092 --> 00:02:43.029 por mais que você esteja um pouco enferrujado, 00:02:43.029 --> 00:02:44.705 porque o mercado é todo em inglês, né? 00:02:44.705 --> 00:02:48.728 As vagas, as melhores vagas, vão ser lá fora justamente. 00:02:48.728 --> 00:02:49.926 Então, collectibles. 00:02:49.926 --> 00:02:51.804 Vamos entrar aqui nesse cara. 00:02:51.804 --> 00:02:54.290 Botão direito novamente, "Blueprint Class". 00:02:54.290 --> 00:02:56.075 Olha o cara que eu estou falando. 00:02:56.075 --> 00:02:59.078 Na verdade, ele juntou dois caras que eu já estou falando aqui, 00:02:59.078 --> 00:03:00.716 que são o sistema de blueprint, 00:03:00.716 --> 00:03:03.216 que é a linguagem que a gente está utilizando para fazer 00:03:03.216 --> 00:03:06.850 a comunicação entre nós e a máquina, 00:03:06.850 --> 00:03:07.635 e uma classe. 00:03:07.635 --> 00:03:09.811 Vamos criar aqui. 00:03:09.811 --> 00:03:11.778 Só que antes, ele vai me dar uma tela, 00:03:11.778 --> 00:03:14.360 a famosa floating bar, 00:03:14.360 --> 00:03:16.495 perguntando que tipo de blueprint. 00:03:16.495 --> 00:03:20.856 Como é uma boa prática da Unreal, da Epic, 00:03:20.856 --> 00:03:22.868 eles gostam de facilitar a vida do desenvolvedor, 00:03:22.868 --> 00:03:25.371 então, eles vão dar sempre um kit de ferramentas 00:03:25.371 --> 00:03:27.754 já meio mastigado, que é para facilitar 00:03:27.754 --> 00:03:29.208 a vida do desenvolvedor. 00:03:29.208 --> 00:03:30.683 Então, vocês vão reparar aqui o seguinte: 00:03:30.683 --> 00:03:32.586 tem vários tipos de classes aqui. 00:03:32.586 --> 00:03:34.380 Você tem um "Actor", você tem um "Pawn", 00:03:34.380 --> 00:03:36.638 você tem um "Character", você tem o "Player Controller" 00:03:36.638 --> 00:03:37.783 e por aí vai. 00:03:37.783 --> 00:03:40.593 Ou seja, cada um vai ser um tipo de classe 00:03:40.593 --> 00:03:42.388 para momentos específicos. 00:03:42.388 --> 00:03:43.455 Então, o Actor, 00:03:43.455 --> 00:03:44.753 a ideia dele, 00:03:44.753 --> 00:03:48.032 é você fazer um arquivo, em que você pode jogá-lo 00:03:48.032 --> 00:03:49.531 para dentro do seu level. 00:03:49.531 --> 00:03:52.925 Para esse arquivo ser algo que você pode colocar 00:03:52.925 --> 00:03:55.028 em qualquer level, porque ele é um ator. 00:03:55.028 --> 00:03:57.224 Um ator, ele não pode interpretar qualquer filme, 00:03:57.224 --> 00:03:58.553 qualquer peça de teatro? 00:03:58.553 --> 00:04:00.306 Essa é a ideia, essa é a logística. 00:04:00.306 --> 00:04:03.209 Então, ele é uma classe de um ator que tem as regras 00:04:03.209 --> 00:04:04.143 dentro do universo dele, 00:04:04.143 --> 00:04:07.164 só que ele pode funcionar em qualquer level. 00:04:07.164 --> 00:04:10.781 Só que muitas vezes, vamos supor aqui que esse ator, 00:04:10.781 --> 00:04:12.207 ele não é mais um objeto. 00:04:12.207 --> 00:04:15.638 Ele passa a ser, de repente, algo que você pode controlar. 00:04:15.638 --> 00:04:16.650 É por isso que ele, 00:04:16.650 --> 00:04:19.125 aliás, eu gosto dos ícones que eles escolhem. 00:04:19.125 --> 00:04:20.618 Você pode ver que o ícone do Pawn 00:04:20.618 --> 00:04:22.304 é uma peça de xadrez. 00:04:22.304 --> 00:04:22.947 O que acontece? 00:04:22.947 --> 00:04:24.232 Quando você está com um tabuleiro de xadrez 00:04:24.232 --> 00:04:26.925 ali na sua frente, 00:04:26.925 --> 00:04:27.700 o que acontece? 00:04:27.700 --> 00:04:30.368 Você é a mente ali que está raciocinando, 00:04:30.368 --> 00:04:32.304 está pensando nas suas estratégias. 00:04:32.304 --> 00:04:35.814 Só que para você colocar a sua estratégia em ação, 00:04:35.814 --> 00:04:38.945 você vai precisar possuir, dar o Pawn, 00:04:38.945 --> 00:04:40.980 justamente, controlar algumas peças 00:04:40.980 --> 00:04:42.322 para ir de pouco em pouco, 00:04:42.322 --> 00:04:45.366 você vai executando toda a sua estratégia. 00:04:45.366 --> 00:04:50.684 Então, às vezes existe uma regra, assim como no jogo de xadrez, 00:04:50.684 --> 00:04:52.406 em qualquer jogo de tabuleiro, basicamente, 00:04:52.406 --> 00:04:54.869 as movimentações seguem regras. 00:04:54.869 --> 00:04:55.834 Então, esse Pawn, 00:04:55.834 --> 00:04:57.199 é justamente o momento, 00:04:57.199 --> 00:05:00.032 em que você está colocando regras, eventos, 00:05:00.032 --> 00:05:03.363 condições, sistemas, mecânicas 00:05:03.363 --> 00:05:04.861 para o ato de controlar algo. 00:05:04.861 --> 00:05:07.243 Então, imagina um jogo que ele está 3D 00:05:07.243 --> 00:05:09.341 e do nada você esbarra em uma coisa e ele vira 2D. 00:05:09.341 --> 00:05:10.661 Já aconteceu isso em jogo com você, 00:05:10.661 --> 00:05:11.443 tenho certeza. 00:05:11.443 --> 00:05:15.555 Mario Party, antigão, lá do 64, Game Cube, Nintendo WII, 00:05:15.555 --> 00:05:17.611 e as mecânicas trocavam toda hora. 00:05:17.611 --> 00:05:20.730 Ou seja, o sistema de Pawn, ele vai mudando, 00:05:20.730 --> 00:05:21.929 o character muda. 00:05:21.929 --> 00:05:25.260 Então, às vezes você tem personagens 00:05:25.260 --> 00:05:27.570 que vão ter regras diferentes. 00:05:27.570 --> 00:05:30.006 Então, tem um personagem, que, na verdade, vai ser inimigo, 00:05:30.006 --> 00:05:31.683 ele não vai ser o jogador principal. 00:05:31.683 --> 00:05:32.698 Então, por isso que ele dá uma classe diferente. 00:05:32.698 --> 00:05:36.215 Você tem um controle, 00:05:36.215 --> 00:05:39.562 a maneira de você utilizar a usabilidade às vezes muda, 00:05:39.562 --> 00:05:42.222 Então, é por isso que nós temos aqui vários camaradas 00:05:42.222 --> 00:05:44.967 bem diferentes 00:05:44.967 --> 00:05:47.221 e vão apresentar ferramentas diferentes para nós. 00:05:47.221 --> 00:05:49.008 Por último, eu só queria falar para vocês 00:05:49.008 --> 00:05:50.416 do Game Mode. 00:05:50.416 --> 00:05:52.551 O Game Mode é um tipo de classe 00:05:52.551 --> 00:05:55.120 em que a gente vai colocar as regras do jogo. 00:05:55.120 --> 00:05:58.123 Ele é um código que a Unreal toda hora o lê. 00:05:58.123 --> 00:05:59.107 Ela sempre o consulta: 00:05:59.107 --> 00:06:00.894 "Game Mode está certo isso aqui?" 00:06:00.894 --> 00:06:02.094 Então, beleza. 00:06:02.094 --> 00:06:03.595 Ela é como se fosse uma consulta geral. 00:06:03.595 --> 00:06:05.564 É o grande diretor é o Game Mode. 00:06:05.564 --> 00:06:07.315 Vamos começar com um Actor. 00:06:07.315 --> 00:06:09.201 Uma boa prática que a gente faz, 00:06:09.201 --> 00:06:11.789 a nomenclatura que a gente costuma seguir em jogos é: 00:06:11.789 --> 00:06:15.924 "BP", de Blueprint, em letra maiúscula, underline. 00:06:15.924 --> 00:06:17.100 Qual é a ocasião? 00:06:17.100 --> 00:06:19.134 Então, "Collectable". 00:06:19.134 --> 00:06:20.063 Esse aqui, gente, 00:06:20.063 --> 00:06:21.780 é o que a gente chama de parent class. 00:06:21.780 --> 00:06:23.326 É uma classe pai. 00:06:23.326 --> 00:06:25.973 Eu vou fazer aqui um coletável pai. 00:06:25.973 --> 00:06:28.453 "Como assim Pai, Daniel?" 00:06:28.453 --> 00:06:30.188 A ideia aqui do desenvolvedor, 00:06:30.188 --> 00:06:31.924 uma brincadeira que a gente costuma fazer 00:06:31.924 --> 00:06:33.425 entre desenvolvedores é que o desenvolvedor 00:06:33.425 --> 00:06:35.047 parece que é uma raça meio preguiçosa. 00:06:35.047 --> 00:06:36.131 Por quê? 00:06:36.131 --> 00:06:38.804 Às vezes ele gosta de programa um camarada só 00:06:38.804 --> 00:06:40.968 para depois ele só replicar. 00:06:40.968 --> 00:06:44.036 É uma brincadeira, mas é uma brincadeira muito efetiva, 00:06:44.036 --> 00:06:46.180 ou seja, você vai sofrer uma vez só com a linha de raciocínio. 00:06:46.180 --> 00:06:47.873 Depois, você vai replicá-la. 00:06:47.873 --> 00:06:50.121 Então, esse aqui vai ser o nosso father, 00:06:50.121 --> 00:06:51.584 o nosso pai. 00:06:51.584 --> 00:06:53.245 A gente pode abri-lo. 00:06:53.245 --> 00:06:54.287 E ele vai ter uma cara, 00:06:54.287 --> 00:06:56.915 ele vai ter justamente "Viewport", "Construction Script" 00:06:56.915 --> 00:06:58.684 e "Event Graph". 00:06:58.684 --> 00:06:59.751 Olha só que legal. 00:06:59.751 --> 00:07:02.154 E pode ser que esses caras aqui, eles tenham sumido. 00:07:02.154 --> 00:07:03.868 Pode ser que aconteça isso aqui, olha: 00:07:03.868 --> 00:07:05.424 já aconteceu no meu Unreal. 00:07:05.424 --> 00:07:07.386 Então, "Palma, palma, não priemos cânico", 00:07:07.386 --> 00:07:09.227 como diria o nosso Chapolin Colorado. 00:07:09.227 --> 00:07:11.441 A gente vê no lado esquerdo aqui em "My Blueprint" 00:07:11.441 --> 00:07:13.671 e você tem "Functions", "Constructions Script". 00:07:13.671 --> 00:07:14.786 Você pode ligá-lo aqui. 00:07:14.786 --> 00:07:17.169 Ou se, de repente, quem sumiu foi o Event Graphic. 00:07:17.169 --> 00:07:18.620 Você pode clicar duas vezes aqui. 00:07:18.620 --> 00:07:20.002 Pode mudar de ordem. 00:07:20.002 --> 00:07:22.307 Enfim, fiquem à vontade. 00:07:22.307 --> 00:07:25.043 E assim como nas outras partes aqui da Unreal, 00:07:25.043 --> 00:07:26.727 a gente tinha lá, por exemplo, um outliner, 00:07:26.727 --> 00:07:28.547 que é uma lista das coisas. 00:07:28.547 --> 00:07:31.083 A gente tem aqui também os nossos componentes. 00:07:31.083 --> 00:07:34.850 Dá para a gente começar a compor tudo o que precisa visualmente 00:07:34.850 --> 00:07:36.338 para, de repente, fazer uma moeda. 00:07:36.338 --> 00:07:37.856 Eu vou usar um exemplo de uma moeda. 00:07:37.856 --> 00:07:40.153 Então, a gente vai precisar, de pelo menos duas coisas: 00:07:40.153 --> 00:07:43.527 uma arte da moeda e a caixa de colisão, 00:07:43.527 --> 00:07:46.851 que é o que a gente já tinha começado a fazer. 00:07:46.851 --> 00:07:49.000 De repente, dá pra colocar até uma partícula 00:07:49.000 --> 00:07:51.036 de efeito especial para fazer um brilho. 00:07:51.036 --> 00:07:52.218 Dá para colocar justamente empilhando aqui. 00:07:52.218 --> 00:07:56.809 Cada componente visual pode ser justamente uma peça. 00:07:56.809 --> 00:07:58.310 Então, vamos dar um "Add" aqui. 00:07:58.310 --> 00:08:01.179 Eu posso começar com "Cylinder". 00:08:01.179 --> 00:08:04.738 Cylinder em inglês começa com y, então, c, y, l, 00:08:04.738 --> 00:08:08.106 para você começar a procurar cylinder, 00:08:08.106 --> 00:08:11.423 e dá para a gente só dar uma leve customizada nele aqui. 00:08:11.423 --> 00:08:14.459 Vamos apertar "E" para poder rotacionar. 00:08:14.459 --> 00:08:16.591 Rotaciona aqui 90°. 00:08:16.591 --> 00:08:17.861 Vamos com a escala. 00:08:17.861 --> 00:08:20.223 Dá uma amassada nele. 00:08:20.223 --> 00:08:21.280 E aí, é o seguinte: 00:08:21.280 --> 00:08:23.101 Caso vocês tenham criado esse projeto 00:08:23.101 --> 00:08:26.104 com o Starter Content, 00:08:26.104 --> 00:08:27.839 a gente vai poder colocar uma camarada aqui 00:08:27.839 --> 00:08:30.122 chamada Gold Material. 00:08:30.122 --> 00:08:35.250 Você vem aqui em "Material", do lado "M_Metal_Gold". 00:08:35.250 --> 00:08:37.816 "Daniel, acho que eu estava meio distraído. 00:08:37.816 --> 00:08:41.130 Eu acho que eu esqueci de ticar a caixa do Starter Content. 00:08:41.130 --> 00:08:42.371 E aí, lascou a vida? 00:08:42.371 --> 00:08:44.522 Eu preciso deletar esse projeto e criar outro?" 00:08:44.522 --> 00:08:45.490 Não precisa. 00:08:45.490 --> 00:08:47.292 Aqui em Content Drawer, esse aqui é um aviso 00:08:47.292 --> 00:08:50.149 para quem esqueceu de ligar o Contente Drawer. 00:08:50.149 --> 00:08:55.800 Você pode vir aqui em "Add", "Add Feature or Content Pack". 00:08:55.800 --> 00:08:57.803 E aí, você vem aqui em "Content", "Start Content", 00:08:57.803 --> 00:09:00.105 você o traz para dentro do seu projeto. 00:09:00.105 --> 00:09:02.601 Esse aqui é só para vocês verem que a Unreal 00:09:02.601 --> 00:09:04.809 dá umas opções na hora de criar o projeto, 00:09:04.809 --> 00:09:05.740 mas nenhuma é assim, 00:09:05.740 --> 00:09:07.946 tipo para você se arrepender amargamente. 00:09:07.946 --> 00:09:09.714 Então, fiquem tranquilos. 00:09:09.714 --> 00:09:12.358 E aí, galera, o que precisa fazer? 00:09:12.358 --> 00:09:14.085 Para fechar esse núcleo aqui, 00:09:14.085 --> 00:09:17.376 a gente vai precisar trazer todo esse camarada, 00:09:17.376 --> 00:09:18.767 só que agora para cá. 00:09:18.767 --> 00:09:20.158 O que está faltando aqui? 00:09:20.158 --> 00:09:21.459 Está faltando a caixa de colisão. 00:09:21.459 --> 00:09:23.140 Então, vamos dar um "Add". 00:09:23.140 --> 00:09:24.906 Aqui não chama mais trigger. 00:09:24.906 --> 00:09:25.992 Ele troca o nome. 00:09:25.992 --> 00:09:31.165 Ele troca o nome para "Box Collision". 00:09:31.165 --> 00:09:32.328 Fechou? 00:09:32.328 --> 00:09:35.143 Então, a colisão, como já tava explicando antes aqui, 00:09:35.143 --> 00:09:37.075 Vamos deixá-la "gordinha". 00:09:37.075 --> 00:09:38.423 Por que ela precisa o quê? 00:09:38.423 --> 00:09:40.372 Por que eu estou brincando de ela ser "gordinha"? 00:09:40.372 --> 00:09:44.823 Porque ela precisa estar sempre para fora da malha 3D, 00:09:44.823 --> 00:09:48.253 que é para você justamente colidir com ela primeiro de tudo. 00:09:48.253 --> 00:09:49.954 Então, com esse cara aqui feito, 00:09:49.954 --> 00:09:54.003 lembra que a gente pode selecionar esses casos aqui e deletar. 00:09:54.003 --> 00:09:55.957 Vamos na "Event Graph" e deleta todo mundo. 00:09:55.957 --> 00:09:58.266 Lembra que eu tinha começado a fazer uma linha de raciocínio, 00:09:58.266 --> 00:10:01.550 em que eu selecionava uma trigger box, 00:10:01.550 --> 00:10:05.496 vinha aqui no Level Blueprint e eu adicionava eventos para ele? 00:10:05.496 --> 00:10:07.565 Mesma coisa, não muda. 00:10:07.565 --> 00:10:08.547 Seleciona a box. 00:10:08.547 --> 00:10:10.740 Se quiser renomear até F2, 00:10:10.740 --> 00:10:13.883 "Box", sei lá, "BoxCollision". 00:10:13.883 --> 00:10:16.719 Evita ficar usando espaço no nome das coisas, 00:10:16.719 --> 00:10:19.497 em qualquer coisa digital, eu recomendo super. 00:10:19.497 --> 00:10:21.745 Então, botão direito enquanto ele está selecionado 00:10:21.745 --> 00:10:24.368 "Add Event for Box Collision". 00:10:24.368 --> 00:10:25.896 Colocou esse cara. 00:10:25.896 --> 00:10:28.593 "Daniel, pera, pera, espera aí. 00:10:28.593 --> 00:10:30.461 Estou vendo uma diferença aí, cara. 00:10:30.461 --> 00:10:33.017 O nó é o mesmo propósito, mas ele tem muito mais opções". 00:10:33.017 --> 00:10:33.698 Sim. 00:10:33.698 --> 00:10:35.149 Quando você entra em uma classe, 00:10:35.149 --> 00:10:37.081 você pode fazer algo muito mais nichado, 00:10:37.081 --> 00:10:39.671 muito mais específico, com muito mais ferramenta. 00:10:39.671 --> 00:10:40.939 É mais profissional. 00:10:40.939 --> 00:10:42.273 Eu estou afirmando para vocês. 00:10:42.273 --> 00:10:44.642 É muito mais profissional trabalhar dessa forma. 00:10:44.642 --> 00:10:45.977 Gente, segue o barco. 00:10:45.977 --> 00:10:47.308 Vamos brincar de programador agora. 00:10:47.308 --> 00:10:50.149 Vou até programar de uma forma um pouco mais rápida, 00:10:50.149 --> 00:10:52.751 obviamente, dando todo o contexto para vocês. 00:10:52.751 --> 00:10:55.586 Então, eu vou criar esse cara, dar um destroy 00:10:55.586 --> 00:10:59.057 na minha box colisão e na minha moeda. 00:10:59.057 --> 00:11:00.808 Então, vamos lá. 00:11:00.808 --> 00:11:03.247 Do "Other Actor", eu posso já puxar dele 00:11:03.247 --> 00:11:07.327 "cast to third Person", dá uma seta para cima, 00:11:07.327 --> 00:11:08.280 Enter nesse cara. 00:11:08.280 --> 00:11:10.168 Pode ver que ele já pluga o evento, olha. 00:11:10.168 --> 00:11:13.538 Lembrando que a linha branca é a pergunta: o que eu vou fazer? 00:11:13.538 --> 00:11:15.890 E a linha azul é a pergunta: para quem? 00:11:15.890 --> 00:11:18.439 Esse quem está colidindo com esse quem, 00:11:18.439 --> 00:11:20.533 realizando esse o quê. 00:11:20.533 --> 00:11:22.557 É isso que ele está fazendo. 00:11:22.557 --> 00:11:23.564 Desse cara aqui, 00:11:23.564 --> 00:11:28.086 eu posso dar agora um Destroy Actor. 00:11:28.086 --> 00:11:29.720 Ou melhor ainda, 00:11:29.720 --> 00:11:31.690 quando eu estou dentro de uma classe, 00:11:31.690 --> 00:11:33.830 eu posso dar um Destroy, o quê? 00:11:33.830 --> 00:11:36.594 "Component". 00:11:36.594 --> 00:11:38.062 Eu posso selecionar alguém para destruir, 00:11:38.062 --> 00:11:39.308 eu posso destruir todo mundo, 00:11:39.308 --> 00:11:41.645 o Actor inteiro que é o "BP_Collectible" 00:11:41.645 --> 00:11:43.536 ou deletar só alguém. 00:11:43.536 --> 00:11:47.684 Vamos começar, de repente, só com sei lá, 00:11:47.684 --> 00:11:49.423 deixa eu trocar esse cylinder aqui. 00:11:49.423 --> 00:11:52.788 Deixa eu chamá-lo de "Coin", de moeda. 00:11:52.788 --> 00:11:56.899 Então, "Destroy Component", eu vou deletar a Coin. 00:11:56.899 --> 00:11:59.350 Então, ele vai trazer aqui somente a coin. 00:11:59.350 --> 00:12:02.987 O único problema é que é legal você também deletar o box collision. 00:12:02.987 --> 00:12:06.481 Ou seja, se você vai destruir só a moeda, 00:12:06.481 --> 00:12:07.625 a colisão ainda está lá. 00:12:07.625 --> 00:12:09.246 Ou seja, se você já tem um contador de moeda, 00:12:09.246 --> 00:12:11.028 ele vai ficar sempre disparando. 00:12:11.028 --> 00:12:15.900 Então, vamos selecioná-la também e deletar esse cara aqui. 00:12:15.900 --> 00:12:16.961 "Compile". 00:12:16.961 --> 00:12:18.569 Vamos voltar aqui para o nosso level 00:12:18.569 --> 00:12:20.538 Pode deletar esses caras, tá? 00:12:20.538 --> 00:12:21.606 Ah, Perdão. 00:12:21.606 --> 00:12:23.328 Vamos só voltar aqui no third person, 00:12:23.328 --> 00:12:24.737 no Level Blueprint, 00:12:24.737 --> 00:12:26.599 vamos deletar esses caras, esses códigos aqui. 00:12:26.599 --> 00:12:29.788 porque agora estamos fazendo-o de uma maneira mais profissional. 00:12:29.788 --> 00:12:31.066 Vamos lá no Content Drawer. 00:12:31.066 --> 00:12:33.050 Olha aqui a nossa moeda. 00:12:33.050 --> 00:12:35.386 Então, lembra o que eu falei para vocês, olha. 00:12:35.386 --> 00:12:37.862 Agora a gente tem um cara que é imparcial. 00:12:37.862 --> 00:12:40.524 Se eu fizer um outro level, fizer o boss final aqui, 00:12:40.524 --> 00:12:41.735 fizer um outro level, 00:12:41.735 --> 00:12:45.097 eu posso usar essa classe aqui. 00:12:45.097 --> 00:12:48.132 Então, eu posso destrui-la. 00:12:49.522 --> 00:12:52.342 Então, galera, a gente começou 00:12:52.342 --> 00:12:55.003 a fazer uma classe de uma forma muito mais profissional. 00:12:55.003 --> 00:12:56.782 Se você parar para pensar a classe aqui, 00:12:56.782 --> 00:12:58.242 ela está funcionando perfeitamente 00:12:58.242 --> 00:12:59.927 por um sistema de uma moeda, 00:12:59.927 --> 00:13:01.810 que a gente pode usar em qualquer level. 00:13:01.810 --> 00:13:02.994 Essa é a viagem. 00:13:02.994 --> 00:13:05.522 E se você pirar mais ainda a cabeça, 00:13:05.522 --> 00:13:06.913 o que vai acontecer? 00:13:06.913 --> 00:13:09.913 Você vai poder, de repente, criar qualquer coisa 00:13:09.913 --> 00:13:11.522 que você pode coletar. 00:13:11.522 --> 00:13:12.780 Então, de repente, você quer fazer 00:13:12.780 --> 00:13:16.460 uma coleta de uma arma, uma coleta de alguma vestimenta, 00:13:16.460 --> 00:13:19.029 qualquer coisa que vá sumir do cenário 00:13:19.029 --> 00:13:21.165 e pode, de repente, entrar no inventário, 00:13:21.165 --> 00:13:23.033 é essa a forma que a gente tem que fazer. 00:13:23.033 --> 00:13:23.734 Maravilha? 00:13:23.734 --> 00:13:26.788 Então, convido vocês aí a arriscar. 00:13:26.788 --> 00:13:29.702 Troca um pouco a arte, troca um pouco o material, 00:13:29.702 --> 00:13:31.175 espalha um pouco mais. 00:13:31.175 --> 00:13:33.611 Dá para vocês agora replicarem várias vezes 00:13:33.611 --> 00:13:34.879 e você vai começar a ter uma cara 00:13:34.879 --> 00:13:36.594 muito mais próxima de um jogo.