-
Agora, a gente já tem
-
um sistema funcionando bem legal
aqui dentro de um level só.
-
Só que agora,
eu quero expandir
-
um pouco o nosso pensamento
para gente se encaixar
-
em outras situações.
-
"Que tipo de situação, Daniel?"
-
Vamos supor que esse sistema
todo que a gente tem na mão,
-
a gente quer usar em outros levels.
-
Eu posso simplesmente
selecionar todo mundo
-
e dar aquele bom e velho
control C Control V?
-
Claro que pode.
-
Só que eu quero deixar
uma forma mais profissional.
-
Se, de repente,
você está trabalhando
-
com outro programador,
-
vocês vão querer, de repente,
compartilhar um arquivo ou outro.
-
Então, é por isso que eu vou
expandir um pouco mais
-
a linha de raciocínio da classe.
-
Então aqui, gente,
-
nós temos
o nosso Level Blueprint,
-
que é onde tem todas
essas regras aqui.
-
E a gente tem
basicamente um coletável,
-
vamos dizer assim.
-
Daria até para melhorar
o aspecto desse coletável.
-
A gente pode até de, repente,
vir aqui embaixo,
-
na parte de "Rendering"
e desligar.
-
Ou, no caso,
ligar o "Actor Hidden in Game",
-
Que é para ele ficar
com mais carinha de coletável mesmo.
-
Então, você vai esbarrar nele
e ele vai ser deletado.
-
Essa briga que ele faz,
ele meio que dá uma teimada,
-
é porque justamente
a colisão dele vem antes
-
do próprio trigger box.
-
Então, por isso que justamente
em uma linha de raciocínio dessa,
-
a gente dá uma engordada
na trigger box,
-
que é para garantir
que ele vai colidir primeiro
-
com a box para aí, sim,
-
ele deletar a tal da esfera.
-
Então, sim, isso aqui agora
é um sistema de coletável.
-
O que eu quero começar
a apresentar para vocês
-
é algo que não fique preso no level.
-
Qual é uma boa prática?
-
Aliás, uma excelente prática
para o desenvolvimento de jogos?
-
É no Level Blueprint,
você programar coisas
-
que tenham a ver com o level.
-
Então, desafios que vão ter
dentro do level.
-
Você tem um sistema de coletável,
-
como, de repente,
uma moeda, uma arma,
-
que você quer coletar
e tudo mais.
-
Esse sistema, nessa mecânica,
ela vai ser repetida em outros levels.
-
Aliás, essa é a graça do jogo.
-
É você ter vários sistemas
que vão funcionar
-
em vários universos diferentes.
-
Então, por isso que agora,
eu quero mostrar para vocês
-
para valer mesmo,
-
a tal da classe.
-
Vamos aqui no nosso Content Drawer,
vamos começar a customizar
-
esses caras aqui.
-
A gente pode vir aqui em "Content",
que é a raiz do nosso projeto.
-
Eu vou apertar
o botão direito aqui,
-
"New Folder".
-
Vamos antes de tudo
ser pessoas organizadas.
-
Eu vou chamar esse cara aqui
de "Collectibles".
-
Para quem quiser botar
tudo em português,
-
beleza.
-
É coletáveis.
-
O meu convite é sempre já tentar
aproveitar para treinar o inglês,
-
por mais que você esteja
um pouco enferrujado,
-
porque o mercado
é todo em inglês, né?
-
As vagas, as melhores vagas,
vão ser lá fora justamente.
-
Então, collectibles.
-
Vamos entrar aqui nesse cara.
-
Botão direito novamente,
"Blueprint Class".
-
Olha o cara que eu estou falando.
-
Na verdade, ele juntou dois caras
que eu já estou falando aqui,
-
que são o sistema de blueprint,
-
que é a linguagem que a gente
está utilizando para fazer
-
a comunicação
entre nós e a máquina,
-
e uma classe.
-
Vamos criar aqui.
-
Só que antes,
ele vai me dar uma tela,
-
a famosa floating bar,
-
perguntando que tipo de blueprint.
-
Como é uma boa prática
da Unreal, da Epic,
-
eles gostam de facilitar
a vida do desenvolvedor,
-
então, eles vão dar sempre
um kit de ferramentas
-
já meio mastigado,
que é para facilitar
-
a vida do desenvolvedor.
-
Então, vocês vão reparar
aqui o seguinte:
-
tem vários tipos de classes aqui.
-
Você tem um "Actor",
você tem um "Pawn",
-
você tem um "Character",
você tem o "Player Controller"
-
e por aí vai.
-
Ou seja, cada um vai ser
um tipo de classe
-
para momentos específicos.
-
Então, o Actor,
-
a ideia dele,
-
é você fazer um arquivo,
em que você pode jogá-lo
-
para dentro do seu level.
-
Para esse arquivo ser algo
que você pode colocar
-
em qualquer level,
porque ele é um ator.
-
Um ator, ele não pode
interpretar qualquer filme,
-
qualquer peça de teatro?
-
Essa é a ideia, essa é a logística.
-
Então, ele é uma classe de um ator
que tem as regras
-
dentro do universo dele,
-
só que ele pode funcionar
em qualquer level.
-
Só que muitas vezes,
vamos supor aqui que esse ator,
-
ele não é mais um objeto.
-
Ele passa a ser, de repente,
algo que você pode controlar.
-
É por isso que ele,
-
aliás, eu gosto dos ícones
que eles escolhem.
-
Você pode ver
que o ícone do Pawn
-
é uma peça de xadrez.
-
O que acontece?
-
Quando você está
com um tabuleiro de xadrez
-
ali na sua frente,
-
o que acontece?
-
Você é a mente ali
que está raciocinando,
-
está pensando nas suas estratégias.
-
Só que para você colocar
a sua estratégia em ação,
-
você vai precisar possuir,
dar o Pawn,
-
justamente,
controlar algumas peças
-
para ir de pouco em pouco,
-
você vai executando
toda a sua estratégia.
-
Então, às vezes existe uma regra,
assim como no jogo de xadrez,
-
em qualquer jogo
de tabuleiro, basicamente,
-
as movimentações seguem regras.
-
Então, esse Pawn
é justamente o momento,
-
em que você está
colocando regras, eventos,
-
condições, sistemas mecânicas
-
para o ato de controlar algo.
-
Então, imagina um jogo
que ele está 3D
-
e do nada você esbarra
em uma coisa e ele vira 2D.
-
Já aconteceu isso
em jogo com você,
-
tenho certeza.
-
Mario Party, antigão, lá do 64,
Game Cube, Nintendo WII,
-
e as mecânicas trocavam toda hora.
-
Ou seja, o sistema de Pawn,
ele vai mudando
-
o character muda.
-
Então, às vezes você tem
personagens
-
que vão ter regras diferentes.
-
Então, tem um personagem,
que, na verdade, vai ser inimigo,
-
ele não vai ser o jogador principal.
-
Então, por isso que ele
dá uma classe diferente.
-
Você tem um controle,
-
a maneira de você utilizar
a usabilidade às vezes muda,
-
Então, é por isso que nós temos
aqui vários camaradas
-
bem diferentes
-
e vão apresentar ferramentas
diferentes para nós.
-
Por último, eu só queria
falar para vocês
-
do Game Mode.
-
O Game Mode é um tipo de classe
-
em que a gente vai colocar
as regras do jogo.
-
Ele é um código
que a Unreal toda hora o lê.
-
Ela sempre consulta:
-
"Game mode está certo isso aqui?"
-
Então, beleza.
-
Ela é como se fosse
uma consulta geral.
-
É o grande diretor é o Game Mode.
-
Vamos começar
com um Actor.
-
Uma boa prática que a gente faz,
-
a nomenclatura que a gente
costuma seguir em jogos é:
-
DP Blueprint em letra maiúscula ou underline.
-
Qualquer ocasião então colecta. Bom,
-
esse aqui gente,
é o que a gente chama de payment class.
-
É uma classe Pai,
eu vou estar fazendo aqui um coletável.
-
Pai Como assim Pai Daniel?
-
A ideia aqui do desenvolvedor,
uma brincadeira que a gente costuma fazer
-
entre resolvedores é que dublador
parece que é uma raça meio preguiçosa.
-
Por que as delegações programa um camarada
só para depois ele só replicar?
-
É uma brincadeira,
mas ela é uma brincadeira muito efetiva,
-
ou seja, você vai sofrer uma vez
só depois você vai replicar ela.
-
Então esse aqui vai ser o nosso fodder,
nossa, o nosso pai.
-
A gente pode abrir ele,
-
ele vai ter uma carinha,
ele vai ter justamente Viewport construct.
-
O script é event graph.
-
Olha só que legal.
-
E pode ser que esses caras aqueles, tenham
sumido.
-
Pode ser que aconteça isso aqui
já aconteceu na Marvel.
-
Então Palma, Palma, não queremos cana,
como diria o nosso Chapolin Colorado.
-
A gente vê no lado esquerdo
frame blueprint e você tem functions
-
construcções que você pode ligar
ele aqui ou você depende.
-
Quem sumiu foi o evento craft.
-
Você pode clicar duas vezes
aqui, pode mudar de ordem.
-
Enfim, fiquem a vontade tá?
-
E assim como nas outras partes aqui do um,
-
a gente tinha lá, por exemplo,
um alt lá, que é uma lista das coisas.
-
A gente tem aqui também
os nossos componentes.
-
Dá pra gente começar a compor
tudo o que precisa visualmente para,
-
de repente, fazer uma moeda.
Eu vou usar exemplo de uma moeda.
-
Então você precisa de repente,
pelo menos duas coisas uma agenda moeda
-
e a caixinha de de de colisão,
que é o que já tinha começado a fazer. Já
-
de repente dá pra colocar
-
até uma partícula zinha de efeito especial
pra fazer um brilhinho.
-
Dá pra colocar justamente empilhando aqui.
-
Cada componente visual
pode ser justamente uma peça.
-
Então vamos dar um LED aqui.
-
Eu posso começar com cilindrar.
-
Se ele der em inglês, ele começa com y,
y l para você começar a procurar.
-
Se Linder tá, e dá pra gente
só dar uma leve customizada nele aqui, tá?
-
Vamo apertar. E pra poder rotacionar,
-
rotaciona que 90 graus vamos com a escala.
-
Dá uma amassadinha nele, tá?
-
E aí o seguinte
caso vocês tenham criado esse projeto
-
com o Content Starter Content,
-
a gente vai poder colocar um camaradinha
aqui chamada Google de material.
-
Oh pá, você vai aqui
Material do lado M Metal Gold.
-
Daniel, acho que eu estava meio distraído.
-
Eu acho que eu esqueci de tirar
a caixinha do Starter Content
-
e aí lascou a vida.
-
Eu preciso deletar esse projeto,
criar outro não precisa aqui em conta.
-
Trouxe isso aqui uma vez.
-
Pra quem esqueceu de ligar o Contente
Drawer, você pode ver aqui em Ed
-
Tal Ed Fisher Our Content Pack
-
e você vê aqui em Content Start
você traz ele pra dentro.
-
Seu projeto tá bom?
-
Então,
isso aqui é só pra vocês verem que é
-
ela dá umas opções
na hora de criar o projeto,
-
mas nenhuma é assim, tipo pra
você se arrepender amargamente, tá?
-
Então fiquem tranquilos.
-
E aí galera, O que precisa fazer
pra fechar esse núcleo aqui?
-
A gente precisa trazer todo esse camarada,
-
Só que agora pra cá que tá faltando aqui.
-
Tá faltando a caixa de colisão.
-
Então vamos dar um edge aqui.
-
Não chama mais trigger tal,
ele troca o nome, ele troca o nome para
-
box Colisão fechou então a colisão.
-
Como já tava explicando antes
aqui, vamos deixar la gordinha
-
que ela precisa,
o que é o por que to brincando?
-
Dá la ser gordinha, que ela precisa
estar sempre pra fora da malha 3D
-
que é pra você justamente colidir
com ela primeiro de tudo.
-
Então seja com esse cara aqui feito,
-
Lembra que a gente pode selecionar
esses casos aqui?
-
Deletar já Vamos lá investigar.
-
Todo mundo lembra que eu tinha começado
a fazer uma aula de uma cena
-
onde eu selecionava uma trigger box.
-
Vinha aqui no Level Blueprint
e eu adicionava eventos pra ele
-
mesma coisa não muda.
-
Seleciona
box quiser renomear até F2, box
-
sei lá, box colisão
evita ficar usando espaço.
-
Está no nome das coisas assim
qualquer coisa digital eu recomendo Super.
-
Então botão direito enquanto ele está
selecionado e de Event for Box colisão.
-
Colega colocou esse cara ou Daniel
Pera, pera, pera aí,
-
Estou vendo uma diferença aí cara,
-
o nó é o mesmo propósito,
mas ele tem muito mais opção sim.
-
Quando você entra numa classe,
você pode fazer algo muito mais
-
nichado, muito mais específico,
com muito mais ferramenta.
-
É mais profissional.
-
Eu estou filmando para vocês.
-
É muito mais profissional
trabalhar dessa forma.
-
Gente, segue o barco,
-
Vamos brincar de programador
Agora vou até programar de uma forma
-
um pouquinho mais rápida, obviamente
dando todo o contexto para vocês.
-
Então vou criar esse cara, dar um destroy
-
na minha box colisão e na
na minha moedinha tal.
-
Então vamos lá Dom oder Héktor,
eu posso já puxar dele.
-
Quer estrutura de Person?
-
Se ele dá uma setinha pra cima
então nesse cara pode ver que ele já pulou
-
o evento.
-
Lembrando que a linha branca
ele tá falando o que eu vou fazer
-
E a linha azul está perguntando pra
quem é esse quem colidindo
-
com esse quem realizando esse o quê?
-
É isso que ele está fazendo?
-
Tá desse cara aqui
eu posso dar agora um destroy?
-
Héktor Tá,
-
Ou melhor ainda
quando eu estou dentro de uma classe,
-
eu posso dar um destroy,
O que componente component?
-
Eu posso selecionar alguém para destruir?
-
Eu posso true Todo mundo o Héktor inteiro
que a BP coleta bom ou deletar só alguém.
-
Vamos começar de repente só com sei lá,
-
deixa eu trocar essa cilindro
aqui e chamá la de coin de moeda tal.
-
Então Destroy component
eu vou deletar a coin,
-
então ele vai trazer aqui somente a coin.
-
O único problema é que é legal
você também deletar o box colisão que é.
-
Ou seja, se você vai destruir só a moeda,
a colisão ainda está lá.
-
Ou seja, se você já tem um contador
de moeda, ele vai ficar sempre disparando,
-
Então vamos selecionar
ela também e deletar esse cara aqui
-
com pai.
-
Vamos voltar aqui para o nosso level
após deletar esses caras, tá?
-
Perdão, vamos só voltar aqui
no top de person no leva para frente.
-
Vamos deletar esses
-
caras. Escolhemos aqui
-
porque agora estamos fazendo
ele de uma maneira mais profissional.
-
Uma mão no controller, ok?
-
A nossa amadinho
-
então lembra que eu falei para vocês
-
o Agora que tem um cara
que ele é imparcial?
-
Se eu fizer um outro level,
fazer o boss final aqui,
-
fazer um outro level,
eu posso usar essa classe aqui,
-
então eu posso
justamente tá destruindo ela.
-
Então galera, aqui ti
-
começou a fazer uma classe de uma forma
muito mais profissional.
-
Se você parar pra pensar a classe aqui
ela está funcionando perfeitamente
-
para um sistema de uma moedinha
onde ele pode usar em qualquer level.
-
Essa é a viagem e se você pirar mais
ainda o cabeção, o que vai acontecer?
-
Você vai poder de repente
criar qualquer coisa que você pode coletar
-
justamente.
-
Então, de repente, você quer fazer
uma coleta de uma arma, uma coleta
-
de alguma vestimenta, qualquer coisa,
e aquela vai sumir do cenário
-
e pode de repente entrar no inventário.
-
E essa forma que a gente tem que fazer?
-
Maravilha!
-
Então convido vocês aí a estar de repente
arriscando, troca um pouco a arte,
-
troca um pouco o material,
espalha um pouco mais.
-
Dá para vocês agora
replicar em várias vezes
-
e você vai começar a ter uma carinha
muito mais próxima de um jogo.