Transcrições
1. Vídeo promocional: Neste curso,
vamos usar um caça a jato de conteúdo de vigilante
que é sempre gratuito e é comido Aprenderemos tudo
sobre os ossos, como podemos mudar as asas, os ailerons e a rotação do leme Portanto, nosso caça a jato
parece mais natural. Aprenderemos como podemos decolar, como podemos fechar nossas
engrenagens e abrir as meninas
também, como podemos aprender E depois disso,
aprendemos como
atirar em qualquer alvo
com um sistema de etiquetas. Aprendemos muito sobre a
interface do usuário neste curso. Então, sempre que você disparar um míssil, ele mostrará que
o míssil não está lá Você não pode mais atirar. Depois disso, aprendemos
sobre inimigos. Então, para fazer isso,
temos um radar
e um sistema de mísseis em que o radar encontrará o alvo e
permitirá que o mísseis
saiba sobre o alvo,
e o sistema de mísseis disparará
um
míssil um
míssil Se não atingir
o alvo, novamente, ele lançará o
próximo míssil contra ele É isso mesmo. Vamos começar
esse curso juntos.
2. 01.Criar e importar: Nesta seção, vamos
criar um jogo de caça a jato. E para fazer isso, estou usando o motor
Argo versão 5.5 0.2 Basta clicar em lançar.
Na minha opinião, fique com esta versão. E quando você aprende tudo, também pode aplicá-lo a
outras versões. Porque
os desenvolvedores do Argo Engine estão mudando o nome dos
nós sempre o tempo todo Portanto, se você for iniciante, não
encontrará esse nó facilmente Portanto, é melhor usar
a mesma versão que estou
usando neste curso. Então, basta clicar em lançar. E quando ele abrir, basta
acessar os jogos e, aqui, clicar no projeto em branco porque, começando do zero, você
também entenderá tudo, desde o
básico. Portanto, escolha o espaço em branco e, aqui, não verifique
o conteúdo inicial Não precisamos disso e
queremos fazer isso em um plano, deixando todas as configurações iguais E você pode alterar o local em que
deseja criar seu projeto e pode
nomear seu projeto com o que quiser. Eu quero chamá-lo de
FighterJet Head, crie e ele
criará ou projetará Agora que o projeto está aberto, há um arquivo Z
na descrição deste vídeo que você
deve baixá-lo. É chamado fighterjet dot ZP Se você clicar com o botão direito sobre
ele e extrair, você pode extraí-lo ou simplesmente
abri-lo E se você abri-lo, você
pode vê-lo aqui. Há uma pasta de
caça dentro dela, e há uma pasta de ativos dentro dessa pasta de
caça, certo? Precisamos apenas copiar esse
Control C para copiá-lo,
acessar o motor Ao, acessar o conteúdo, clicar com o botão direito
do mouse na pasta de conteúdo e pedir
que seja exibido no explorer, e ele abrirá
a pasta de conteúdo do nosso projeto de caça
dentro do Windows Explorer. Aqui, a única coisa
que você precisa fazer pressionar
Control V para colar todos esses ativos
na pasta
de conteúdo. Agora, se você voltar
ao nosso motor real, você pode ver que a pasta do
caça está lá e você pode entrar e
ver que há algumas malhas, alguns sons,
texturas e efeitos visuais É isso mesmo.
Vamos usar todos esses ativos para criar
nosso projeto de caça a jato. Apenas certifique-se de que, dentro
da pasta de conteúdo, a estrutura seja a mesma. jato de combate, depois disso ,
os ativos, deveriam
ser exatamente assim. Se você copiar esse jato de combate dentro do desenvolvedor,
ele não funcionará. Se você criar uma nova pasta aqui e colocá-la lá,
novamente, ela não funcionará. Você precisa apenas colá-lo
na pasta de conteúdo. E se você quiser mudar
a localização disso, você pode fazer isso no
motor Areal depois disso Agora, com isso feito, quero
mudar algumas coisas
no motor Areal Primeiro de tudo, vá para Editar, vá para Preferências do Editor. E aqui, basta
pesquisar por abrir. E a primeira opção é chamada de local
aberto do Editor de ativos. Altere-a da janela padrão
para a janela principal. Então, sempre que você abrir algo, ele será aberto aqui, não em outra
tela ou qualquer outra coisa. E depois disso, você
pode simplesmente fechá-lo. Depois de fazer isso,
precisamos editar
e habilitar um plug-in
porque, para caças a jato, também existe um plug-in no
ArelEngine É chamado de veículo do caos. Basta pesquisar o caos e
descer até chegar ao plug-in
do veículo do caos e habilitá-lo, certifique-se de clicar em sim e
reiniciar o mecanismo de URL. A reinicialização é muito importante,
portanto, certifique-se de
reiniciar o mecanismo ARL. Não, com o motor ARL, reinicie-o. Temos o plugin necessário
e os ativos necessários para criar nosso jogo Fighter Jet. Agora, vamos começar.
3. 02 Plano de veículo com rodas: Agora, primeiro e primeiro,
precisamos criar o plano para
nosso caça a jato Então, para fazer isso, vá
até a gaveta de conteúdo, e aqui na pasta, clique com o botão
direito, crie
uma nova pasta, e eu quero
chamá-la de blueprints Então, todas as nossas plantas
estarão nesta pasta. Quero que tudo
seja organizado. Então, clique com o botão direito aqui novamente, crie uma classe de blueprint
e, aqui, vá para todas as classes Procure por veículo com rodas Pawn. Este peão de veículo com rodas, podemos usá-lo para
criar um caça a Há muitas
coisas dentro dela. Então escolha essa seleção de cabeça, e eu quero chamá-la de PP porque
nosso caça a jato é F 18. Eu quero chamá-lo de F 18. É isso mesmo. Não clique
nele para abri-lo e saber, como uma classe de personagem, que
tínhamos um componente de movimento. Nesse caso, temos o componente de movimentação
do veículo. E dentro disso, há
muitas coisas que podemos mudar. Podemos adicionar uma calça,
podemos incliná-la. O que são as asas? O que é o rodder e tudo
isso, certo? Depois disso, podemos decidir
uma malha, clicar na malha
e, em um recurso de malha esquelética,
escolher a malha esquelética F 18 Escolha e agora você
pode vê-lo aqui. A primeira coisa
que queremos fazer nessa malha simular a física
porque o jogo
que você deseja
criar é baseado em física Você não precisa mudar
nada depois disso. O que mais precisamos? Precisamos criar uma câmera, mas queremos fazer isso
com um braço de mola. Então, aqui, clique na malha, clique em adicionar e aqui, procure por um braço de mola. Adicione um braço de mola.
Você não precisa fazer nada por enquanto, clique nele. Clique em e adicione a câmera, procure a câmera
e adicione-a lá. Não, temos uma câmera. Podemos posicioná-lo
com um braço de mola para que nossa câmera não
atravesse as paredes. Então clique no braço de mola aqui. Deixe-me subir. O comprimento do alvo. Eu quero colocá-lo
em 1.500. Assim. Você pode ver porque
nosso avião é muito grande. E eu quero mencionar
a posição. Eu não quero fazer isso
com o socket offset. Quero apenas destacar completamente a
posição como esta do nosso braço de mola
porque, por padrão, ele está na parte inferior do
nosso avião de combate, queremos colocá-lo
no meio dele. Essa neve é melhor. A próxima coisa que eu
quero mudar aqui mudar o uso da rotação do controle de
libras. Certifique-se de fazer isso. Portanto, sempre que mudarmos a guinada e a inclinação do nosso controlador, o braço da mola de guinada e inclinação também mudará com
a câmera Assim, podemos olhar ao redor ou voar sempre que
precisarmos, e pronto Não, temos uma planta de caça a
jato. No momento, ele não pode se mover, mas vamos apenas colocá-lo em nosso nível para ver
se está funcionando ou não Então, para fazer isso, o que eu
quero fazer é criar outro modelo desta
vez do tipo de modo de jogo,
e quero chamá-lo de modo de jogo de
caça a jato BP Está bem? Avião de combate, modo de jogo. Vou clicar nele para abri-lo. E aqui, a única
coisa que precisamos
mudar é a classe de peão
padrão Queremos
mudá-lo para BP Feighten. O modelo que vocês
criam juntos, é isso. Você pode simplesmente compilar, salvar e fechar. Agora, se você for para o
nosso nível aqui,
quero entrar na quero entrar configuração de
palavras e mudar
o modo de jogo do não para o
modo de jogo a jato de combate da
BP,
o modo de jogo que
criamos juntos Agora, se você salvar, ele solicitará que você
salve este mapa. O que eu quero
fazer é criar uma pasta aqui e chamá-la de níveis. E aqui, vá com cuidado. Então, tudo será organizado. Agora, se você atropelar o jogo, poderá ver mais de F 18. No momento, nada está funcionando. A física está funcionando. Você pode ver que está se movendo, mas não pode fazer nada. Então, a primeira coisa
que eu quero fazer é não querer que esse
avião de combate caia desse jeito. Eu quero derrubar esses
jogadores que começam assim. E depois dessa corrida de cabeça, eu não quero que ela caia
no chão assim queremos calcular a força
G em algum ponto, então é necessário colocá-la no chão exatamente assim. Pode derrubá-lo
mais assim. Se corrermos. Não, isso é melhor. Você pode ver que é
um selo de aço inoxidável. Não, é hora de, primeiro, poder
dar uma
olhada no avião de combate. Vamos ver como
podemos fazer isso a seguir.
4. 03 Olhe ao redor do avião caça: Agora vamos ver como podemos mover nossa câmera ao redor do nosso avião. Assim, o jogador pode olhar para diferentes
ângulos do caça a jato. Para fazer isso, precisamos
usar uma entrada aprimorada. Então vá para a gaveta de conteúdo, e aqui no caça a jato, clique com o botão
direito, crie
uma nova pasta
e, aqui, nomeie-a como entradas Está bem? Entre, clique com
o botão direito novamente, vá para a entrada e crie o contexto
de mapeamento de entrada. Eu quero chamá-lo de IMC, caça a jato. É isso mesmo. E vou clicar
nele para abri-lo. Você pode ver como ele se
abrirá bem ao lado das
plantas e Você não precisa desse plugin, então você pode simplesmente fechá-lo. Agora, aqui, precisamos novamente clicar com o botão
direito do mouse em Ir para inserir a ação de entrada
criativa, dar uma olhada. Está bem? Clique nele para
abri-lo aqui com o máximo que
queremos girar nossa câmera Então, precisamos mais de X e Y. Clique aqui, altere o tipo de valor para
acessar D ou VCToRTD Ao selecionar isso,
você pode simplesmente
fechar isso e, no contexto do
mapeamento de entrada, criar um mapeamento aqui. Queremos mapear a visão
geral da IA. Então escolha
aí depois expandido e aqui, clique na seleção, vá para Ms e escolha Ms
X Y para o eixo, certo? Então, o que ele fará, ele
passará pelo eixo XY de ou Ms, certo? Agora, você pode salvá-lo, acessar nosso plano,
acessar o gráfico de eventos No caso de começarmos a jogar, queremos pegar o controle do
player, pegar o controle do player. E com isso, queremos obter o componente de entrada aprimorado. É isso mesmo. Com isso, queremos adicionar ou inserir contexto de
mapeamento a ele. Portanto, pesquise adicionar contexto
de mapeamento. Adicione o contexto de mapeamento, certo, e conecte-o assim
para que o evento comece a ser jogado Queremos que isso aconteça apenas uma vez. Então, o contexto de mapeamento é o jato de combate IMC que criamos juntos,
e pronto Agora, se você for aqui e
clicar com o botão direito do mouse e pesquisar IA, L ao redor, há um evento
para nós lá, certo? Podemos usar o anel de teste de impressão
para mostrar o valor como este. E se você atropelar o jogo, você pode ver que,
ao mudar a posição do máximo, isso nos dará um
valor de 0-2, certo? Você pode ver que não. Vamos simplesmente deletar isso. Para olhar para a esquerda e para a direita, quero usar o valor X
desse valor de ação
e, para olhar para cima e para baixo, quero usar o valor Y dele. Então arraste e solte e
quebre o vetor dois para que você tenha acesso a
X e Y separadamente, certo? Não, há um nó para
olhar para a esquerda e para a direita, e o nó é a entrada Ya
do controlador de adição. Você gira em torno
do eixo Z, certo? Então, com isso, podemos simplesmente
passar o X para lá. E se você compilou
e executou, não, você pode ver,
eu posso olhar para a esquerda e para a direita.
É assim que é fácil. E podemos usar o Y para
controlar o tom. Rotação em torno
do eixo Y, certo? Então, seque e solte no controlador. Entrada de tom. É isso mesmo. Podemos simplesmente conectar
o Y a lá. Agora, se compilarmos e
executarmos, podemos olhar para cima e
para baixo assim Mas, no momento, o problema
é que, quando a maioria sobe, a câmera também sobe. Eu não quero que seja assim. Se você quiser que ele seja
invertido assim, você pode simplesmente deixá-lo lá Mas o que eu quero fazer é
negar o Y, e
como podemos fazer isso,
podemos ir até o IMC Fighter
Jet e, aqui, adicionar um modificador com o
tipo de negação Queremos negar apenas o Y,
não X, não Z.
Apenas o Y. Então desmarque o
X e Z, deixe com Y.
Então ele multiplicará por menos um e
ele o negará. Então, agora, se você atropelar o jogo, você pode ver, podemos dar uma
olhada em nosso caça a jato. Nem tudo está bem. Precisamos nos mover ou voar. Vamos ver como podemos
fazer o próximo vídeo.
5. 04 Configuração da roda: Nosso caça a jato para
poder se mover, precisamos colocar algumas coisas no componente de
movimento do veículo. Então, vamos ver o que são esses. Em primeiro lugar, se
você for ao Viewport, verá que temos três rodas, duas delas na parte de trás aqui e uma na
frente, assim E precisamos dizer ao componente de movimento
do veículo
onde estão as rodas? Qual é o nome de
seus ossos, certo? Configuração do volante I. Temos três rodas, então precisamos definir
três rodas aqui. Portanto, crie três elementos
dentro dessa configuração de roda. E se você entrar, primeiro de tudo,
precisamos de uma classe de rodas. Já tem um aqui, mas eu não quero usá-lo. Eu quero apenas criar
um componente de roda. Então, para fazer isso, o que
eu quero fazer é
ir para a pasta de caças, acessar o Blueprint, clicar com o botão
direito do mouse aqui e
criar uma classe
de projeto do tipo roda de veículo caótica Se você descer, poderá
ver o caos, a roda do veículo. Basta selecionar isso e
criá-lo lá. Eu quero chamá-lo de
BP Feighteen wheel. Está bem? Vou clicar
nele para abri-lo. Dentro desse
modelo caótico de roda de veículo, vamos apenas configurar algumas coisas. Por exemplo, o raio da roda. Eu quero colocá-lo em 40
e a largura da roda, eu quero colocá-lo em 30. Você pode obter tudo
isso dentro do liquidificador, por exemplo, lá, todas
essas medidas Mas se você não
sabe como trabalhar com o liquidificador e os tamanhos de lá, basta colocar
alguns valores aqui E mude até chegar
ao resultado desejado. Em seguida, quero também poder
usar o freio de
mão neste
caça a jato e quero ter o ABS ativado Isso é para quebrar. Sempre que batemos em um espaço, queremos que a roda trave
para que não gire mais. Então essa é a nossa classe de rodas. Agora, devemos voltar à nossa
planta, planta F 18,
e aqui, em vez desta classe de
roda que, por padrão, está aqui, queremos
escolher a planta
que criamos juntos Então coloque aqui. Para
o próximo, novamente, você pode simplesmente clicar aqui
e ele o colocará lá até que você o selecione
na gaveta de conteúdo, certo? E depois disso, vá para o Índice dois e
coloque-o aqui também. Agora, precisamos especificar os nomes
dos ossos. Então, para fazer isso, precisamos abrir o
esqueleto sobre o avião de combate Então, aqui na
pasta de ativos do avião de combate,
Feighteen aqui,
temos um esqueleto Feighteen aqui,
temos Você pode ver isso aqui. Na parte inferior,
diz um esqueleto, clique
nele para abri-lo E aqui, basta
pesquisar por Wheel. E você pode ver
que há três deles. Se você clicar neles,
poderá ir até eles. Se você ouvir F, poderá se
concentrar neles e girá-los. Você pode ver que isso está sobre a
roda e precisamos copiar os nomes, copiar o nome do osso e
colocá-lo um por um aqui. Vamos para o próximo, clique
novamente com o botão direito do mouse em Copiar
nome do Bone e coloque-o aqui. Novamente, o próximo, este, copie o nome do osso e
coloque aqui. Legal. Não, esse componente de
movimentação do veículo sabe onde estão as rodas para poder confiar nelas
e movê-las. E isso é tudo para definir as rodas do nosso componente de
movimentação do veículo. Em seguida, queremos
definir o propulsor, o motor, as
asas e tudo Vamos ver como
podemos fazer isso.
6. 05 Configuração de aerofólio: Conhecido por definir as asas, o leme e Vamos primeiro ver o que são. Por exemplo, basta
pesquisar o caça a jato Rudder. E se eu clicar aqui, você pode ver que o
leme é esse, e esses são os
elevadores, e o Nós também temos as asas. Se eu clicar aqui, é claro, você sabe o que é a asa. Não, devemos definir
tudo isso para o motor
Ale para o componente de
movimentação do veículo. E para fazer isso,
devemos descer até chegar à configuração do aerofólio Aqui, queremos dizer
que tem elevador,
tem uma asa,
tem um rodder, certo? Então, basta clicar
aqui para adicionar um. Primeiro, eu quero adicionar
as asas, ok? A asa. E o nome do osso, eu quero usar a fuselagem de um avião inteiro como uma asa
porque no motor aéreo, esse corpo deve ser calculado no
cálculo da física Não podemos simplesmente dizer que isso
é a asa, a asa. O que fazemos é criar sustentação. Então, tudo isso, todo o corpo pode
produzir sustentação ou arrasto. Para definir o corpo
inteiro como uma asa, quero encerrar essa busca e, aqui,
deixe-me resumir isso. Eu quero usar essa
, junta dentada, a junta, que é
a raiz aqui Clique com o botão direito do mouse,
copie o nome do osso e cole
aqui para nossa ala. Em seguida, para compensação, eu não
quero mudar isso de jeito nenhum. Eu quero que seja o corpo inteiro, então a articulação da engrenagem
é o corpo inteiro O eixo operacional não é menos
um, é um. Depois disso, a área de
quantos metros. Se você passar o mouse sobre ele,
ele indicará a área da superfície do aerofólio,
metro quadrado Novamente, você pode usar o liquidificador
para medir com precisão, mas às vezes você
precisa mudar algumas coisas aqui para tornar seu
jogo mais jogável Às vezes, se você simplesmente colocar
o valor exato lá, será muito difícil
para o jogador controlar. Para a área, eu
quero colocar 15 aqui. E se você passar o mouse novamente sobre ele, ele indicará um valor maior, criará mais sustentação,
mas também mais arrasto Então levante. Ele pode
decolar muito mais rápido, certo? As outras opções,
eu não quero
mudá-las de jeito nenhum.
Esses são bons. Você pode simplesmente passar o mouse sobre eles. Isso lhe dirá o que eles fazem, mas eu quero deixar como está. Agora, para a próxima, basta clicar aqui
novamente e, no índice um, quero adicionar a ordem Então, aqui, basta
escolher a ordem. E, novamente, para o nome do osso, quero usar o corpo inteiro. Então, vamos colocá-lo aqui. Novamente, o eixo p é
um, não menos um. A área de 1 metro
é mais do que boa. E para as outras
opções aqui, você sabe que isso é um leme Deixe-me ir novamente e
mostrar para você. Esse é o Roder. Deixe-me clicar aqui para que
possamos ver melhor. Ordem. 1 metro para a
área é mais que suficiente. Então, vamos colocar um aqui. É um por padrão. A curvatura, vamos apenas
superá-la, asa de Cambra. Deixe em zero se for um rodder. Então, como isso é um rodder, devemos colocar zero aqui E o importante aqui o ângulo em graus pelo qual a superfície de controle se move. Deixe em zero se
for uma superfície fixa. Não é uma superfície fixa. Ele pode se mover, e
nós nos
moveremos, mas devemos dizer a ele
em quantos graus ele pode se mover. Eu quero colocá-lo em
90 graus quatro, não, mas você pode limitá-lo
mais a 60, por exemplo. Mas 90 é mais do que suficiente. Às vezes, ele pode se mover mais de 90 em alguns aviões, certo? A próxima coisa que quero
acrescentar é o elevador. Então, vamos adicionar
outro aqui. Queremos mudar
isso para elevador. E novamente, para o nome do
osso, novamente, eu quero usar o corpo
inteiro aqui. E, novamente, esses
eixos operacionais, precisamos consertá-los. Então, não para as opções aqui. Vamos aqui,
novamente, dar uma olhada. Esse é o elevador. Você pode ver o elevador aqui. Então, com base nisso, eu quero mudar a área, por exemplo, para árvore. Claro, você deve
jogar com isso. Mais área cria mais sustentação, mas introduzirá
mais resistência, certo? Para a curvatura,
quero aumentar um
pouco
esse valor no futuro, vamos alterá-lo muito mais, mas esses são os valores que eu testei muito e
esses valores são bons Para o
ângulo de controle máximo, novamente, eu quero colocar 19 lá, mas com base no seu plano, você precisa mudar isso
também, e pronto. Nenhum componente de
movimentação do veículo conhece todos os
aerofólios, Então, a próxima coisa, há mais
algumas configurações a serem feitas. Faremos isso no próximo vídeo. Quero que todo esse vídeo
seja como um livro de receitas. Portanto, no futuro, se você quiser
conferir algo novamente, poderá encontrar o vídeo facilmente.
7. 06 Configuração do propulsor: A próxima coisa que queremos
configurar é o propulsor. No momento, o motor Arial
conhece as rodas. Eu sei sobre asa,
leme e elevador, mas não sei
sobre o motor, o motor, o propulsor, mas não sei
sobre o motor, o motor,
o propulsor, certo?
Então, desça. Temos uma configuração de propulsor. Clique aqui para adicionar um propulsor, e aqui, podemos
ter algumas opções Em primeiro lugar, o tipo de
fideicomisso é fixo. Isso significa que não está se movendo
em nenhuma direção. Então, deixe como está fixo. Em seguida, o nome do osso, novamente, posso simplesmente usar o corpo
inteiro porque queremos adicionar
confiança a todo o corpo. Não pense nisso como
um avião real. Em seguida, offset, eu não
quero mudar isso. O eixo do fiador, ele deve estar na direção
X. Você sabe disso? O vetor direto
é a direção X. Portanto, a confiança que esse motor deve confiar na direção
positiva. Então, o eixo Trust é mais do que bom, mas eu quero mudar a força
Max Trust para 35.000 É isso mesmo. Foi
aí que o Trustor
8. 07 Configuração de controle do Arcade: A próxima configuração que você deseja alterar é a configuração do arcade controle de arcade ou a
configuração de arcade ajudam o jogador a controlar o avião com muito mais facilidade, porque o jato de combate do
mundo real não
é fácil É por isso que
temos controle de arcade. Então não, vamos
ao controle de arcade. No controle de torque,
quero habilitá-lo porque facilitará
tudo para o jogador. Quero alterar a escala do Ya
Torque para 0,1. Este é o que tínhamos E e o avião pode ir por
aqui, certo? Quero aumentar a escala de
pitch turkey em uma e rolar a escala
em uma também. E eu quero aumentar o amortecimento de rotação
para um também Então, quando o jogador
quiser girar, ele não girará com muita força Parece muito melhor quando
temos algum amortecimento de rotação, um
pouco de amortecimento e Portanto, não permitirá que o caça
gire muito rápido O próximo é o controle de
rotação do alvo. A única coisa que eu
quero mudar aqui eu quero ativá-la primeiro, e eu quero dizer rolagem
como uma habilitação de velocidade para que a velocidade possa
afetar a rotação. E a seguir, quero mudar
a rigidez de rotação para
duas, por exemplo, certo Esses são alguns valores com os quais
eu testo esses caças, e parecem bons Mas, na minha opinião, você deve mudar muitas
dessas coisas e ver os efeitos no jogo e alcançar
o resultado desejado. Talvez você queira seu
avião ou caça. Para ser mais fácil de manusear, ou talvez você queira que seja simulação
exata que seja
difícil de manusear, certo? E isso foi tudo para configuração
no controle de arcade.
9. 08 Configuração do veículo: A próxima configuração que você deseja
fazer é a configuração do veículo. Se você for para a categoria de
configuração do veículo, não precisará
mudar muita coisa aqui. Se você quiser mudar a massa, você pode, por exemplo, agora, com essa massa e esse
valor de confiança que colocamos lá, ele pode mover o avião
e trazê-lo para o ar. Mas se você aumentar a massa, esse valor de confiança que colocamos, ela não será
capaz de movê-la de forma alguma. Então, essa massa é
muito importante. Por padrão, é bom. Em seguida, precisamos permitir que o centro de massa seja anulado
e, com isso, você não
precisa mudar nada
aqui ativando a substituição do
centro de massa Isso nos ajuda a colocar o centro de massa
no meio do nosso plano, e é assim que deveria ser. Às vezes, você precisa alterar esses valores até alcançar o resultado
desejado, é claro. E essa foi a configuração do veículo.
10. 09 Definir o impulso: Então, finalmente, as
configurações estão concluídas. Mas em algum momento no futuro, mudaremos algumas
coisas para mostrar outras configurações, porque
só de falar sobre elas, você as esquecerá muito rápido Mas se mudarmos alguma coisa e vermos o
efeito no jogo, você entenderá melhor. Por exemplo, se mudarmos
a massa, o que acontecerá? Se mudarmos a confiança, o que acontecerá, certo? Agora, com isso, vamos testar se podemos mover ou planar. Então, para fazer isso, eu
quero adicionar um acelerador. Deixe-me pesquisar o que
é o acelerador. Eu não quero que você
saiba todas essas coisas. É por isso que estou procurando
por tudo. Então você sabe mais
sobre os aviões e depois aprenderá
como criá-los, certo? Então, clicando aqui, você pode ver, temos um joystick
aqui que, com ele, controlamos para onde os
lutadores ainda vão, mas temos um
acelerador aqui que se o jogador empurrá-lo para frente até
o final, ele dará a máxima
confiança no motor Mas se você colocar
tudo para trás, significa
que o motor está quase
morto ou desligado, certo? Portanto, o valor do acelerador
é um valor 0-1. Então, para fazer isso, queremos controlá-lo
com shift and control. Com a mudança, podemos aumentar o acelerador e, com o controle, podemos diminuir o Para trocarmos o acelerador, quero ir até a gaveta Compton na
pasta do jato de combate na entrada E aqui, clique com o botão direito do mouse, vá para a entrada e crie a ação de entrada. Quero criar
duas ações de entrada, uma para aumentar o acelerador,
que chamamos de confiança, e outra para diminuir
o acelerador, e outra para diminuir que Então dizemos que eu confio. E precisamos de outra ação
de entrada, IA break. Está bem? Portanto, essa
confiança de IA aumentará o acelerador e o IABaK
diminuirá o Dessa forma, é muito mais
fácil entendê-lo e trabalhar com ele. Agora, com isso feito,
devemos ir ao
IMC para obter o
contexto de mapeamento de entrada e mapeá-los. Temos um para IA
Trust, então IA Trust. E aqui, sempre que
mudamos de cabeça, queremos confiar, certo? Não precisa mudar nada. Em seguida, queremos mapear
o IA. Deixe-me ver. Eu quebro. E aqui, sempre que tínhamos o controle, deixávamos o controle no teclado, queríamos diminuir o
acelerador. Queremos fazer uma pausa. Agora, com isso feito, quero ir
até a gaveta de conteúdo e pedir que eles passem um valor flutuante Então, coloque-o para flutuar
para os dois. Eu também quebro,
coloco para flutuar, que passe pela bóia Por exemplo, se você deixar a
tecla Shift em nosso teclado, ela passará uma. E
isso é importante. Vamos agora entrar aqui
em nosso Blueprint, FaighteenR clique aqui, IA trust with IA Trust, não, isso nos proporcionará um evento
para aumentar a confiança, como podemos No componente de
movimento do veículo, se arrastarmos e soltarmos
e o colocarmos aqui, há um nó chamado set Trotle set throttle É isso mesmo. Agora,
podemos simplesmente colocá-lo aqui e conectar o valor da
ação ao acelerador Sabemos que o valor da ação nos
dará um valor 0-1. Não será mais
do que isso, certo? Mas o que acontecerá
com isso, o acelerador, sempre que pressionarmos a tecla esquerda em nosso teclado, estará no máximo Então, não corra. E aqui, se eu mudar a
cabeça uma vez, você pode ver que o
acelerador está no máximo E nosso avião está tentando
decolar e está decolando. Então, tudo parece bom. Não podemos movê-lo, mas tudo está funcionando bem. Então, aqui,
o primeiro problema é que o acelerador chega
ao máximo muito rápido Não queremos que isso aconteça, então precisamos mudar isso
sem problemas Vamos ver como
podemos fazer isso. Próximo.
11. 10 Interventos: Então, o problema que
tivemos no último vídeo foi que o trotle está
mudando de 0 a 1 muito rápido Vamos ver isso mais uma vez. Se estiver aqui, basta imprimir uma string e mostrar
esse valor de ação aqui, execute, e se mudarmos, você pode ver que, de repente, é um e não é normal. Então, o que podemos fazer com isso? Há um nó
chamado F interp two, ok? Esse nó nos ajuda
a alterar suavemente um valor de um
te atual para o valor alvo,
por exemplo, 0-1, certo Então, não. Para que esse nó funcione, precisamos de uma variável. E para isso, eu quero
criar uma variável aqui, com o nome de valor Trotle E do tipo, eu quero que seja flutuante porque o trotle é um flutuador Então, por padrão, é zero. Portanto, a corrente é sempre zero. Então, coloque o
valor do acelerador na corrente. O alvo, queremos que
seja o valor da ação, certo? E precisou do tempo da Delta. Podemos obter o
horário do Delta no eventq, mas outra forma é obtê-lo Avise, Delta em
segundo lugar. É isso mesmo. É exatamente como
conectá-los a este segundo Delta aqui.
Isso é mais do que suficiente. Precisamos colocar um pouco
de velocidade aqui. Por exemplo, 0,5, é claro, você pode jogar com esse valor. Depois disso, precisamos definir o valor do acelerador novamente com o novo valor que cada
vez que isso nos dará Então, para fazer isso, vou pegar o valor do acelerador, configurá-lo aqui
com esse Então, vamos conectar isso
aqui, conectar isso aqui. Use apenas um anel de impressora
para mostrá-lo a você. Então, aqui, eu quero usar uma string de impressora e
mostrar o valor do acelerador O avião não se moverá
porque eu não conectei o valor do acelerador aqui
. Então, vamos correr. Se eu tivesse uma mudança, agora você pode ver que ela
começa suavemente do zero
e, depois disso,
alcançará o valor um Vai chegar perto disso, certo? Então é assim que, no
mundo real, o acelerador funciona. Isso não vai acontecer muito rápido. Demora um pouco de tempo. O tempo necessário, você pode alterá-lo com
essa velocidade de interposição Você pode alterar a velocidade de alterar esse valor do
acelerador, certo Não quero mais esse anel de
impressora. Eu posso simplesmente conectar isso aqui e acelerar o valor Agora, com isso, deixe-me
organizar um pouco. Se você atropelar o jogo,
se eu segurar a tecla Shift, você pode ver que ele começa a
se mover lentamente e, depois disso ele atingirá o
acelerador máximo que é um, e também está fluindo Isso é bom, certo? Agora que
fizemos a confiança da IA, precisamos fazer a quebra da IA. Também precisamos desses nós. Queremos que eles diminuam esse valor do acelerador sempre que
mantivermos o controle esquerdo Você tenta fazer isso. Sei que
é um desafio difícil, mas tente fazer isso sozinho. Faremos isso no próximo vídeo.
12. 10. Defina freio: Não é uma pausa. Vamos apenas ir até aqui. Podemos dizer que eu quebro. Obtenha o I break, a ação de entrada aprimorada
que criamos juntos. Aqui, sempre que
pressionarmos o controle esquerdo, esse I break acontecerá e o que queremos que aconteça
é exatamente isso. Selecione tudo, controle, veja para copiá-lo e
colá-lo aqui. A diferença é que, desta vez, queremos diminuí-la para zero. Então, aqui, o valor atual
deve ser o valor do acelerador,
tudo bem porque estamos sempre
rastreando o valor tudo bem porque estamos do acelerador Queremos diminuí-lo ou
aumentá-lo, então o rastreamos. E o alvo desta vez, não
queremos conectar isso. Queremos simplesmente deixar um zero, trazê-lo para o zero. Novamente, para mostrar isso, quero usar uma string de impressora. Teste a mola e mostre o valor do acelerador
sempre que pisarmos Se você atropelar o jogo, verá que se eu apertar a
tecla shift, ele se moverá. E se eu apertar o controle, você pode ver que está diminuindo até chegar ao zero, e o avião deve parar Mas é claro que não vai
parar porque está deslizando. Não há muito
atrito aí. Você pode simplesmente
trazê-lo para o zero
e, eventualmente, ele esperará. Portanto, não, sempre que pisarmos no freio, ele obterá o
valor do acelerador e o diminuirá suavemente para zero até que você
mantenha
o Tudo está funcionando
bem com a frenagem. Então, vamos conectar
isso assim a aqui. Então isso é bom. Em seguida, quero
mostrar como você pode usar freio de
mão porque você
viu que a confiança era zero, o acelerador era zero, mas o avião não Podemos usar o freio de mão para isso. Vamos ver como
podemos fazer isso. Próximo.
13. Freio de mão: Para bico de mão. Quero usar
um espaço para quebrar a mão. Então, vamos até a
gaveta de conteúdo aqui, clique com o botão direito. Vá para a entrada Create Input Action, e eu quero
chamá-la de IA hand break. Ok. Vou clicar
nele para abri-lo. O booleano digital
é mais do que suficiente. Precisamos ir ao IMC
também e mapeá-lo lá. Então, clique em mapeamento e queremos mapear a quebra de mão
do IA. E aqui, sempre que
chegamos ao espaço, queremos que uma quebra de mão
aconteça, certo? É isso mesmo. Agora, podemos acessar
nosso plano e aqui, botão
direito do mouse em pesquisar IA
hand break. E é isso. Novamente, há um nó no componente de movimento
do veículo
que é chamado de freio de mão ajustado Então, procure o freio de mão. Você pode ver a entrada do freio de
mão definido. Mas desta vez, queremos verificar. Se pressionarmos o ritmo, queremos que ocorra uma quebra de mão. Mas deixe-me controlar o
controle C copiando-o. Mas sempre que liberamos
o espaço ou concluímos que está exatamente liberado queremos desativar
o freio de mão É isso mesmo. Eu também preciso do
alvo aqui. Agora, com isso, vamos
ver o que vai acontecer. Se atropelarmos o jogo, se mantivermos a tecla Shift um
pouco pressionada, ela se moverá. E se mantivermos o controle,
ele não deve se mover, mas se atingirmos o espaço, você pode ver que ele está
parando, não. Você vê isso. Novamente, está se movendo
porque tem alguma confiança. Se mantivermos mais controle
e atingirmos o espaço, não, você pode ver que ele
está lá. Tudo parece bom.
O freio de mão não está funcionando e o avião não
está se movendo
14. Animação de roda: Agora temos alguma confiança
em nosso caça a jato e podemos mover nosso
caça de acordo com ele, certo? Mas vamos dar uma
olhada em um problema. Se você atropelar o jogo, você pode ver, em primeiro lugar, olhar para as rodas. Se avançarmos, você pode
ver que as rodas não estão se movendo. Por que não está se movendo? Nós habilitamos a física. Nós o configuramos no componente de
movimentação do veículo, mas ele não está nem um pouco se movendo. Não parece nada
bom, certo? Então, para corrigir a necessidade de um plano de
animação, como queríamos, ou classe de
personagem Então, se você clicar em ou
mesclar, como você sabe, esse avião de combate é apenas uma malha esquelética que pode ter um plano de animação Então, para fazer isso, devemos ir para a gaveta de conteúdo Eu quero ir para a pasta de caças a
jato, e aqui, eu quero ir para o
Blueprint porque o Blueprint de
animação é apenas outro tipo de
projeto Então, clicando com o botão direito aqui, crie uma classe de planta
e, nas aulas,
pesquise o veículo Animação, chamamos de instância de
animação. Basta escolher aquela seleção de cabeça. Este é o modelo de
animação do caos que nos ajuda com a malha esquelética com
rodas Eu quero chamá-lo de ABP
para animação Blueprint, F 18 porque
estamos usando um F Não clique nele para abri-lo. Eu vou te dizer que
não há nenhum esqueleto lá dentro, então entre aqui e
escolha um esqueleto Queremos escolher entre F
18, certo? Vá bem, e ele o
colocará lá para nós. Agora que temos um plano de
animação, podemos configurá-lo aqui, apenas clicando nesta seta Sempre que você seleciona algo
na gaveta de conteúdo e usa
essa seta ao lado de qualquer coisa, ela a coloca lá, se
possível, certo? Não, onde o ABP f 18 que
criamos juntos está definido lá, mas nada acontecerá porque não fizemos
nada lá Se você não clicar
nele, ele será aberto. É exatamente como qualquer projeto de
animação, mas podemos fazer muitas
coisas com o veículo Vou mostrar a maioria deles. Primeiro e primeiro, aqui, devemos obter a malha f pose, mesh space, f pose. Isso nos dará a localização, a rotação e toda a
malha esquelética do nosso caça a jato E com isso, existe
um nó chamado controle de roda para veículo
com rodas É isso mesmo. Acabamos de
conectar esse pH automaticamente convertido do
componente para o espaço local. Compilamos e
sabemos que se você
atropelar o jogo e mudar de cabeça,
não, você pode ver que está se movendo Você pode ver a roda. Não, você pode ver que está se movendo, e está lindo. Podemos dirigir o
espaço até o freio de mão, e você pode ver
como foi fácil
adicionar rotação às nossas rodas
espaciais físicas, certo? Um problema que
temos aqui você pode ver que a
roda dianteira está no céu. Então, vamos ver qual
é o problema. Para corrigir isso,
precisamos ir até o BP F 18, clicar no componente de
movimento do veículo onde montamos as rodas, à direita, e precisamos alterar
o raio da dianteira Se você se lembra,
temos a roda BP F 18. Se mudarmos para
35, por exemplo, não, se compilarmos e
executarmos aqui, você pode ver que está um
pouco abaixado, mas a roda traseira está um
pouco enterrada Novamente, se mudarmos
isso mais, por exemplo, para um valor ridículo, 25 e começarmos a compilar e
executar o jogo novamente, você pode ver que não, a roda dianteira está subterrânea, mas as rodas traseiras
estão no chão, e você pode ver que está funcionando, mas o problema é que
não parece muito Então você precisa encontrar
uma maneira de corrigir isso. E do jeito que está,
você deve ter outra classe de roda
para a roda dianteira. Você tenta fazer isso, e nós
faremos isso no próximo vídeo.
15. 13 Raio da roda: Não, para fixar as rodas, a diferença entre
o raio das rodas Para consertar isso,
você sabe que o 25 aqui é bom
para a roda dianteira, mas para a roda traseira, precisamos usar 35, por exemplo, ou 40, certo? Então, precisamos
de outra dessas rodas BP FAT. Então, vamos descobrir isso primeiro. Se formos até a planta da pasta de
jatos de combate, podemos duplicar essa roda
pelo Controle D para duplicá-la E essa, eu quero
chamá-la de BPF ATN na roda traseira, ok? Isso é para a roda dianteira, então vamos mudar
para a roda dianteira dianteira. E vamos clicar nele. A roda dianteira,
queremos que seja 25, mas a roda traseira, queremos que seja 40. O raio dela,
queremos que seja 40. É isso mesmo. Vamos
clicar em compilar E agora devemos ir para o BPF 18, clicar no
componente de movimento do veículo e alterá-los lá. Mas qual é o da frente? Qual é o de trás? O que eu quero fazer é ir
até um esqueleto disso e procurar uma roda
para ver qual devemos selecionar para a roda dianteira e qual
devemos selecionar para a roda
traseira, certo? Então, clicando aqui.
Você pode ver que temos uma junta de roda que
é a roda dianteira. Portanto, a junta de roda LF
é a roda dianteira e as outras são as rodas traseiras. Então,
vamos até aqui. A junta da roda esquerda é a dianteira. Então, deixe isso assim. Mas os outros, queremos
mudá-lo para a roda traseira, esta e esta. Não se preocupe com esses nomes. O nome dos ossos
não é muito bom aqui, mas nós demos uma olhada. E agora você pode ver que
a roda dianteira está bem no chão e a roda
traseira também está no chão. Claro, você pode
mudar algumas coisas. Deixe-me colocar isso aqui. Para a frente, eu
quero colocar 28 talvez, e para trás,
vamos mudar para 35. Acho que parece muito melhor. Agora, se você atropelar o
jogo, você pode ver, o tom
é perfeito, certo? Está no chão e
tudo parece bem, e as rodas também estão
se movendo, e nós também podemos quebrar. Você pode ver como está funcionando
bem. Deixe-me me mover novamente,
e você pode ver que eu também posso usar o freio de mão Tudo parece bom.
Parabéns.
16. 14 VFX com impulso: Não, nossas rodas estão girando, mas quando mudamos o acelerador, não
vemos nenhum efeito Então, o que você quer fazer? Aqui, quando
aumentamos o acelerador, queremos que um pouco de fogo
saia do escapamento Vamos ver como podemos fazer isso. Por fazer isso, se você for até nosso esqueleto aqui, desça. Temos alguns soquetes chamados de
motor LT. Você pode ver aqui. Se eu tivesse te
contado, você pode ver. Motor L T e motor RT. Você pode ver que isso nos
dará uma posição de onde nosso motor deve
criar algum fogo, certo? Então, podemos usar esses dois soquetes para adicionar alguns efeitos visuais Para fazer isso,
basta clicar em ou mesclar, clicar em AD e, aqui, pesquisar o sistema de
partículas do Niágara Um para o motor esquerdo. E precisamos de outro com Controle D. Eu o dupliquei Este é para o motor Wright. Então, coloque-o no
motor Wright. É isso mesmo. Agora, com isso, podemos decidir quais efeitos visuais
podemos colocar lá. Selecione os dois segurando
a tecla Control. E aqui no ativo do sistema
Niagara, basta escolher NS para o motor do sistema Niagara Agora você pode ver isso aqui. Mas não está na direção
certa. Por quê? Porque precisamos colocar o soquete onde
deveria estar, certo? Para o motor certo,
podemos acessar o soquete principal, clicar aqui e
pesquisar o motor RT correto Em seguida, para o motor esquerdo, novamente, devemos fazer o
mesmo, clique aqui. Isso é para o
motor esquerdo, então motor LT. E, no momento, o problema
é que está atrasado. Para corrigir isso, podemos
simplesmente selecionar os dois e
girá-los em 180 graus Na direção Z, e pronto. Você pode ver isso.
Tudo parece bom. Agora, se formos compilar um
jogo de Runo, teremos alguns efeitos visuais que mostram se nosso avião
está se movendo ou Mas agora está no máximo. Por que está no máximo. Se você clicar em um deles, por exemplo, o direito, verá que
existem parâmetros do usuário. Então, se você colocar 0,1
nessa direção, não, você pode ver que
é menor do que antes. Se você colocar 0,5 lá, não, você pode ver. É mais do que isso. Agora, se você colocar um, verá
que está no máximo. Se você colocar dois aqui, novamente, será mais. Podemos jogar com esse valor. Só assim, não
precisamos mudar Y porque você pode ver que se você mudar o Y,
não parece bom. Podemos colocar todos eles em dois. Se você quiser dessa forma, não
parece tão ruim, mas eu quero colocar
tudo isso em um, mas alterar o X com
base no valor do acelerador Por padrão, quero colocá-lo
em zero para os dois, motor
artístico e motor esquerdo. Então é isso. Agora, queremos alterá-los com base no valor
de Trottle Como podemos fazer isso,
podemos acessar o gráfico de eventos. E aqui, eu quero
usar o Eventq. Mas como
queremos fazer muitas coisas no eventq,
o que eu quero fazer, quero criar uma
função para isso Então, nas funções, clique
aqui para criar uma função. Eu quero chamá-lo de gerenciar
Trotle VFX. Está bem? É isso mesmo. Nesta função que você
deseja usar no eventq,
podemos simplesmente arrastá-la e soltá-la,
colocá-la aqui e
conectar o pino de execução de evento para gerenciar o
acelerador O que quer que nos conectemos aqui, é exatamente como
conectá-lo ao eventq, certo? Isso acontecerá 30 vezes por segundo ou 60
vezes por segundo. Não, podemos colocar o motor
esquerdo e o motor direito aqui e
definir um parâmetro nele. Como você sabe, se
você clicar aqui, o parâmetro é chamado de escala. Então, aqui, queremos dizer
definir o perímetro. E você pode ver que
há muitos deles,
mas, como você pode ver, a
escala é uma árvore vetorial. Então, precisamos dizer
definir o perímetro vetorial. Está bem? Defina o medidor vetorial
para esses dois motores Não precisamos dessa instância porque a
criamos aqui. Agora, o
nome do medidor é uma escala, então devemos
colocá-la lá, uma escala Queremos que Y seja um, e Z, queremos que seja um, mas DX
queremos que seja diferente Então, o que
podemos fazer é dividi-lo aqui, fazer um vetor aqui, para o Y, colocar um, para o Z, colocar um também. Mas para o X, eu quero
usar o valor do acelerador, certo? Agora, vamos ver o que vai acontecer. Se você atropelar o jogo, verá que
agora está em zero. Se mantivermos o turno, você pode ver que ele
aumentará, aumentará e você poderá ver isso. É muito pequeno. Podemos aumentá-lo
multiplicando-o por alguma coisa. Se mantivermos o controle, você pode ver que
ele diminuirá , diminuirá
e, no final, chegará a zero, certo? Não, para alterar a
escala, neste momento, o valor do acelerador, sabemos que ele não ficará
maior que um, então podemos
multiplicá-lo por Por exemplo, multiplique por dois. Então, o fogo no
motor será maior. Vamos compilar e
saber se apertarmos a tecla shift, você pode ver que o fogo é
maior e parece bom Se mantivermos o controle, ele também diminuirá. Tudo está lindo.
Podemos aumentá-lo e também podemos diminuí-lo. Ooh. Não, temos
efeitos visuais para mostrar quanto
acelerador colocamos lá Vamos acessar o arquivo e
salvar tudo por enquanto.
17. 15. Som do motor: Bem, não, quando
mudamos o acelerador, temos um efeito visual, mas não é suficiente Eu quero acrescentar mais coisas a ele. Por exemplo, o som. Vamos ver como podemos fazer isso. Para o som, quero
ir até a gaveta de conteúdo
e, aqui no avião de combate, quero iluminar,
criar uma nova pasta e quero
chamá-la de sons, ok? E aqui, clique com o botão direito, vá para o áudio e
crie um metasundo Eu quero chamá-lo de motor a jato. Também temos uma música para isso. Vou clicar nele para
abri-lo e aqui, você pode ver algo
semelhante ao blueprint É exatamente assim, mas com algumas diferenças. Por exemplo, aqui, temos um player de ondas. Com o wave player, podemos reproduzir qualquer
áudio que você quiser. Por exemplo, se eu
selecionar o motor a jato, podemos jogá-lo
clicando em play, ok? Então saiba que,
se você apertar play, nada acontecerá
porque no pé O, devemos conectar o Ot
Mono ao Ot Mono aqui Agora, se tivéssemos que jogar, você pode explicar o som. Mas primeiro e primeiro, o que eu quero que aconteça aqui, eu quero que seja contínuo. Então, se chegar ao final
desse áudio, ele recomeçará. Isso é uma coisa que precisamos. Em seguida, quero
poder alterar o volume
desse player de ondas com base
no acelerador Então, se o acelerador estiver no máximo, o som eu quero que seja
mais alto, certo Então, para fazer isso, há um nó aqui chamado mixer, monomxer dois, certo, e ele
pode misturar dois sons Mas com o ganho, podemos mudar o volume. Então, por exemplo, aqui, eu posso promovê-lo
para uma entrada gráfica. Eu quero chamá-lo de
ganho ou volume, você
quiser chamá-lo. Então, agora aqui, se você clicar neste jogo que
criamos juntos, podemos mudar o alcance. Por exemplo, eu
quero que seja 0-2, por exemplo, ou entre
0,5 e dois, certo? Agora, se você jogar, você pode ver, eu posso diminuí-lo para
0,5 e posso aumentar. Com este jogo, eu também quero
mudar o tom,
então eu também posso
conectá-los aqui. Então, sempre que mudarmos
o jogo, o campo também
mudará. Então, se você atropelar o metasund
novamente, você pode ver. Você pode ver como está bom. Ou podemos simplesmente multiplicar isso, multiplicar uma bóia por
duas, por exemplo, assim e conectá-la novamente
à bainha,
uma parada uma Agora, você pode ver que o calor
está mudando muito mais. Ou podemos simplesmente alterar
esse valor para quatro, talvez, e saber com isso, novamente, se você executá-lo, OK. Tente demais. Talvez possamos. Então, basta brincar com esses valores até alcançar
os resultados desejados. Essa entrada de ganho que
temos aqui também
podemos alterá-la dentro do
blueprint Nós terminamos o Metason
. Tudo está funcionando
bem. Nós podemos ir aqui. E, como fizemos com o motor
direito e o esquerdo, podemos clicar na malha. Desta vez, você
quer dizer áudio. Queremos reproduzir o áudio. E o áudio que queremos
reproduzir é o audio jet engine, o metasun que você cria porque selecionamos aqui, por isso
que ele é inteligente
e sabe o que escolher Então, ele criará um componente de áudio e colocará o motor a
jato MS lá. Não, não podemos jogar. Se você executá-lo assim, ele pode reproduzi-lo e nós
aceleramos, ele não mudará em Mas neste acelerador gerenciado Vx, o que eu quero fazer é pegar
esse motor a jato e definir
um perímetro Defina um perímetro flutuante,
certo? É isso mesmo. Se há um amarelo aqui, significa que não é o
certo. Então, coloque um carro alegórico. O segundo é o
correto. Então use este. Isso deve ser azul e
conectá-los aqui. Queremos mudar o ganho com o
que com esse valor
do acelerador, certo Se eu apenas conectá-los aqui e compilar e executar o jogo, se eu mudar, você pode ver:
Não, está mudando
melhor, certo? E se eu diminuir, você pode ver que o
áudio está mudando, mas isso não é suficiente. O que podemos fazer, podemos
agregar algum valor a isso. Então, por padrão, ele
tem 0,5 dentro dele. Então, adicione 0,5 e, depois disso, altere a variável de ganho. Mude a entrada de ganho, certo? Vamos compilar e executar. Você pode ver que, por
padrão, é 0,5 não, mas se
mantiver, verá que o valor está mudando. E isso eu acho que é
bom. Você pode jogar. Claro, você pode
jogar com esse valor. Você pode aumentá-lo se quiser. Você pode multiplicá-lo se quiser. Você pode fazer todo tipo de coisa. Mas, na minha opinião, momento, isso é
mais do que suficiente. Mais uma vez, deixe-me mostrar para você. Por padrão, 0,5. Parece bom. Se ele mantiver o chip, aumentará o volume e também aumentará
o tom. Tudo parece bom. Legal. Não, eu quero
te mostrar outra coisa. Eu quero adicionar um pouco de interface do usuário. Mas veja, podemos fazer isso a seguir.
18. 16 Blueprint de widget: Mostramos o valor do
acelerador com os efeitos visuais e também
com o som,
mas também queremos
mostrá-lo como uma interface No motor Ao, para criar uma interface de usuário, há uma ferramenta
chamada Widget Blueprint Novamente, é como qualquer planta,
mas se chama
Widget Blueprint mas se chama
Widget aí que podemos criar uma gaveta de interface de usuário muito fácil E aqui, eu quero ir
para a pasta Fighter Widget, clicar com o botão
direito do mouse aqui,
criar uma nova pasta, e eu quero chamá-la de widgets Então, todos os widgets que criamos para a
interface do usuário estarão aqui Cachorro clique nele, abra
, clique com o botão direito aqui. E na parte inferior,
temos a interface do usuário
e, depois disso, o
widget Blueprint Clique sobre isso. O
tipo que queremos criar é um widget de usuário,
então clique nele Eu quero chamá-lo de WBPF 18 UI. É isso mesmo. Esse é o
nome que eu escolhi. Você pode escolher um nome melhor. D clique nele para abri-lo. E agora você pode ver aqui
que temos um painel de visualização aqui. Temos uma paleta na qual você
pode simplesmente arrastar e soltar coisas em nossa visualização aqui para que possamos
mostrá-las em nosso jogo Por exemplo, se você quiser mostrar uma imagem ou
mostrar um botão, basta arrastá-la e soltá-la e você a verá em um minuto. Mas depois de tudo isso, também
temos um gráfico aqui. No gráfico, temos event
construction e eventiq. A construção do evento é
como um evento começar a jogar, e esse eventiq é
como qualquer Isso vai acontecer 60 vezes
por segundo, certo? Não, vamos
voltar ao designer. Vamos testar uma coisa. Para fazer uma coisa, existem milhões de maneiras de fazer
essa única coisa no Aongine,
por exemplo, aqui,
a maneira como eu
crio minha interface de usuário na maioria das vezes é com os painéis Por exemplo, painel Canvas. Então, podemos simplesmente arrastar
e desenhar um aqui, e este é o nosso painel de tela. O painel Canvas é a tela do
monitor. Você pode pensar
assim, certo? E dentro desse painel Canvas, ele nos dará muitas opções. Por exemplo, deixe-me subir e adicionar um texto dentro dele, certo? E com esse painel de texto
em detalhes, quando clicamos nele, você pode ver que posso
alterá-lo para o que eu quiser. Por exemplo, olá, certo? E nas aparências da fonte, posso aumentar o tamanho Depois disso, há
muitas opções aqui, por exemplo, tamanho do conteúdo. Se você clicar nele, verá
que nenhum tamanho é o tamanho
do conteúdo
que está dentro dele, ou
seja, sobre o texto, certo? falarei sobre outras
opções, mas, por enquanto, vamos falar sobre a opção
mais importante dentro de um painel de tela. Como adicionamos o
painel Canvas na hierarquia, você pode ver o painel Canvas E como filhos disso, temos um texto que
diz olá, certo? Mas a vantagem do painel
Canvas são as âncoras. Então, com as âncoras,
se você quiser colocá-las no
meio de uma tela, basta clicar aqui Agora você pode ver que o ponto de ancoragem está no meio da tela Então, se você colocar zero e zero para a posição
X e a posição Y, ele colocará nosso
texto no meio ancorará no
canto superior esquerdo do nosso texto, certo? Mas e se quisermos ancorar esse ponto médio aqui no ponto
de ancoragem Como podemos fazer isso, podemos fazer
isso com alinhamento. Aqui. Podemos dizer 0,5, this.in aqui é 0,54
X e Y Se você quiser colocá-lo exatamente no meio da tela, podemos colocar 0,5 para
alinhamento na direção Y. Não, você pode ver que o texto está exatamente no meio
da nossa tela, certo? Não, temos uma interface de usuário, certo? Olá, word UI. Vamos ver como
podemos mostrar isso em nosso jogo. Para fazer isso, devemos
seguir nosso plano. E aqui no
evento em que ganhamos o jogo, devemos criá-lo primeiro e depois adicioná-lo à nossa
tela ou janela de visualização, certo? Então, para criar um widget, você pode simplesmente
pesquisar criar widget,
conveniente, certo?
Crie um widget E o tipo de classe
que queremos
criar é WP, FATNUI E depois disso, podemos
adicioná-lo à janela de exibição. É isso mesmo. Agora, se
você atropelar o jogo, verá que a ala de
saudação está lá. Isso parece incrível.
Temos uma palavra de olá lá, mas eu não quero
fazer isso assim. Quero promover o
blueprint em destaque para uma variável, que possamos atualizar o texto lá Então dizemos promover para uma variável, e eu quero chamá-la de FTenUI Ok, Feighteen UI, eu
preciso do pino de execução. Então, vamos dar
assim. E é isso. Agora temos acesso ao
Feighteen UI Always. Vamos ver como podemos.
Atualize o texto lá. Diz: Olá, palavra agora, mas queremos
mudá-la para outra coisa. Para alterá-lo, primeiro clique nele na guia do designer e torne-o variável
para verdadeiro, certo? Porque deveria ser uma variável, então temos acesso
a ela no gráfico. Você deve dar um nome
bom a isso. Por exemplo, texto, neste momento, o texto é mais do que suficiente. Agora, vamos ver o gráfico. Se você for para o gráfico, não, você pode ver dentro das variáveis, temos uma variável cujo nome é texto, o
nome que escolhemos. Podemos obtê-lo assim
e colocar o texto nele. Basta pesquisar o texto definido, e você pode vê-lo aqui, e assim, eu quero
chamá-lo de F 18. Então, com isso, se você
compilar e executar, ele deve dizer Feighteen Então você pode ver isso. Isso parece muito bom, certo? Não, eu não quero
mudar o texto aqui. Eu quero alterá-lo
por dentro ou pelo modelo. Como podemos fazer isso, podemos
criar uma função para isso. Por exemplo, dentro
dessa função, podemos criar e eu quero
chamá-la de set my text. Não quero usar texto definido
porque ele já está lá. Eu quero chamá-lo de definir meu texto. E dentro dessa função, pegamos o texto assim e colocamos um texto lá,
certo? Defina o texto. E conecte-o assim. E essa função pode
ter entradas, certo? Então, para passar algo de um blueprint para
outro blueprint, podemos usar funções dentro
desse segundo blueprint E cada função pode
ter entrada e saída. E, nesse caso, precisamos de uma entrada
do tipo de texto. Então clique na função em si, e aqui nas entradas,
clique na entrada, e o tipo dela, como você sabe, deve ser texto, e eu quero chamá-la de texto ou qualquer outra coisa Eu quero chamá-lo de meu texto. Então você
entenderá melhor. Não, com essa entrada, podemos simplesmente conectá-la
aqui, então estamos lá. Agora, vamos ver como podemos usar essa função para definir o
texto dentro de nosso modelo Aqui, o que eu quero fazer
no braço de mão sempre que
pressionamos um espaço,
queremos mudar o
texto para bico de mão e
sempre que soltamos a barra de espaço
ou soltamos
o bico sempre que soltamos a barra de espaço
ou soltamos
o de mão,
queremos dizer soltar o bico de mão, queremos Para fazer isso, obtemos o
FATUI, obtemos assim, e dizemos definir meu texto, a função exata que
criamos juntos E aqui, eu só
quero dizer quebra de mão. Agora, podemos novamente usar a função, definir meu texto. E neste caso, queremos dizer liberação do freio de
mão, liberação do freio mão. É isso mesmo. Vamos apenas compilar
e executar o jogo. Não, você pode ver que
se mantivermos a tecla Shift pressionada, ela se moverá, se
mantivermos o controle, ela permanecerá um pouco. A velocidade é menor. Se mantivermos o espaço, não, diz freio de mão E se você liberar o espaço, diz liberação do freio de mão E podemos testá-lo, certo? Então é assim que você pode trabalhar com o blueprint do Widget.
Nós não precisamos disso. Não precisamos nem um
pouco dessa função. Então, vamos deletar
isso e pronto. Diz: Olá, palavra. Eu quero mudar
isso para F 18 por enquanto. Então, mostra F 18. Sempre que atropelamos um
jogo como esse, quero mostrar como
você pode ter alguns efeitos nesse
texto no próximo vídeo.
19. 17. Animação em widget: Agora vamos ver como podemos dar esses textos um
pouco de animação. Como podemos fazer isso,
podemos fazer isso com
animações dentro do
Digit animações dentro do
Digit Vamos ver. Basta clicar nele e acessar o Animation
Stab aqui Clique na animação e ela
criará uma nova animação. Eu quero chamar isso de text fade. Está bem? E clique nele novamente. Não, a animação de desvanecimento do texto está selecionada e você
pode vê-la aqui Em seguida, devemos adicionar
o texto que
selecionamos aqui à linha do tempo da
animação Então clique no texto e
você pode vê-lo aqui. Podemos fazer muitas
coisas com esses textos. Se clicarmos nesse sinal positivo, podemos mudar
muitas coisas aqui. Por exemplo, cor
e opacidade, certo? Então, por padrão, você
pode ver que é branco. O que eu quero fazer depois de, por exemplo, 1 segundo, queremos mudar o
Alfa ou a opacidade para zero Então, no momento zero, queremos criar um quadro-chave Então clique aqui para
criar um quadro-chave. Às vezes, quando você
clica aqui
, não está criando um
quadro-chave, você pode vê-lo Você pode alterar algum valor, para que ele crie um quadro-chave
para nós e, depois disso, volte aqui e
crie um quadro-chave Podemos excluir esse quadro-chave
que temos aqui. Depois de 1 segundo, queremos
mudar o Alpha para zero. Então clique aqui e
coloque em zero. Agora, você pode ver que temos
outro quadro-chave no final. Assim, você pode ver no início a opacidade de Feighteen está cheia
e, após 1 segundo, Não, com isso,
vamos compilar, salvar e começar a pegar Devemos reproduzir essa animação no evento Construct ou
onde você quiser. Eu quero fazer isso com a construção de
eventos. Então, obtemos uma
animação de desvanecimento de texto como essa, e dizemos reproduzir
animação. É isso mesmo. Assim. Há algumas opções que você pode alterar,
mas, por padrão, está tudo bem. Não, vamos apenas
compilar, executar ou jogar. Você pode ver primeiro, diz FateN e depois de um
segundo, ele vai embora. Mas eu quero melhorar as coisas. Então, vamos ao designer. Novamente, vá para a animação, clique na animação. Agora aqui, eu quero que
o texto fique por cerca de 0,75 segundo aqui, e depois disso, vá embora, certo? Então, o que eu posso fazer é
colocar o cursor em 0,75 e criar um quadro-chave
com alfa de Agora, você pode ver de
zero a 0,75 segundo, ele tem opacidade total e
depois disso, ele desaparecerá Agora, vamos dar uma olhada. Corra. Você pode ver que o
FaTeen está lá e, depois disso, ele desaparecerá Em seguida, o que eu
quero fazer aumentar o tempo
que temos aqui. Então eu posso arrastar esses dois quadros-chave que
temos aqui e trazê-los, por exemplo, depois de
três segundos, certo? Então saiba o que vai acontecer. O texto permanecerá por 2,75 segundos e, depois
disso, desaparecerá Então, vamos dar uma olhada nisso. Agora, se você atropelar o jogo, verá se Aten está lá
e, após 2,75 segundos,
ele desaparecerá. E eu acho que isso parece bom. Não, é hora de
criar um trottle U
20. 18 Interface do usuário do Throttle: Agora vamos ver como
podemos realmente mostrar o acelerador como uma Para fazer isso, quero
usar algumas ferramentas mais novas. Só aqui, temos uma fronteira. Então arraste e solte isso
em nosso painel de tela, ou você pode simplesmente colocá-lo
aqui. É isso mesmo. Não, primeiro de tudo, quero
ancorá-lo no canto inferior
direito, mas onde quer que você
queira colocá-lo, está tudo bem A maior parte do jogo o coloca
no canto inferior direito. Quero mudar a posição
para zero e zero por enquanto, alinhando-a
no canto inferior direito para ancorar no ponto de ancoragem Então, para fazer isso,
colocamos um e um no alinhamento. É isso mesmo. Agora, eu quero
posicioná-lo um
pouco longe desses lados. Então, para isso, eu quero colocar -50 -50 assim. Em seguida, o tamanho. Eu quero mudar o tamanho para
50 e o tamanho Y para 215. Está bem? Agora, temos um bar, certo? Mas o bom das
bordas é que podemos usar pincel e mudar o pincel
do padrão para imagem. Procure por Trottle B. E agora você pode ver, temos um histórico do acelerador.
Legal, certo? É uma borda, mas a
usamos como imagem. Em seguida, deixe-me te
mostrar uma coisa. Se eu for às texturas, você pode ver que também há uma
textura de aceleração aqui Eu quero usar. Para usar isso, porque quero que
seja fácil trabalhar com ele, quero criar um painel Canvas como
filho dessa borda. Neste painel do Canvas, a única coisa que eu
quero fazer é
zerar todo o preenchimento, que não haja nenhum
preenchimento para que possamos preenchê-lo Agora, além disso, eu quero usar uma imagem. Então vá para Imagem, arraste
e solte-a neste painel do Canvas
e clique nela. Agora, podemos dizer que essa imagem é
o próprio Trottle. Então, aqui, escolhemos
a imagem para ser Trotle e eu quero
começar de baixo É por isso que estou usando o Canvas porque posso
ancorá-lo na parte inferior central, certo? E eu posso colocar
a posição em zero e zero. E o alinhamento deve ser 0,5 0,5. É isso mesmo. Isso
parece bom, certo? Agora, com isso, com
a posição Y, você pode ver, eu posso
mover o acelerador Você pode ver que o valor máximo deveria estar aqui talvez seja -200 Quando o acelerador está no máximo, a posição Y deve ser -200, mas quando o acelerador está zero, deve estar aqui
, certo A posição Y deve ser zero. Então, em tudo isso, a única coisa que
você quer mudar é a posição Y
dessa imagem do acelerador Não precisamos mudar
nada em segundo plano, certo? Então, aqui, queremos
torná-la uma variável e
chamá-la de trotleimage Está bem? Agora temos acesso
a ele dentro do gráfico. Então, para atualizar esse acelerador, eu quero criar uma função e quero chamá-la de
set Trottle E essa função,
eu queria ter uma entrada do tipo float, e eu quero
chamá-la de valor de Trottle Está bem? Agora, com essa função. Queremos definir a posição,
mas como podemos fazer isso. Temos a imagem do acelerador, certo? Mas se dissermos definir
posição, ok? Tem uma posição definida para obter o slot, que não é a
que você deseja, porque nesta imagem do acelerador
dentro do painel da tela, devemos dizer ao nosso verdadeiro
motor que a
fornece como uma ranhura como tela Então me dê
como um slot de lona. E no slot de lona, podemos definir a posição facilmente. Dizemos definir posição
e pronto. Não, podemos definir a
posição para X e Y. Como você sabe, se você for para o designer, a posição X, nós
não a mudamos, apenas a posição Y
que queremos mudar, certo? Então, podemos fazer um vetor
dois D. Então, vá até aqui faça um vetor D porque queremos apenas mudar
a posição Y. Mas podemos simplesmente
conectar isso a Y Não, porque o valor do acelerador é um
valor 0-1. Se você se lembra, o valor do acelerador é um
valor 0-1. Não será mais do que isso. E sabemos que o
acelerador no máximo é um. E nesta imagem, quando o valor do
acelerador é um, a posição Y deve ser Portanto, sempre que o valor do
acelerador fosse um, a posição Y deveria ser -200
e, quando o
valor do acelerador fosse zero,
a posição Y deveria ser zero a posição Como podemos fazer isso, é fácil. Podemos simplesmente multiplicar
esse valor por -200. Apenas pense sobre isso. Se você multiplicar zero -200, isso nos dará zero em Y, conectado a aqui, é claro E se você multiplicar -200
por um valor máximo do acelerador, isso nos dará -200. É isso mesmo. Agora, vamos usar
essa função dentro do BPF 18. Onde podemos usá-lo? Primeiro, podemos usá-lo no Aventiq, mas a melhor opção é
usá-lo sempre que alterarmos o valor
do acelerador Então, antes de configurar o trotle, podemos pegar a interface do F 18, certo, e configurar o Trotle
lá, Assim, conectado
assim, conectado assim. O valor do acelerador,
nós damos assim. E precisamos fazer o
mesmo para o intervalo também. Aqui, nós quebramos e mudamos o valor do
acelerador Então, controle para colá-lo aqui e conectá-lo assim. Conecte o valor. Agora,
vamos ver a mágica. Se você executar o jogo we, você pode ver o acelerador Se continuarmos baratos, você pode ver que o acelerador está
aumentando e subindo E também podemos diminuí-lo. Você pode ver isso. Legal, certo? Estamos diminuindo e aumentando o valor do acelerador com muita
facilidade, certo? Legal. Agora temos uma interface de usuário que
mostra o valor do acelerador.
21. 19 Defina a entrada do tom: Nenhum avião de combate pode
mudar o acelerador, pode ter alguma confiança Pode seguir em frente, certo? Mas não podemos
aumentá-lo ou diminuí-lo manualmente. Ele vai subir automaticamente, mas não podemos subir
e descer manualmente. Vamos ver como podemos fazer isso. Se você acessar nossa
planta F 18 aqui,
você pode ver que, subindo e descendo, precisamos mudar a
rotação em torno do eixo Y. Você pode ver que o eixo Y é assim, e queremos mudar
a rotação em torno
do eixo Y, certo? E a rotação em torno do eixo
Y é chamada de inclinação, então precisamos mudar a inclinação. Para fazer isso,
precisamos da ação de entrada. Por exemplo, se tivermos T, queremos que o tom do nosso
avião de combate
diminua assim, gire assim, certo? Mas se você estiver no teclado, queremos que a rotação do nosso avião de
combate seja assim,
suba, certo, como nos jogos de combate, como qualquer jogo de caça a
jato, certo? Então, para fazer isso, primeiro de tudo, precisamos da ação de entrada. Vá para a pasta
de entradas aqui, clique com o botão direito. Vá para a entrada e
crie uma ação de entrada. Eu quero chamá-lo de IA pitch. Ok, eu sou uma proposta. Porque com isso,
queremos mudar o tom do nosso caça a jato. Não clique nele para abri-lo. O tipo de valor, eu quero
que seja um ases e um d porque ou estamos
subindo ou
descendo. É isso mesmo. Não, vamos salvar isso.
Podemos simplesmente fechá-lo. Vá para o avião de combate IMC, o contexto de mapeamento de entrada, crie um novo mapeamento Queremos mapear o IA Pitch. Selecione o argumento de venda da IA e entre aqui. Primeiro de tudo, queremos fazer
isso para W. Clique aqui,
pressione W na sua palavra-chave e ela colocará W lá. Crie outro
clicando em adicionar aqui, e este é para
S. Então, por padrão, o que acontecerá
aqui em IAPCHEvent, ele passará um sempre que
pressionarmos W e, novamente, ele passará um sempre que
pressionarmos S em nosso
teclado O que queremos que aconteça
é passar um quando pressionamos a ferramenta e passar
menos um quando pressionamos S. Então, precisamos adicionar um
modificador ao S, certo Então, adicione o modificador aqui, o tipo deve ser negado, então ele nos dará o
menos um, e pronto Agora podemos ir para
BF ou blueprint, ir para o gráfico de eventos, não No fundo, podemos
pesquisar o tom, certo? O evento. E aqui, sempre que o tom
IA é acionado, seja com W ou S, podemos mudar o tom
do nosso caça a jato. E como podemos fazer isso, podemos obter o componente de
movimento do veículo. Há uma função dentro
dela que é chamada de tom. Defina a entrada de tom, certo? Está dentro do componente de
movimento do veículo. Sempre que o tom de IA é acionado, queremos alterar o tom do componente de movimento do veículo
com o valor da ação. Agora, com isso, vamos
compilar o jogo save e o Runo. Se já lhe dissemos,
você pode ver, eu posso mudar o
tom assim, subir e descer. Você pode ver, eu estou fazendo isso,
não acontece automaticamente. Eu posso subir e
descer com W e S. Mas agora, qual é o problema que temos sempre que dizemos o campo será um
e permanecerá lá e girará ou ficará plano Não é isso que queremos. Sempre que soltamos ou S, queremos mudar
o tom para zero novamente porque esse
tom não está em graus. É um valor entre
menos um e um. Se você colocar um, ele
continuará girando. Se você colocar um e
não o definir como zero,
ele girará continuamente até que você atinja outra
coisa, certo? Mas não queremos
que isso aconteça. O que queremos que
aconteça sempre que
soltarmos o W ou o SK
em nosso teclado definir o tom e
voltar a zero, certo? Então, podemos copiar e colar
essa função aqui. A função está dentro do componente de movimento do
veículo, então precisamos conectar o
componente de movimento do veículo ao alvo. Sempre que soltamos ou completamos o W ou
SK em nosso teclado, queremos mudar o
tom para zero. É isso mesmo. É só uma compilação,
salve um jogo de runover. Se você segurar a tecla Shift,
verá que consigo me levantar. E se você soltar a dolly ki, verá que ela avançará Se eu tivesse S, novamente, solte o chute de boneca,
ele avançaria Ele não girará
continuamente, certo? É isso mesmo. Agora estamos definindo o tom do nosso caça a jato.
22. 20. Modificando o osso: Nenhum caça a jato pode subir
e descer com W e SK. Mas o problema é que
não
há visualização da mudança na elevação, mudança no tom, certo? Então, vamos ver como podemos
adicionar alguma visualização. Se você for para Viewport, você pode ver que nosso avião de combate tem alguns elevadores que podemos girar como um verdadeiro caça a jato, e temos algumas coisas
aqui chamadas Alon que estão nas asas, e podemos mudar a
rotação delas para mostrar
a a Ou o campo, certo? Então, para fazer isso, eu quero
usar uma malha esquelética aqui Se você não sabe onde está, você pode acessar a
gaveta de conteúdo, acessar ativos, acessar malhas, FateN aqui e ver
a malha esquelética você pode acessar a
gaveta de conteúdo, acessar ativos,
acessar malhas, FateN aqui
e ver
a malha esquelética aqui.
Você pode abri-lo. E aqui, se eu
procurar por elevador, você pode ver o elevador esquerdo, se eu for até ele, você pode ver, eu posso girá-lo assim E essa é uma boa visualização
da sustentação, do tom, da
mudança de tom, porque
em um avião de combate real, mudamos a
rotação dessas coisas, subimos e descemos E assim, também
temos o Aloron. Se eu procurá-lo, você pode ver como este, eu posso trazê-lo para cima e para baixo. E o que você quer fazer? Queremos alterar a
rotação de tudo isso que possamos ter
alguma visualização se estivermos subindo e descendo. Claro, podemos ver o avião de combate que
está subindo e descendo. Mas se você não girar esses
elevadores e ailerons, não ficará
muito bom Então, a próxima coisa sobre a qual quero
falar são os espaços. Você pode ver que existem
algumas maneiras de girar nossos
elevadores e
Aerons girar nossos
elevadores e Um no espaço de bono, uma referência e
uma malha relativa. O importante é
que queremos mudar a rotação
do nosso
Aeron e dos elevadores No espaço ósseo. Então clique no osso. Você pode ver que queremos girá-lo em torno do Yxis, que
é chamado Você pode ver a rotação em torno do Yaxs, que é chamada Então, queremos mudar o tom
dos elevadores e das pessoas. E como podemos fazer isso, podemos fazer isso na animação Blueprint Abra o Blueprint de animação. Eu quero criar um
pouco de espaço aqui,
e o nó em que podemos
fazer esse tipo de coisa é chamado modificar osso ou
transformar modificar osso. E coloque aí, você pode ver que
há muitas
opções aqui. O que você quer mudar
é apenas o tom de rotação, não a rotação X, não a rotação Z. Não
queremos
alterar a translação localização
ou a posição, e não queremos
alterar a escala O que eu quero fazer primeiro aqui ocultar essa
tradução e escala. Então clique no nó
e, no painel de detalhes
para tradução, quero clicar aqui e dizer que não o exponha como um alfinete Você pode ver, não, sumiu. Eu também quero fazer isso em
uma escala. Clique aqui e não o
exponha como um alfinete, certo? A próxima coisa que eu quero fazer. Quero clicar com o botão direito do mouse
nessa rotação, dividir o pino do traçado porque
queremos apenas alterar
a rotação, Y ou inclinação, certo? A próxima coisa que queremos fazer acessar o painel de
detalhes aqui. Para o modo de rotação,
quero alterá-lo de ignorar para adicionar
ao existente, certo? Porque nosso elevador e os ailerons talvez
já tenham alguma rotação Então, com esse acréscimo ao existente, podemos alterá-lo para cima
e para baixo, certo? Será mais fácil
com o AD existir. Em seguida, o espaço de rotação, quero alterá-lo para osso e espaço, porque é
mais fácil trabalhar com ele. Será baseado
na rotação que ele tem em relação ao osso original. E essa é a
maneira mais fácil de fazer isso. É assim que devemos
fazer isso, é claro. Em seguida, devemos decidir qual osso modificar para
modificar sua rotação. Primeira coisa, vamos
fazer isso com o elevador. Então, procure um elevador. É isso mesmo. Escolha uma junta
de elevador Agora, na janela de exibição, posso
ampliar no elevador esquerdo. Você pode ver isso aqui e saber com isso se eu compilar
e alterar o tom para,
por exemplo, 45 graus
e começar a compilar Não, você pode ver que o tom esquerdo do elevador é alterado, nós o
mudamos dentro deste nó. Se eu colocar em 90, é
claro, você não
deveria fazer isso. Compilação principal, você pode
ver, não, é 90. Se eu colocar em dez
e começar a compilar, você verá que nenhuma rotação é dez Podemos simplesmente
colocar em zero ou não. Outra forma de
testarmos esse tom aqui
neste nó é
criando uma variável. Então vá para variável,
crie uma variável. Eu quero chamar isso de valor de
pitch, certo? O tipo, como você sabe, deveria ser flutuante
porque esse campo é só um flutuador, certo Compilação principal, podemos simplesmente
conectar esse valor de tom ao nosso tom aqui,
Headcmpile, Mas se você for ao
Anim Preview Editor, se você não tiver isso, basta acessar o Windows
Anim Preview Editor, verificar se ele está ativado e se você tem acesso
ao valor do pitch Todas as variáveis
que você pode alterar
aqui e ver o resultado
na janela de exibição Você pode ver que estou
mudando as coisas aqui e você pode ver isso
em uma janela de exibição como esta Você pode ver que estou girando. Eu quero colocá-lo
em zero por enquanto. Essa foi outra maneira de
testar essa nota, criando uma variável
e usando-a e usando o editor An Preview para alterar o valor e ver
o efeito na janela de exibição É isso mesmo. Saiba
o que queremos fazer. Queremos mudar esse valor de tom com base
no tom em que estamos aqui. Vamos ver como
podemos fazer isso a seguir.
23. 21 Valor de pitch de vendas: Não, queremos mudar o
tom do elevador e de Aarons, com base no tom,
mudamos o insight ou plano. Vamos ver
como podemos fazer isso. Para fazer isso, precisamos uma visão ou modelo
variável aqui também, certo? Então, vamos criar uma variável, e eu quero
chamá-la de valor de pitch. Então, o nome aqui
e o nome que escolhemos dentro do nosso
esquema de animação são os mesmos Isso é bom, certo? O
tipo deve ser flutuante. Não, vamos apenas configurá-lo, certo? Podemos simplesmente definir assim, definir o valor do tom
assim com o valor que
temos aqui, certo? E podemos usar isso assim, então será mais fácil. Quando atingirmos W, ele passará por um. O valor do tom será um, e o tom aqui também
será um. Quando atingirmos S, isso nos
dará menos um, e isso também será menos
um, certo Novamente, queremos definir o valor do tom aqui também
como zero, certo? Quando estiver concluído, queremos colocá-lo em zero. É isso mesmo. Isso é
tudo que precisamos fazer. Agora, com isso feito, podemos acessar nosso plano de animação e
obter esse valor de tom aqui E como podemos fazer isso,
podemos ir para o gráfico de eventos, certo? Em primeiro lugar, aqui, queremos obter uma
instância do nosso BPF 18, e como podemos fazer isso,
há uma nota chamada Troy,
get Troy, get pawn owner, E com isso, ele
nos dará o dono desse projeto de
animação, o projeto que está
usando esse plano de animação,
certo Mas isso não sabe qual é o tipo de proprietário que
estamos recebendo, certo? Você deve contar isso por meio de um casting. Podemos dizer que lançamos dois
BP F 18, certo? Eu preciso do pino de execução. Podemos usar a jogabilidade aqui. O Event Blueprint começa a ser
jogado, certo? É isso mesmo. Isso acontecerá uma vez
quando jogarmos o jogo, certo? Agora, com isso, podemos clicar com
o botão direito do mouse nela, promovê-la a uma variável, e eu quero
chamá-la de BPF 18 É isso mesmo. BPF 18 interno ou ao
Blueprint de animação em todos os lugares,
certo Agora temos acesso ao
BPF 18 interno ou ao
Blueprint de animação em todos os lugares,
certo? Agora, com isso feito. A primeira coisa que quero fazer superar o BPFEighteen e verificar se ele é válido Portanto, a busca por
é válida assim. Você precisa do pino de execução,
então vamos dar isso. Se for válido, o que queremos
fazer é obter
o valor do pitch. Então, pesquise o
valor do tom, obtenha o valor do tom, e podemos definir esse valor com o valor do tom que
obtemos do BPF 18, certo? Assim, se for
válido, certo? É isso mesmo. Agora temos acesso ao
valor do pitch dentro do nosso plano. Vamos ver como
podemos usá-lo. Você sabe que esse valor de pitch
que estamos obtendo do BPF 18 é um valor entre
menos um e um E aqui no gráfico de Anning, você viu quando mudamos o valor do pitch para um
valor maior, tipo, vamos ver Como dez, você pode
ver alguns efeitos. Portanto, um valor entre
menos um e um não faz muitas coisas Você pode ver que há uma
pequena mudança aqui. Isso não é bom o suficiente. Se jogarmos nosso jogo, isso mudará. Vamos
dar uma olhada nisso. Isso mudará um pouco, mas não é demais. Não podemos ver isso claramente, o que podemos fazer é
multiplicar isso por um valor Por exemplo,
vamos multiplicá-lo por dez e conectá-lo aqui Agora, se você atropelar o jogo
e as cabeças, você pode ver que está mudando o tom
do elevador esquerdo, certo? Tudo está funcionando bem. Mas agora, o problema é
que ele vai se encaixar no lugar certo. Você pode ver que ele se
encaixará no local. Não é uma mudança suave.
Nós vamos corrigir isso. Mas antes de corrigir isso, precisamos
fazer a mesma transformação, modificar o osso para outro elevador. Também queremos fazer isso com
os ailerons. Então, isso é um desafio para você. Faça esse nó, modifique o osso
para o elevador certo e todos os lurons e também
faremos isso no próximo
vídeo juntos
24. 22 Aileron e elevador: Vamos ver como podemos fazer essa nota para todos os
ossos de que precisamos. Eu quero te mostrar uma maneira fácil. Podemos usar o controle Control
C e colá-lo aqui, certo? Conecte o pino de execução a ele, conecte o
pino de execução aqui também. Podemos simplesmente usar esse
valor para os dois. Então, vamos
conectá-lo aqui também. E neste osso, queremos apenas mudar a junta esquerda
do elevador para a
junta direita do elevador. Então, procure o elevador e
queremos fazer isso para a junta
correta do elevador. Se você compilar e
executar, você pode ver, agora, os dois estão mudando, e isso parece bom,
certo? É isso mesmo. Não, queremos fazer
isso por ailerons. Vamos ver como podemos fazer
isso. Traga isso aqui. Então, temos algum espaço aqui. Desta vez,
quero copiar e colar dois deles aqui desta forma. E a única coisa que eu
quero mudar aqui são os ossos. Então clique aqui e eu quero pesquisar por Aeron Primeira coisa, junta interna esquerda de
Aluron. E depois disso, novamente, procure Aleron para
este também Aileron esquerdo, articulação externa. É isso mesmo. Podemos
simplesmente usar esse valor, mas eu não quero simplesmente
trazer tudo isso para aqui. Eu posso simplesmente selecionar esses dois, Controle C para copiá-lo e
controle V para colá-lo. Não há problema em fazer esse
tipo de coisa, certo? Conectado aqui e
conectado aqui. Vamos clicar em Compleo
e você pode ver que Aleron
esquerdo está funcionando bem
com o elevador. Isso é bom. Também queremos fazer isso pela Aleron
certa. Controle C Control V para
colá-lo aqui também e conectá-lo assim. Certo? Agora, novamente, quero copiar
e colar este aqui. Está tudo bem. É otimizado.
Não se preocupe com isso. Poderíamos simplesmente conectar
isso daqui até aqui, mas eu não queria que isso bagunçasse
as coisas, certo? É isso mesmo. Precisamos apenas
trocar o osso
aqui para escrever a articulação interna de
Aleron,
e este, escrever Aloron. Vamos
ver Aleron, direita, Aloronoarjoint ver Aleron Você pode ver isso aqui em cima, à direita na junta interna de Aloron, à
direita, na junta Vamos apenas compilar
e executar o jogo. Você pode ver, não, os Alorons e elevador estão mudando sua
rotação, e isso parece bom Mas o problema é que isso está
acontecendo muito rápido. Ele passará instantaneamente
para essa rotação. Não queremos que isso aconteça. O que queremos fazer é mudar
suavemente a rotação do Aluron e
do Também podemos fazer isso com Ain terp, e mostrarei no próximo vídeo
25. 23 Pontos de entrada para valor de pitch de vendas: Agora estamos mudando o tom do nosso elevador e do Aaron
com base nas entradas,
o tom de IA, certo Mas isso acontece tão repentinamente
que não parece bom. Precisamos
alterá-lo suavemente para os valores. Então, vamos
ver nosso plano. Aqui, mudamos o tom 0-1 e de zero para menos um,
de um para menos um,
de menos um para
um Portanto, precisamos alterá-lo
suavemente. Em primeiro lugar, deixe-me
criar algum espaço aqui. Também queremos usar um nó
chamado interp. Trabalhamos com ele aqui. Você pode ver que ele pode
facilmente mudar uma variável para um valor alvo Não importa qual seja esse valor alvo,
podemos alterá-lo. Precisamos apenas de uma variável. Temos a
variável de valor de pitch, então vamos usá-la. E aqui dizemos
intérprete F. É isso mesmo. O valor atual
que queremos
alterar é o valor do pitch, certo? E o alvo é
o valor da ação, por exemplo, um ou
menos um, certo? O tempo Delta, podemos
obtê-lo da palavra G, segundo
Delta, só isso. Em seguida, o interpos cuspe, eu quero colocá-lo em cinco Não, vou nos dar um valor cada quadro até
atingir o valor alvo. E podemos salvar esse valor em
nosso valor de pitch, certo? É isso mesmo. Basta
colocá-lo aqui, vamos compilar
e executar o jogo Agora, se I L, você pode ver que ele mudou suavemente
para essa posição Mas, novamente, se você bater, verá que sua rotação
mudará suavemente Mas o problema agora é que, quando quer chegar a zero, isso acontece rápido, mas quando quer ir para
um ou menos um, isso não acontece rápido e parece bom Você pode ver que parece bom. Mas, para chegar a zero, não
parece bom. Chegará a zero muito
rápido. Como podemos fazer isso. Como você sabe, esse
gatilho aconteceu 60 vezes por segundo ou
30 vezes por segundo, com base no seu PC, certo? Então, esse ein ur também precisa de
algo assim, como um gatilho para acontecer 60
vezes ou 30 vezes por segundo Mas essa conclusão
acontecerá apenas uma vez. Isso não acontecerá 60
vezes por segundo. Isso acontecerá apenas uma vez. Então, como podemos usar
essa interposição F para interpretar qualquer
valor que temos dentro dessa
variável de valor de tom como zero Como podemos fazer isso, podemos
fazer isso com a linha do tempo. Então, dragão desenhe
a partir daqui e diga, pesquise a linha do tempo, certo, adicione a linha do tempo, eu quero
chamá-la de pitch 20 Ok, arremesso para zero. Dentro dessa linha do tempo, não
queremos
adicionar nenhuma faixa, apenas a duração Queremos dividi-lo em
dois. Então, por 2 segundos, ele deve ir para zero, certo? Não precisamos adicionar nada aqui.
Podemos simplesmente fechá-lo. Então, essa linha do tempo, quando
jogamos , ela executará o
que estiver conectado à
atualização 60 vezes ou 30 vezes por segundo
por 2 segundos, certo? Então, com isso, podemos alterar
suavemente o
valor do tom com este Fin Turf Então esse é o Controle C, Controle V para colar tudo isso, e queremos que o
alvo seja zero. Então, o valor do pitch vai para zero. Isso é agora, vamos ver
se funciona ou não. Se você compilar e executar pelo headw, poderá ver que ele vai
suavemente para um
e, se eu liberá-lo, ele voltará
suavemente Então, isso está funcionando bem.
Mas há um problema. Eu dirijo para W, e depois
que a cabeça está rápida, você pode ver, ela não está
girando muito Por que isso está acontecendo, é porque essa linha do tempo
não terminou em 2 segundos. Não devemos deixar isso acontecer. Sempre que houver uma nova entrada após a liberação de outra entrada, essa linha do tempo pode
não ser concluída Portanto, precisamos interromper essa linha do tempo sempre que
houver uma nova entrada Por exemplo, quando usamos W e
quando liberamos o W, repente somos S. Você pode
ver que isso é um problema. Não está girando muito. É porque, novamente, a
linha do tempo não está concluída. Precisamos interromper a linha do tempo sempre que houver uma
nova entrada aqui Então, o que podemos fazer sempre que
houver uma nova entrada, esse início acontecerá. Com esse início, queremos dizer: pare primeiro o cronômetro
e, depois disso, você pode ir para qualquer valor que
quiser que tenha aqui Primeiro, isso começará
e, depois disso, o gatilho acontecerá. E isso é bom. Mas a próxima coisa que
queremos fazer é não
jogar essa linha do tempo de
onde ela parou, certo? Se no meio
dessa linha do tempo e a
pararmos, será no meio E se você jogar de novo, ele tocará do meio. Então, o que queremos
fazer é mudar esse pino de execução de uma
jogada para outra do início. Então, toda vez que essa
linha do tempo acontecer, isso acontecerá desde o início Então, ele tocará isso
por 2 segundos, com certeza, toda vez que
lançarmos W ou SK, certo? Agora, com isso abaixado. Vamos apenas
compilar e rodar com um jogo Se eu tivesse S e W muito rápido, você pode ver que está mudando
suavemente para zero toda vez e
vai suavemente para
um e menos um Tudo está funcionando bem. Vamos simplesmente subir no ar. Você pode ver que eu posso subir e
olhar para o elevador e Aleron pode ver como ele está funcionando, vamos
brincar com ele Sobe assim. E talvez
aumente a velocidade, certo? Legal. E aumente
o acelerador também. Isso parece bom. A próxima coisa que você quer fazer conectar esse
valor de pitch aqui também. Mas sem isso, também
parece bom. Tudo é bom para
elevador e Aeron. Se você se segurar novamente e subir ao céu
com as novas mudanças. Tudo está funcionando bem e parece bom e bonito. Se lançarmos novamente, você pode ver que ficará estável. Isso é legal. Agora, o próximo
tema que você deseja fazer. Sempre que tivermos B
ou A ou palavra-chave, você quer mudar a função. Isso pode ser um desafio para você. Tente fazer isso sozinho. Você fará isso em
alguns vídeos futuros.
26. 24 Entrada de rolo: Nenhum avião pode subir e descer, mas não pode rolar Não pode desaparecer, certo? Então, queremos fazer a rolagem. Essa rolagem pode ser
um desafio para você. Não há nada de novo aqui, uma nota que eu quero que você
tente fazer isso sozinho. Se você é iniciante,
continue comigo. Mas se você não é iniciante, deve ser capaz de
fazer isso sozinho Vamos ver como podemos
fazer isso. Para fazer isso, primeiro de tudo, precisamos de uma entrada. Então, vamos até a gaveta de
conteúdo aqui, vamos para o avião de combate, vamos para a
entrada aqui, certo Clique. Novamente, vá para a entrada, crie uma ação de entrada e eu
quero chamá-la de IA roll. Está bem? E vamos
clicar nele porque, ou estamos rolando para a
direita ou para a esquerda, o Eixo um D é
mais do que suficiente. Então mude o tipo de valor
para Axis one D. É isso aí. Salve a cabeça e feche-a. Agora, devemos ir ao contexto
de mapeamento de entrada e criar um novo mapeamento. E aqui, queremos
mapear a função de IA, certo? E para essa função de IA,
temos duas entradas. Então, vamos adicionar duas entradas. Um para D e outro para A, certo? Então é isso. Sempre que
atingimos D, queremos ultrapassar um. Sempre que atingimos A,
queremos passar menos um. Então, precisamos negar
o A aqui. Então clique aqui para adicionar um modificador e clique
aqui e escolha negar Agora, vamos salvá-lo para
ver se está funcionando ou não. Eu quero fazer isso aqui
embaixo. Eu rolo. Está aqui em cima. É um evento de ação
aprimorado. Então, vamos colocá-lo lá. Quero usar um
balanço da impressora para verificar isso com
o valor da ação Agora, vamos atropelar o jogo. Se eu fizer, isso nos dará um. Se eu tivesse A, isso nos
daria menos um. Então, tudo está
funcionando bem aqui. Agora, vamos ver como
podemos mudar o papel. Como fizemos isso para o pitch. Pegamos o componente de
movimento do veículo
e, dentro dele,
havia uma função ou nó chamado set
pitch input, certo? Também o temos para o papel. Então, podemos obter o componente de
movimento do veículo, e aqui, queremos definir
a entrada do rolo, não. É isso mesmo. Isso está
conectado aqui. Conecte o
valor da ação aqui, agora vamos compilar e executar Não, basta adicionar um pouco de trufa, subir um pouco, para que possamos enrolar um pouco Agora, você pode ver que estamos rodando. Mas o problema é que, quando estamos rolando
para a direita, ele
rola continuamente para a direita. Não chegará a zero. Você pode ver que é assim, certo? Então, vamos ver como
podemos corrigir isso. Sempre que lançarmos D
ou A em nosso teclado, essa conclusão acontecerá. E nesse caso, queremos
definir a entrada do rolo para zero. Então, vamos copiar e colar a entrada do set roll com
o controle C, certo? E sempre que soltamos
D ou A em nosso teclado, queremos colocar o rolo em zero. Agora, vamos dar uma olhada nisso. Se rodarmos nosso jogo, adicione um
pouco de aceleração ou treliça , certo?
Eu posso aparecer. E não, eu posso rolar. Veja, vamos ficar lá, e podemos nos mover
assim também. Tudo está funcionando bem. Podemos rolar como se estivéssemos. Legal. A próxima coisa que você quer fazer é usar
uma malha esquelética Quando rolamos, como um caça a
jato rola um caça a jato. Eu posso usar seus ferros
e elevador para rolar. Por exemplo, se esse aileron
e esse elevador caírem e esse aileron e
esse elevador subirem, isso significa
que ele pode girar
assim, certo significa
que ele pode girar Então, com base no valor de rolagem
que temos aqui, podemos controlar os ossos do elevador e do aileron,
para que
fique melhor Vamos ver como podemos
fazer isso no próximo vídeo
27. Ailão de rolo e elevador: Não, por realmente mostrar alguma
visualização do nosso rolo. Podemos simplesmente girar o elevador
e Al Runs para mostrar isso. Vamos ver como podemos fazer isso. Para fazer isso dentro do
blueprint F 18, quero salvar o valor do rolo Então, precisamos de uma variável. Crie uma variável e eu
quero chamá-la de valor de rolagem. É isso mesmo. O tipo, como você sabe, é apenas um carro alegórico Queremos definir o
valor do rolo aqui com o valor do valor da ação
que definimos aqui, e podemos simplesmente
conectá-lo aqui também. Conecte os três aqui a aqui, pode conectar isso a aqui. É isso mesmo. É exatamente
o mesmo de antes, mas estamos sempre salvando o valor da
função. E quando estiver concluído, queremos definir o valor do rolo como zero. Mas desta vez, eu
quero te mostrar uma coisa. Veja, quando eu
quero montar alguma coisa, eu entro aqui
e ele nos diz, você
quer
pegá-la ou configurá-la, certo? Em caso de espera, obtenha o valor
da rolagem e
solte o botão mais à esquerda Você pode ver com isso, estamos
configurando isso diretamente, certo? Ele precisa do lápis de execução. Vamos dar
isso, e pronto. Agora temos uma variável que
está salvando nosso valor de rolagem. Precisamos colocá-lo
primeiro em
nosso plano de animação no gráfico de eventos Podemos simplesmente obter o valor do rolo. Basta pesquisar o valor do rolo. E aqui, vamos colocá-la
aqui e aqui, podemos clicar com o botão direito
nela,
promovê-la a uma variável e pronto. O nome é bom
o suficiente, certo? Então, com esse valor de função, queremos mudar a rotação
dos ailerons e elevadores Então, vamos criar um
pouco de espaço aqui. Eu quero adicionar um comentário. Por exemplo, nesta, eu quero pegar todas
essas cabeças C, e eu quero dizer tom. E aqui estamos usando o
tom, certo, assim. Isso é para arremessar. Não,
queremos fazer o rolo. Para o rolo, também precisamos de
tudo isso. Então pegue tudo isso. Não precisamos configurar
todos eles novamente. Esses nós são para
elevadores e urônios. Podemos simplesmente selecionar todos eles, Control C para copiá-lo e Control V para colá-lo
aqui. É isso mesmo. Dessa forma, será mais rápido. Eu preciso de um
pino de execução ou pino de pose , como você
quiser
chamá-lo, e também
precisamos
conectá-lo à pose. É isso mesmo. Agora, como
queremos controlar isso. Vamos fazer isso primeiro com
elevadores
e, depois disso,
faremos com urônios Como você sabe, precisamos controlar
a rotação de nossos elevadores com o valor do rolo desta vez Obtenha o valor da rolagem e aqui, o valor da
função é um valor entre
menos um e um, precisamos multiplicá-lo
por algo, como dez Está bem? E como você sabe, precisamos mudar o tom
do elevador, elevador. É um pouco
confuso para alguns de vocês porque estamos
usando o valor nominal Por que não estamos mudando
o valor da função aqui. É porque esse elevador está apenas mudando de
tom, não de rolamento. Nenhum caça a jato altera a
rotação em rolo no elevador. Nenhum jato de combate mudou
o papel de seu elevador. Não é realista,
certo? Então é isso. Sabemos que precisamos alterar o valor do pitch do
elevador pelo valor da função, certo? Eu sei que é um
pouco confuso, mas você
vai entender. Não se preocupe Aqui, eu quero abrir
um pouco de espaço porque eu quero ter alguns
comentários aqui também. Então, o que queremos fazer quando
pressionamos D ou teclado, queremos ir para a direita. Está bem? E o elevador esquerdo, queríamos ter, por exemplo, essa direção e
o elevador direito, queremos ter essa
direção, certo? Direção oposta. Como podemos criar essa direção
oposta, podemos multiplicar esse valor da
função por dez, por exemplo, conectado
ao tom E depois disso, multiplique
esse valor da função novamente. Desta vez, não por
dez, por menos dez. Vamos ver isso conectado
ao campo, porque
estamos mudando apenas o tom ,
porque em cada caça a jato, podemos simplesmente mudar o
tom dos elevadores, certo? Nós podemos mudar o rolo.
Não parece bom. Então, agora com isso,
sempre que ouvirmos D, valor um estará
nesse valor de função, um multiplicado por dez Eu vou nos dar dez
para o elevador esquerdo, e ele vai nos dar menos
dez para o elevador direito Vamos dar uma olhada
nisso. Se você atropelar jogo e tocar D no teclado, você pode ver: Não, o elevador
esquerdo é assim e o elevador direito é assim. Você pode ver isso. Legal, certo? Também queremos fazer o mesmo com os Alorns Então, vamos até aqui. Para o aileron esquerdo, queremos
multiplicá-lo por dez. Então, vamos usar o Control C, Control para colá-lo
aqui para ver o tom. Assim. E, novamente, vamos copiar e
colar mais uma vez. Para o aileron certo, o que queremos fazer é
multiplicá-lo por Então, a direção em
que o elevador e Aaron estão girando
em cada lado, direita e para a esquerda, é
diferente uma da outra, É o oposto um do
outro. Então é isso. Vamos apenas
conectá-lo ao campo. Verifique se ele está
conectado ao campo. Vamos apenas compilar e executar. Não, você pode ver quando vamos para D, o aileron esquerdo e o
elevador estão assim, mas o direito é assim Consegue enxergar? Isso parece bom. Vamos simplesmente entrar no céu. Parece muito melhor. Vá para cima. Vá para a direita, você pode ver. Vá para a esquerda, vá para a direita. Vá para a esquerda. Você pode ver claramente o
aileron e os elevadores Mas, como você sabe, o problema que temos com esse aileron e o elevador é que ele está se
encaixando Precisamos
mudar suavemente o valor da função. Novamente, isso é um
desafio para você. Tente fazer isso sozinho
e faremos isso a seguir.
28. 26 Ponta de ponta para rolar: Não, queremos
mudar suavemente a rotação, a rotação do campo com base no papel
do nosso caça a jato E aqui, como fizemos para
o valor do pitch, precisamos usar Fin Terp para
interpretar o valor alvo Então, vamos fazer
isso para este também. Queremos criar um
espaço como antes, temos o Finerp. Podemos simplesmente copiar e colar. Você tenta fazer isso
copiando e colando. É muito importante, mas eu quero explicar
isso mais uma vez. Queremos mudar suavemente valor
da função do que é,
não importa, para um valor-alvo que, neste caso, é o valor da
ação, certo? E esse F interp dois
precisa de um segundo Delta. Podemos obtê-lo em um segundo lugar na Delta. É isso mesmo. E a parte de
interposição, eu quero colocá-la em cinco E em cada quadro, cada vez
que esse gatilho acontece, queremos atualizar
o valor da função com o valor que essa
interpretação F nos fornece. Então, vamos nos conectar aqui e pronto. Ah, certo? Agora, se você compilar
e executar o jogo, pode ver se eu mantenho D, posso ver que ele muda suavemente. Se eu segurar A, isso
mudará suavemente. Isso é bom. Mas o problema é que
isso vai para zero. Como fizemos aqui, precisamos criar uma linha do tempo e usá-la exatamente como
fizemos aqui, certo? Então não, quando lançamos
D ou A no teclado, queremos criar uma
linha do tempo aqui, adicionar a linha do tempo, e eu
quero chamá-la de rolo 20 Dentro disso, eu não
quero adicionar nenhuma faixa. Eu quero apenas ter um comprimento. É isso mesmo, dois são
mais do que suficientes. Você pode simplesmente fechar isso. Você sabe que toda
vez que soltamos o D ou uma tecla em nosso teclado, queremos tocar desde o início. Queremos jogar essa
linha do tempo desde o início. E sempre que houver
uma nova entrada, D ou a, não
importa qual
foi iniciada, acontecerá, e queremos interromper a linha
do tempo, certo? É isso mesmo. Agora, precisamos adicionar um Fin Turf aqui também Podemos simplesmente copiar e colar isso porque fizemos isso uma vez, e isso é
mais do que suficiente, certo? Basta colocá-lo aqui, e a única coisa
diferente é que a meta
deve ser zero. É isso mesmo. É só compilar, exceto que você pode simplesmente conectar isso aqui,
mas eu não quero fazer isso Você tenta fazer o que
quiser. Está tudo bem Agora, se eu tivesse D, você pode ver que está funcionando bem. Se eu o soltar, como é lindo que ele
volte à sua posição. Se eu tivesse A, novamente
, está funcionando bem.
Isso é legal, certo? E se eu confiar em
Shift, posso subir. Você pode ver que tudo
está funcionando bem. E se eu tiver, você pode
ver como é lindo. Isso é muito legal.
Podemos ir para a esquerda, para a direita, e os elevadores e os Arons
estão funcionando Não há próxima coisa que você
queira adicionar. Deixe-me ir aqui. Queremos poder
ir para a direita e para a esquerda assim com E e
Q em nosso teclado. E como aconteceu com isso aqui. Isso
se chama Roder. Podemos simplesmente procurá-lo, Roder. Articulação esquerda do Rudder, você
pode vê-la aqui. E desta vez, se
eu tivesse te contado, eu posso ver como eu
deveria girá-lo Você pode ver se eu girei em torno do eixo Z que é
chamado Ya, você pode ver, eu posso trazê-lo para a esquerda e para a direita, girá-lo para a esquerda e para a direita, e é assim que queremos
girá-lo Então, em primeiro lugar, queremos mudar
o avião de guinada ou o avião combate com E
e Q ou o teclado, como o Ace Combat ou
qualquer caça a jato, eles estão usando as mesmas teclas E para visualização,
queremos alterar
a rotação de Roder
em torno do eixo Z. Você pode ver ao redor do eixo Z. Esse azul é o eixo Z. Novamente, isso é um
desafio para você. Tente fazer isso sozinho e
faremos isso no próximo vídeo.
29. 27 Entrada de Yaw: É hora de poder ir
para a esquerda e para a direita. Para ir para a esquerda e para a direita, você pode ver isso aqui. Precisamos mudar a
rotação em torno do eixo Z, para a
direita, para que possamos
ir para a esquerda e para a direita. E queremos fazer isso com
E e Q em nosso teclado. Então, sempre que pressionarmos E, ele vai para a direita e sempre que
pressionamos Q, ele vai para a esquerda. Primeiro, vamos ver como um
caça a jato pode fazer isso. Se você for até uma máquina
esquelética aqui e for procurar
por Roder Okay, os caças podem
fazer isso com Você pode ver isso aqui. E se você girá-lo
em torno do eixo Z, podemos ter uma
representação visual disso Você pode ver que podemos
girá-lo em torno do eixo Z para uma visualização E se você mudar o
Ya do nosso lutador, ele vai para a esquerda e para a direita. Isso é o que queremos fazer. Para fazer isso,
precisamos de algumas informações. Então vá para a gaveta de conteúdo, vá para a pasta Entradas,
e aqui, clique com o botão
direito, crie
uma ação de entrada, e eu quero chamá-la Ok. Não clique
nele para abri-lo, porque se estivermos
indo para a direita ou para a esquerda, queremos que o tipo de valor seja float ou Axis one. É isso mesmo. Você pode salvá-lo, fechá-lo e saber que precisamos mapeá-lo. Então, em nosso avião de combate IMC, precisamos criar um novo mapeamento Vamos descer porque está criando
isso aqui embaixo. Queremos mapear o IAR,
selecionar o IAA, vamos descer. Precisamos de duas entradas, uma para E, uma para Q, uma para ir para a
direita, uma para ir para a esquerda Então clique aqui para adicionar dois
e não, primeiro
precisamos adicionar E. Então, sempre que pressionarmos E, ele passará um,
e depois o segundo, queremos adicionar Q. Então, sempre que pressionarmos Q, queremos passar
menos um para ir E por causa disso, precisamos adicionar o modificador para
que possamos passar menos Então, no modificador, adicione um modificador do tipo de
negação. É isso mesmo. Agora, vamos salvar, vá para o PF 18. Aqui embaixo, quero clicar com o botão
direito do mouse em Pesquisar IA Ya e escolher IA ja input
enhance action event aqui. E com isso, como fizemos para a entrada de rolagem e
para a entrada de tom, podemos fazer isso para o Ya e
também para ir para a direita e para a esquerda. Todo jogo de luta,
como Ace Combat, usa E e Q para ir para a
direita e para a esquerda, certo? Estamos fazendo o mesmo aqui. Então, podemos obter nosso componente de
movimento do veículo, e dentro dele, há
uma entrada Ya definida, certo? E podemos controlar o Ya com o
valor da ação. É isso mesmo. Nós apenas compilamos,
executamos e armazenamos de forma barata. Está indo para
o céu e vendo. Suba e saiba que se eu apertar E, você pode ver que está indo para a direita. E você vê isso. Mas se
eu soltar a tecla E, você pode ver que ela
começou a ir para lá. Então esse é o problema
que tínhamos antes:
sempre que soltamos o
E ou Q em nosso teclado, precisamos definir a
entrada para zero, certo? Então, podemos simplesmente copiar e
colar isso aqui, conectá-lo assim,
conectado ao concluído. Então, sempre que soltamos
E ou Q em nosso teclado, queremos que o Y seja zero, certo? Compile e saiba que, se eu o executar
, ele pode subir. Assim. Se eu tiver E, você
pode ver que ele vai para direita porque
tem algum impulso, ele vai nessa direção em vez de
outra direção Depois disso, se você olhar um. Podemos girar ou planar
mais o quanto você quiser Você pode ver que estamos
girando com E e Q. Mas agora, o leme, você pode ver que não
está Quando temos Q ou E,
isso não muda. Então, a próxima coisa
que você quer
fazer é mudar o
leme aqui, sim. Então, representará
virar à direita e virar à esquerda, ir para a direita e ir para a esquerda. Isso pode ser um desafio para você. Tente fazer isso sozinho. Faremos isso no próximo vídeo.
30. 28 Rotação do leme: A próxima etapa é adicionar
alguma visualização. Então, quando temos alguma informação, queremos mostrá-la no formato de um
caça a jato, certo? Então, para fazer isso,
vamos ver o blueprint aqui. Precisamos de uma variável, como sempre, e eu quero chamar essa
variável de valor Ya. Está bem? E o tipo, você sabe, deveria ser flutuante
e queremos configurá-lo Então segure o Dragon Drop e podemos colocá-lo
aqui, certo? Exatamente assim. E podemos conectar a ação de entrada
aqui e daqui para aqui. Então, será mais
limpo, certo? E, novamente, queremos definir
o valor O a partir daqui sempre que soltarmos E ou Q em nosso teclado para zero,
certo? É isso mesmo. Agora, queremos obter esse valor dentro do nosso esquema de animação Então, abra o plano de animação. Eu quero fazer isso
no final aqui, e eu quero adicionar alguns comentários. Este era para rolar, basta selecionar tudo,
teclar C no teclado, certo, rolar. É isso mesmo. Não, temos dois pedidos, certo? Então, podemos simplesmente
copiar dois deles, colá-los aqui com o Control V e conectá-los
assim. É isso mesmo. Está conectado assim. E se formos para a
malha esquelética, à esquerda de Roder, você sabe que queremos mudar
a rotação em torno do eixo Z
que é chamado Então, aqui, a única coisa que queremos
fazer é clicar nesta,
por exemplo, e
procurar por leme, junta
direita, e esta por junta
esquerda Então, procure o leme, a junta
esquerda do leme. E não, temos que modificar o osso. Queremos
controlá-los, certo? Mas com o que com o
valor de Ya dentro de nosso plano. Então, precisamos entender isso. Como podemos obter
isso, podemos ir para um gráfico de ventilação da variável BPF
18 aqui, podemos obter o valor Y, obter o valor yo, e podemos clicar com o botão direito nele, promovê-lo a uma
variável e Podemos dar a ele o pino
de execução. Não, temos acesso ao valor Yo
que está dentro do BPF 18. Certifique-se de salvar tudo
e não ir para um gráfico. Precisamos fazer com que isso valha a pena. Entenda assim.
E, como você sabe, o valor yo é um valor
entre um e menos um Então, o que eu quero
fazer é multiplicá-lo por algum valor. Por exemplo, vamos
testar 50, certo? Por que não? Basta conectá-lo ao Ya
desta vez para os dois. Agora, vamos apenas compilar. Podemos testar isso a partir daqui. Deixe-me
aumentar isso para que você possa
vê-lo melhor assim. E no editor de pré-visualização do Anim, podemos testar isso. Você pode ver que pode ir para a esquerda e para a direita, então está
tudo bem. Vamos apenas compilar, salvar
e executar nosso jogo agora, para ver se está funcionando ou não O chefe E pode ver que está funcionando. Agora, vamos segurar a
tecla shift para ver se
parece bom ou não. Suba aqui e vá para E, você pode ver que pode ir para a direita. Claro, talvez você diga que a direção em que
tínhamos E ligado no teclado, a direção do
leme não está correta Se você quiser reverter essa
direção, como você pode fazer isso, basta dizer, multiplique por -50 em vez de apenas 50, certo Vamos ver isso agora. Se I E, agora você pode ver, está indo na direção oposta. Você pode ver, oh, isso é bom. Novamente, 50 é muito, então eu quero
multiplicá-lo por -25 25 é mais do que suficiente. Vamos testar isso pela cabeça E.
Acho que parece melhor,
mas talvez possamos aumentá-la um
pouco em -30 Você decide o que quer fazer. Se eu atropelar o jogo, novamente, vamos entrar no Skype e você verá que tudo
está funcionando bem Se eu ouvir E, você pode ver. Está indo para a esquerda e para a direita, mas acontece que, de
repente, precisamos mudar
a rotação,
ou melhor, suavemente, e como podemos fazer isso, podemos
fazer isso com afin Terp Você tenta fazer isso.
Faremos isso no próximo vídeo.
31. 29 Leme de tira: Não, é como antes. Precisamos
mudar suavemente uma variável de qualquer valor que ela
tenha para um valor alvo, e queremos fazer
isso com um finer Vamos ver como podemos fazer
isso. Para fazer isso, precisamos de algum espaço
aqui, como sempre, certo? E aqui, também precisamos de
uma boa tartaruga. O que você quer interpretar
é o valor ya. Essa é a corrente, certo? E o valor alvo
é o valor da ação. A hora Delta é a palavra certa, Delta em segundo lugar. É isso mesmo. E a velocidade de interposição é cinco. E queremos defini-lo cada quadro com esse
valor. É isso mesmo. Agora, para chegar a zero, o que você quer fazer é criar uma linha do tempo Então, vamos adicionar a
linha do tempo aqui, adicionar a linha do tempo, ya a zero Para a nomenclatura,
acho que é bom. E eu vou clicar nele. Você sabe, esse é o comprimento que
você quer que seja dois. É isso mesmo. Isso é
tudo o que precisamos fazer. Podemos simplesmente fechá-lo em
um gráfico de ventilação aqui. Você sabe que sempre que
lançamos E, Q ou teclado, queremos concluir
para nos conectarmos ao jogo desde
o início. Então, toda vez que
lançarmos o EOQ, essa linha do tempo executará pino de execução da
atualização por 2
segundos, a cada quadro, certo E sempre que
houver uma nova entrada, queremos interromper essa linha do tempo É isso mesmo. Não, precisamos de outro Fin terp
para chegar a zero Podemos simplesmente copiar e colar
tudo isso aqui. Deixe-me organizar um
pouco assim. E conecte esse
valor ao seu valor, mas a meta é
zero. É isso mesmo. Fácil, certo? Compile, salve E se eu atropelar o
jogo, se eu tiver E, você pode ver que o jogo vai
suavemente para a direita e ele
vai suavemente para o meio Novamente, Q, E, você pode ver
como é lindo. Vamos considerar isso por uma
quantia no ar, certo? Agora o avião pode ir para a direita
e para a esquerda. Você pode ver. E eu acho
que está lindo. Isso funciona muito bem. Podemos subir, podemos descer. Nós podemos assim e
podemos ir assim. Podemos ver que tudo
está funcionando bem. Cada osso está funcionando bem. Não há próxima coisa que
você queira fazer. Você pode ver que o avião dessas
rodas em nosso caça
está do lado de fora e
queremos ter uma maneira de trazê-lo
para dentro. Então, feche a engrenagem, as rodas, você pode fazer
isso em um vídeo futuro.
32. 30 Júnculo do chassi frontal: Agora é hora de realmente
ser capaz aumentar e
diminuir as marchas e como podemos fazer
isso.
Vamos ver. Se formos para nossa malha esquelética, quero começar
pela roda dianteira Se em uma árvore esquelética
procurar pela frente, você pode ver que existem
alguns ossos que
precisamos para mudar a rotação Por exemplo, temos junta
zero do chassi
dianteiro. Você pode ver isso. Podemos simplesmente clicar
nele e, como você pode ver, precisamos mudar seu tom dessa forma para que fique dentro. Por exemplo, 100 graus. Eu acho que isso é bom. Depois disso, há a ferrovia do chassi dianteiro Precisamos trazer
isso para dentro também. Por exemplo, 30
graus, isso é bom. Não, tem outra coisa. Se eu derrubar os dois, deixe-me mostrar isso porque eu
quero que seja perfeito. Você pode ver que quando
giramos os dois,
eles se desconectam Mas no jato de combate real, há uma hidráulica que
aqui, nós a temos, que se mudarmos sua
localização dessa forma, ela sempre estará conectada
à hidráulica, certo? Então, o que precisamos fazer. Primeiro, temos dois ossos. Uma junta zero do chassi frontal
e outra junta de
podridão do trilho do chassi dianteiro. Precisamos
alterar seu passo para atingir
100 rotações no valor do passo,
e temos outra junta alterar seu passo para atingir
100 rotações no valor do passo, de trilho
dianteiro do chassi Queríamos usar 240,
por exemplo, certo? E temos outro osso que precisamos
mudar sua localização. Então, parece sempre conectado. Eu não quero mostrar
isso aqui assim porque quando você
estraga essa coisa, nada aconteceu no jogo real,
você pode ver, eu estou mudando
isso, nós salvamos E se você for aqui em Viewport, você pode ver que há uma foca lá Então, o que quer que você faça
aqui na malha esquelética, não
vai acontecer em lugar nenhum Você pode simplesmente experimentar com isso. Mas em nosso plano de animação, podemos animá-lo. Então, para animar, deixe-me criar algum espaço e adicionar alguns comentários
a esses do último vídeo Quero selecionar essas
duas cabeças, então criamos um comentário e eu
quero chamá-lo de Sim, certo? É isso mesmo. Não, vamos
criar mais espaço. Queremos mudar a rotação de dois dos ossos, certo? Então, precisamos de duas dessas notas de que estamos
mudando a rotação. Não precisamos fazer
isso do zero. Portanto, controle C para copiá-lo. Controle V para colá-lo aqui e dê a ele um pino de postagem ou pino de
execução como este. Na compilação. Nada aconteceu. O que eu quero fazer aqui, eu quero clicar neste. Este é para chassi dianteiro, junta
zero, assim mesmo Essa outra é,
deixe-me clicar aqui, a junta
dianteira do chassi dianteiro. É isso mesmo. Sabemos que
precisamos mudar seu tom. Eu mostrei para você aqui. Se eu clicar aqui,
a rotação em torno do eixo Y é esse verde que queremos fazer.
Queremos mudar isso, certo? O tom disso, certo? Portanto, é o tom, a
rotação em torno do eixo Y. Então, aqui, se eu
mudar a inclinação da junta zero
do chassi dianteiro
para 50 e a cabeça compilada, você pode ver que ela está entrando 50 não é suficiente, talvez 100. Então, vamos colocá-lo
lá, compilar e não, você pode ver se eu olhar para ele, você pode ver que está completamente
dentro, e tudo bem Agora, temos
outro aqui. Então, vamos mudar isso. Nós sabemos disso. Queremos
mudar o tom. Vamos colocar aqui, começar compilar e você pode
ver que está entrando Vamos colocar 13 lá
e começar a compilar. Você pode ver, não, está
completamente dentro. Ambas as
rotações dos ossos, não está bem. Um deles 100 para
chassi frontal, junta zero, e um deles é
para chassi frontal, junta podridão do
trilho, certo 30 para o tom e 100 para o
tom deste, certo? Mas não queremos
testá-lo assim. Cada vez que precisamos compilar, certo? O que você quer fazer? Queremos criar
uma variável dentro ou em um editor de pré-visualização e
testá-la com ela. Quero criar uma variável para isso e quero
chamá-la de engrenagem. O tipo deve ser flutuante, e podemos fazer isso assim E eu quero que esse
valor de engrenagem seja um valor 0-1, porque é mais fácil trabalhar
com esse tipo de valor, o valor que é 0-1, É por isso que precisamos
multiplicar isso, multiplicar por algum valor Por exemplo, este,
100 é mais que suficiente. Então, se a engrenagem for zero, significa que a engrenagem está desligada. Mas se essa
variável de marcha for uma, queremos que a engrenagem esteja dentro. Então, 100 para este. Então coloque 100 aqui e
conecte-o ao campo. Agora, vamos testar
isso. Está lá fora. Se eu for até a engrenagem e
trocá-la por uma, você pode ver se eu
coloco uma aqui, não, você pode ver que está dentro. É muito fácil trabalhar com ele. Agora, para testá-lo,
porque precisávamos de muito, quero clicar
nessa variável de marcha, aqui
ou aqui. E no painel de detalhes, quero alterar o
intervalo do controle deslizante de zero. Dois, um. Por que estou fazendo isso? Porque
não, é mais fácil mudar isso. Você pode ver, não, é
mais fácil trabalhar com isso. Estou trocando a marcha e
você pode ver que está
subindo e descendo,
certo? Isso é legal. Agora, com essa variável de marcha, queremos mudar essa junta da haste do trilho
do chassi dianteiro Sabemos que se você colocar
zero para arremessar aqui, significa
que está do lado de fora, e quando colocamos 30 lá dentro, significa
que está do lado de dentro, certo? Então, se você colocar zero aqui, você pode ver que estará do lado de fora. Você pode ver isso. Agora, novamente, sabemos que essa
engrenagem tem um valor de 0-1 Podemos multiplicar isso
por 30 porque com 30, sabemos que as
engrenagens estão dentro Todas as engrenagens
devem estar dentro. Todas as rodas
devem estar dentro. Tão conectado ao campo. Agora, se eu tivesse compilado e
trocado o equipamento por um, você pode ver que
os dois estão dentro. Isso parece bom, certo? Mas um problema que temos aqui é que ele está desconectado No momento, está desconectado,
como podemos consertar isso. Por enquanto, estamos movendo
o chassi dianteiro, junta
zero e a junta
ferroviária do chassi dianteiro Tudo está bem,
mas está desconectado. Eu vou te mostrar como
você pode
conectá-los corretamente
com essas notas. Mas veja, podemos fazer isso. Em seguida, nós
33. 31 Hidrólica: Nenhum problema que tivemos no último vídeo foi que as
engrenagens estão entrando,
mas em algum momento, elas estão desconectadas Vamos ver como podemos resolver isso. Se usarmos uma malha esquelética, digamos que esse chassi frontal
seja assim, certo E essa
barra dianteira do chassi é assim, certo? E não, está desconectado. Mas nós temos o
hidráulico, certo? Podemos mudar sua posição assim na
direção X desta forma. Portanto, ele estará sempre conectado. Dessa forma, você pode
vê-lo bem o suficiente Quando formos para o Blueprint de
animação, você o verá melhor Não, precisamos de
outro desses nós, mas o nó que precisamos é
para mudar a posição, não mais a rotação. Então, aqui, Dragon Drop, procure por osso modificado. Desta vez, o que você
quer mudar, novamente, procure por fachada. O que você
quer mudar é a articulação hidráulica do chassi
dianteiro, certo E com isso,
precisamos apenas mudar
a translação na direção
x, certo? Portanto, não precisamos dessa
rotação e de uma escala. Você pode deixá-lo lá,
mas eu quero que esteja limpo. É por isso que eu vou até a
rotação e clico aqui, digo para ela não a
expor como um alfinete
e, para a balança, também, digo para ela não a
expor como um E certo, clique aqui, divida o pino do asteróide, para
que tenhamos acesso a apenas X, certo? Então, vamos apenas compilar. Agora, aqui, o que você quer fazer? Queremos mudar
a tradução X porque eu mostrei aqui que queremos mudar
a tradução,
a posição na direção X.
Você pode ver isso aqui. Então, não, queremos mudar
a tradução X. Mas com o que
queremos mudar,
queremos
mudá-la com a engrenagem Então, todos eles
sobem juntos, certo? Então, para fazer isso, precisamos
multiplicar a engrenagem, multiplicar isso por um valor Deixe-me colocá-lo aqui, conectado à tradução X. E aqui,
vamos colocar dez lá Eu sei o valor certo, mas eu só queria te mostrar. Você pode ver, está acabando, mas não é bom o suficiente. Vamos apenas aumentar isso.
Por exemplo, para 50. Compilação principal. Novamente
, não é suficiente. Vamos mudar
para 100, certo? Compilar. E agora você pode ver
que está dentro, mas não o suficiente. Vamos colocá-lo em 110. Cabeça compilada. Não, você
pode ver que está lá dentro. Se mudarmos, você
pode ver que funciona. Bom. Agora, você pode
ver, se eu subir, tudo parece bom, e
isso parece, eu acho, incrível. Está se movendo corretamente, certo? Não, com isso feito, as engrenagens estão
saindo corretamente. Você pode ver que
está lindo. Não, também estamos animando a
translação e a rotação Não, a próxima coisa que
queremos fazer fechar as portas. Por exemplo, se o equipamento
estiver completamente dentro, temos algumas portas
aqui. Você pode ver isso. Há um aqui, um aqui e um aqui. Então, o próximo passo é
fechar as portas. Vamos ver como podemos
fazer isso no próximo vídeo.
34. 32 Porta de engrenagem frontal: Agora estamos aumentando
as marchas dianteiras, mas não estamos fechando as portas. Vamos ver
como podemos fazer isso. Se formos até uma malha esquelética, você pode ver que temos algumas portas Se apenas procurarmos a porta, você pode ver que deixamos uma junta
da porta, você pode ver, precisamos mudar sua
rotação em torno do eixo X. Deixe-me mostrar para você. Está ao redor do eixo X. Você pode ver a
direção X, certo? Então cabeça E, essa vermelha é
o eixo X, o papel, certo? Então, precisamos
fechá-lo assim. E também temos outros. Por exemplo, esse.
Novamente, ao redor do eixo X, precisamos fechá-lo. E precisamos fazer
isso também. Então você pode ver que há uma porta de árvore que
precisamos fechá-la. Isso é lindo, certo? Você não quer
fazer isso assim. Não se preocupe com isso. Nada
será salvo aqui. Vamos para o ABP F 18. Precisamos mudar a rotação de alguns ossos, então
é fácil, certo? Deixe-me criar algum
espaço aqui. Precisamos de três desses nós para alterar a
rotação do osso. Posso copiar três
deles e aqui,
colar assim, colar assim, conectar o pino de execução a ele. Deixe-me fazer isso
menor para que você possa ver melhor e
conectá-los aqui. Agora, para os ossos. Clique no primeiro. Se você procurar por porta, eu quero fazer isso para que a porta
esquerda entre. O nome não é
muito bom, se preocupe, mas estou te mostrando. Esse era dois. Esse foi um. E, novamente, essa,
queremos procurar
por uma porta também, é essa, certo?
Não, com isso. Sabemos que queremos mudar
a regra de rotação X, certo? Então, vamos dar uma olhada. Se você for aqui, este, se eu mudar esses 250, por exemplo, e o head
compilar esse, certo? Está dentro. Deixe-me aumentar um pouco. Como você sabe, esse caminho não
é bom o suficiente. Podemos criar uma variável
e testá-la com essa variável porque cada vez que você está mudando
alguma coisa aqui,
devemos começar a compilar, então
isso não é bom o suficiente.
O que você quer fazer? Queremos criar uma variável. E esse, eu quero
chamá-lo de equipamento. Porta. É isso mesmo.
Deveria ser um carro alegórico. E eu quero que seja um valor 0-1. É isso aí, compilação principal. Agora podemos pegar essa porta de engrenagem, multiplicá-la por algum
valor porque ela é 0-1 e conectada
ao rolo ou rotação X. Vamos colocar 50
lá dentro, começando E se eu
trocar a porta do Ge aqui, você pode ver que ela está entrando, mas não é o suficiente. Vamos colocar 100
lá e começar a compilar. Eu acho que isso é bom, talvez esteja entrando mais. Vamos colocar 95 lá. Eu sei que o 95 é o melhor valor
para este caça a jato, e acho que parece bom. Não, vamos apenas testá-lo. Para a porta Ge, podemos trazê-la para fora,
trazê-la para dentro. Você pode ver fechá-lo e
abri-lo apenas por essa variável. Isso parece incrível, certo? Deixe-me ir aqui para ver
se está fechado corretamente. Vamos colocar 100 novamente. Comece a compilar e
acho que isso é bom. Você deve jogar com esse valor até alcançar
o resultado desejado. Agora, encontramos o valor de multiplicação
correto para a junta dupla da porta esquerda Queremos fazer isso para
os outros também. Multiplique isso por um valor para
a porta esquerda, uma junta, conectada ao rolo
aqui, compile, e vamos colocar
50 novamente lá dentro, comece a compilar e você
verá que está saindo Porque toda vez que
aumentamos esses 60
, eles saem mais. Precisamos multiplicá-lo por um valor
negativo, como -50, certo? Então compile. Agora, você pode ver que está indo para dentro,
talvez aumentá-lo, -70, talvez empilhar, e agora
você pode vê-lo Acho que parece bom. Agora, precisamos fazer isso
para o outro. Novamente, queremos fazer o mesmo, multiplicar essa
porta de engrenagem por um valor e conectá-la à linha
dessa, certo? Novamente, vamos começar
do 50, comece a compilar. Está entrando,
mas não é suficiente. Novamente, vamos colocar sete
lá e compilar. Acho que parece bom, certo? Eu vou aqui. Acho
que parece bom. Vamos testar isso. Acho que parece bom. Ninguém vai ver isso dessa maneira, mas nós podemos, certo? Por que não? Podemos fechá-lo, abri-lo e podemos fechá-lo. Abra e feche. Isso parece bom, certo? Você pode ver que alguma parte da roda está
do lado de fora.
Você pode ver isso aqui. Nós podemos mudar isso. Por exemplo, esses 100
que temos aqui, 105, certo? Headcampi Legal. Não, vamos ver
isso deste lado. Se eu abrir a
porta da engrenagem, você pode ver. Está funcionando bem e
abre as engrenagens. Você pode ver que parece incrível
e está entrando. Então, primeiro, essas
engrenagens estão subindo
e, depois disso, a porta da engrenagem se fechará. Isso parece incrível. Agora fizemos
as marchas dianteiras. O que eu quero fazer aqui, eu quero selecionar tudo isso, criar algum espaço aqui. Os anúncios são exibidos no seu teclado
para criar um comentário. Eu quero chamar isso de fachada. Engrenagens. Está bem? É
isso mesmo. Cabeça compilada. Não, fizemos
as marchas dianteiras. Vamos ver como podemos fazer isso as engrenagens traseiras no próximo vídeo
35. 33 portas traseiras: A próxima coisa a fazer é
fechar as engrenagens traseiras, traseiras e traseiras Vamos ver como podemos fazer isso. Para fazer isso, se
entrarmos nela, você pode ver que há algum
espaço para colocar essa dentro, mas não é suficiente. O que eu quero fazer,
primeiro,
é fechar as
portas primeiro e depois
acionar as engrenagens Então, aqui, eu deveria
procurar a parte traseira e você pode ver que temos três
dessas portas aqui
no lado esquerdo, que as fechamos para ver
qual delas devemos trocar. Se eu for aqui, você
pode ver se temos um aqui que deveria
fechar assim. E, novamente, temos um aqui que deve
fechar assim, e temos outro que deve fechar assim, certo? Deveria ser fechado assim. E depois disso, podemos
fechar esse,
certo, trazê-lo para dentro desse
jeito. Legal. Há um problema
aqui que você pode ver. Está lá fora. Podemos
trazê-lo para dentro assim. Nem tudo parece bom. Este é para o esquerdo e está dentro,
e isso parece bom. Eu quero fechar primeiro as portas e depois disso,
trazer as meninas. Para fazer isso,
vamos ao Animation Blueprint. Aqui, no final, eu
quero criar algum espaço. Como você pode ver, quando
clicamos nas portas, mudamos a rotação
em torno do eixo X. Você pode ver ao redor do eixo
X, este vermelho. O vermelho, se você
olhar aqui, é o eixo X. Portanto, esse é o papel. A rotação em torno do eixo
X é a função. Então, precisamos mudar
o papel disso. Então, agora, vamos ao ABP F 18, o modelo de
animação Precisamos de três dessas
mudanças de rotação. Então, vamos copiar
três deles, controlar C para copiá-lo e controlar
V para colá-lo aqui. E conecte o
pino de pose ou o
pino de execução aqui e a uma
saída como esta. E agora, vamos escolher as portas que você
deseja fechar. Clique aqui. E aqui eu quero
procurar uma porta traseira esquerda. A próxima é a traseira, a
próxima porta traseira esquerda, dois. O nome dessa
vez é bom, certo? Então, novamente, procure a porta
traseira traseira esquerda de
três juntas. É isso mesmo. Precisamos mudar
o papel deles. Basta ampliar aqui um
pouco assim. Estamos em um bom lugar, certo? E isso é bom. Eu
acho que isso é bom. Queremos usar a porta de engrenagem para fechar todas as
portas do nosso avião. Então, novamente, podemos usar
a porta de engrenagem aqui. Como você sabe, como essa
liga tem um valor 0-1, você pode vê-la
aqui, um valor Precisamos
multiplicá-lo por algum valor. Então, vamos
multiplicá-lo por algum valor conectado à rotação
em torno do eixo X. Novamente, você quer
multiplicá-la pela porta dois para o X. Novamente, vamos multiplicá-la mais
uma vez
pela E coloque-o aqui
para a porta três, certo? É isso mesmo. Não, eu quero
fechar a porta da engrenagem para uma. Nada vai acontecer aqui, mas podemos colocar algum valor. Então, por exemplo,
100 para este. Você pode ver que está fechado. Podemos simplesmente ir aqui
e testar isso. porta 2, você pode ver esse 82, mas eu não confio na imagem do
esqueleto porque ela
não funciona às vezes Para a porta dois, vamos testar
50 lá e começar a compilação. Não está fechado. Vamos
colocar 80 lá. Novamente, comece a compilar.
Está fechado, mas vamos adicionar mais. 85 talvez. E acho que devemos ir um pouco mais. Você
pode ver isso aqui. 87 talvez o cabeçalho compile
e não, está fechado. Talvez 88 seja melhor desta vez, certo? Sim, isso é bom. Agora, na próxima porta, vamos colocar 50 lá. Eu sempre começo com a compilação
50, D. Você pode ver que está indo para fora, então precisamos multiplicá-lo pelo valor
negativo -50 head compile
e ele não está fechado -80 novamente, comece a compilar. Não está fechado -100, certo? Compilação principal. Está
entrando um pouco. Então, vamos apenas aumentar
essa compilação de -95 cabeças, e ela está fechada, certo Agora, vamos testar isso. Se diminuirmos a porta GE, você pode ver que a porta ge está
saindo e entrando. Isso parece bom. Vamos ver o avião inteiro com isso. Saia. Você pode
ver isso aqui. Temos portas
aqui, portas aqui. Se trocarmos a
porta da engrenagem, você pode ver todas elas estão fechando
e abrindo corretamente. Vamos fechar
as engrenagens também. E não, vamos
testar as portas. Isso parece incrível, certo? Certifique-se de salvar tudo. Às vezes, nosso verdadeiro
motor trava muito. Não, eu quero
te dar um desafio. Tente fazer as
portas certas sozinho. Faremos isso no
próximo vídeo juntos. É importante enfrentar esses desafios para que você se lembre desse
tipo de coisa no futuro.
36. 34 Equipamento esquerdo: Vamos ver como podemos
fazer as portas certas. Para fazer isso, novamente, podemos copiar tudo isso. É mais fácil porque é só
copiar e colar, certo? Você deve aprender a usar
corretamente a cópia
e a colagem, porque agora estamos fazendo uma coisa
exatamente como antes Precisamos apenas trocar
os ossos aqui. Então, novamente,
procure por raras, queremos
fazer a porta certa,
desta vez novamente aqui. Precisamos mudar
a porta traseira dois, porta traseira
direita dois, certo? Nós temos outro. Novamente, procure a traseira aqui
e a porta traseira direita três. Se você tivesse que compilar
e fosse até a porta certa, encontre um bom ângulo para poder
ver melhor Agora, se o fecharmos, você pode ver que está
saindo completamente, então não parece bom. O que eu quero fazer, eu
quero colocar o que é positivo em
negativo assim,
assim e o
que quer que seja negativo, eu quero colocar o positivo lá dentro. Agora, vamos compilar
e fechar a porta da engrenagem. Oh, você pode ver que está funcionando. Portanto, as portas certas também
estão se fechando. Vamos fechar isso.
Saiba o que você quer fazer. Queremos fechar
as engrenagens em si. As rodas devem estar dentro. Mas como você pode ver
aqui o que fizemos, deixe-me clicar aqui e
reiniciar as marchas aqui Você pode ver que não
pode simplesmente mudar a direção e
tudo ficará bem. Você pode ver que estará lá fora. Portanto, precisamos
mudar a direção da rotação para que ela
fique completamente interna. Então, para fazer
isso, é exatamente como antes, mas precisamos
mudar de direção. E eu quero mostrar que você ensina
a fazer isso corretamente. Então, para fazer isso,
precisamos de um desses nós para a rotação
óssea modificada, certo? Controle C control V para
colá-lo aqui, conecte-o assim e conecte-o à
saída, e pronto. Precisamos usar
a variável de marcha para
fechar essas marchas, certo? Mas com apenas um desses, não
podemos trazer escavadores para dentro Precisamos de três, dois ou
três deles, certo? Três desses ou
dois deles, pelo menos. Então, primeiro,
vamos escolher o osso. Então eu procuro a junta
traseira do chassi traseiro. Se você for aqui, verá
que é chamada de junta traseira
esquerda do chassi e junta traseira
direita do chassi Se o reiniciarmos, você pode vê-lo aqui, certo? Então saiba que, se você começar a
compilar, nada aconteceu. Tudo está em zero. A melhor maneira de encontrar
bons valores aqui arrastar e soltar a
promoção para variável, à direita, para o X. Novamente, faça isso para este, promova para variável
para o tom Novamente, arraste e solte
, transforme em variável
para o, certo? Saiba o que vai acontecer. Temos acesso a eles. Estamos fazendo isso para a
esquerda, é essa. Vamos chegar perto disso
e mudar algum valor. Por exemplo, este, deveria ser assim, certo? Está indo para dentro. Novamente,
altere esse valor e altere esse
valor para trazê-lo dentro e brincar com esse valor até chegar ao resultado
desejado, certo? Não, você pode ver que
está entrando e precisamos desses
valores para X, Y e Z.
Então, o que pudermos é multiplicar Essa é para o papel. O papel, como você pode
ver, é -119. Então, vamos colocar -119 lá. Novamente, multiplique esse valor. Também precisamos multiplicar isso
por um valor. Isso é 15. Coloque 15 lá. Novamente, precisamos
multiplicar esse valor. Eu menos nove, certo? E podemos simplesmente
conectá-lo a esses valores. Então, vamos
conectá-lo assim. Se soubermos que ele compila
e troca o equipamento, você pode ver que ele
sairá e estará dentro.
Isso foi fácil, certo? Acabamos de criar algumas
variáveis, fizemos isso. Descobrimos qual rotação cada
uma delas deveria ter e estamos fechando as
engrenagens facilmente, certo? Isso por dentro e por fora.
Isso funciona bem. Agora, novamente, quero
te dar isso como um desafio. Fizemos isso com a marcha esquerda. Você tenta fazer isso com
o equipamento certo, e nós faremos isso no próximo vídeo.
37. 35 Equipamento certo: Não, por fazer isso com
o equipamento certo. Vamos ver como podemos fazer isso. Novamente, podemos simplesmente copiar
e colar isso, certo? Vamos copiar
tudo, certo? Copie e cole com Control C, Control V e cole
aqui desta forma. Agora, com isso,
vamos clicar nele. Precisamos ajustar a
traseira direita. Chass is joint, certo? Compilação principal. Não,
vamos testar isso para ver se está dentro ou não.
Claro, eu posso ver isso. Não está lá dentro. Então, não
está indo da maneira
correta, certo? Então, novamente, vamos
testá-lo com esses valores. Encontre os melhores valores, certo? Conecte esses três
e teste isso. Certifique-se de compilar
e zerar tudo. Então você pode ver
que tudo está em zero. Vamos mudar algumas coisas. Vá aqui e você verá que
está fora do chassi. Então, vamos diminuir
um pouco. E depois disso lá dentro. Então, esses são os valores
que precisamos para este. Podemos simplesmente controlar
C control V para colá-lo aqui
para este também. Isso é para o campo, e isso é para você, certo? Agora, com isso, se você
conectá-los aqui, e aqui, você pode ver se eu compilo
e altero as engrenagens, você pode ver que os dois estão entrando Legal, certo? Tudo
está funcionando bem. Então, o que fizemos foi
criar três variáveis para
encontrar valores para inclinação do rolo e yo para o,
as engrenagens estão completamente internas E depois de encontrarmos esses
valores com essas variáveis, multiplicamos esses valores variável de engrenagem
que é o valor 0-1 Então é assim que estamos
fechando as engrenagens. Saiba o que queremos fazer. animar tudo
isso juntos Então, sempre que toca G
em seu teclado, primeiro, as portas se abrem
assim e depois disso, as meninas saem assim. E depois disso, se eles tivessem G no teclado
novamente, novamente, primeiro, as meninas
entrariam assim, e depois disso, a porta da engrenagem
será fechada assim. Vai ser fácil de fazer, certo? Deixe-me testá-lo com uma janela de visualização
maior aqui. Você pode ver isso claramente. Não, primeiro, as
portas de engrenagem estão abertas
e, depois disso, as
engrenagens estão do lado de fora Então é isso. Isso é
o que queremos fazer. Em seguida, eu faço. Queremos fechar e
abrir automaticamente as
engrenagens e a porta de engrenagens Para fazer isso, primeiro de tudo, vamos excluir tudo isso. Nós não precisamos disso. E aqui, eu quero adicionar alguns comentários. Por exemplo, esses
21 eram para engrenagens. Assim foi por muitos anos. Então, adicione o comentário. É sempre uma boa ideia
adicionar algum comentário. Então, no futuro, se você quiser adicionar algo, você pode fazê-lo. E esses são
para portas traseiras. Está bem? E vamos organizar um
pouco, e pronto. Tudo é comentado,
tudo lindo. Certifique-se de acessar o
arquivo, salvar tudo e saber que é hora de encontrar uma maneira de fechá-lo e abri-lo com um
clique, um toque no teclado. Vamos ver como
podemos fazer isso.
38. 36 Linha do tempo para engrenagens: Conhecendo nosso plano de animação, temos duas variáveis
para abrir e fechar as engrenagens e abrir
e fechar a porta das meninas Isso é ver como podemos usá-los. Como você sabe, lembre-se disso. Quando colocamos a porta da
engrenagem em zero, significa que
ela está aberta Eu sei que não parece bom, mas é assim que funciona. E quando colocamos a porta da
engrenagem em uma,
isso significa que a porta da engrenagem está fechada Da mesma forma, quando a variável de marchas é zero, significa
que as marchas estão abaixadas, e quando a
variável de marchas é uma, significa
que está para cima, está fechada
, certo Então, se as engrenagens e a porta das
engrenagens forem uma, significa que as portas
e as engrenagens estão fechadas
e, se forem zero, significa
que estão abertas Então, queremos usar isso. Como queremos usar
isso dentro do BPF 18? Primeiro, precisamos de uma entrada. Então vá para a gaveta de conteúdo
na pasta de entrada aqui, clique com o botão
direito do mouse para criar
uma ação de entrada Quero chamá-lo de IA gears. OK. Clique nele para abri-lo. O booleano digital
é mais do que suficiente. É isso mesmo. Bem, vamos
fechar isso. Precisamos mapeá-lo dentro do nosso contexto
de mapeamento. Então, aqui, adicione o mapeamento, vá até aqui e encontre-o. Queremos mapear as engrenagens de IA. E quando queremos que isso
aconteça sempre que tivermos
G em nosso teclado. Então clique aqui, coloque G no teclado e ele o
colocará lá. Agora você pode salvá-lo e ir
para o Blueprint. Agora, aqui eu quero clicar com o botão direito do mouse em
Pesquisar engrenagens IGs E aqui, sempre que
ouvirmos Jon ou teclado, esse início acontecerá uma vez. E com isso, queremos abrir
ou fechar as engrenagens. Então, precisamos de uma variável
para controlar
se as engrenagens estão abertas
ou fechadas, certo? Então, vamos criar uma
variável do tipo booleano, e eu quero chamá-la engrenagem aberta com um ponto de
interrogação, certo? Então, verificamos. Se o equipamento estiver aberto toda vez
que tivermos o Gano ou o teclado, podemos verificar isso
com a ramificação Se a engrenagem estiver aberta,
precisamos fechá-la. E se a engrenagem estiver fechada, precisamos abri-la, certo? Como queremos fazer isso, queremos fazer isso com
a linha do tempo. Então, vamos pesquisar a linha do tempo na
linha do tempo. Eu quero chamar isso de engrenagens. Cronograma, ok? Clique nele para abri-lo. Eu quero que a duração disso seja três segundos e adicione a
trilha na trilha de fluxo. Eu quero chamar isso
de Gears, ok? E aqui, adicione uma
chave no momento zero, eu quero que seja zero e adicione outra chave após 1,5 segundo. Então, vamos colocar 1,5 segundo. Eu quero que o valor seja
um. Então, o que vai acontecer? Se atribuirmos o valor dessas engrenagens
ao valor da engrenagem em
nosso plano de animação, levará um ponto e meio segundo para que as engrenagens
sejam fechadas Então, primeiro, fechamos as
engrenagens e, depois disso, adicionamos outra faixa, e eu quero chamar
essa de porta de engrenagens OK. E este eu quero
iniciá-lo a partir de 1,5 segundos. Então, vamos colocar 1,5 segundo. Em 1,5 segundo, eu quero
que seja zero, certo, e adicione outra chave
aqui no tempo três, eu queria ir para uma. Então, deixe-me
explicar mais uma vez. Quando reproduzirmos essa linha do tempo, se você passá-la para a animação
Blueprint, o que acontecerá? Primeiro, as engrenagens serão fechadas
e, depois que as engrenagens forem fechadas, a porta
será E temos
essas duas variáveis. Então, temos engrenagens e
portas de engrenagens variáveis, certo? Podemos simplesmente promovê-los como uma variável em cada
atualização, certo? É isso mesmo. Vamos também promover essa para
uma variável e atualizá-la toda vez que essa atualização
acontecer, certo? Então, se você
jogar essa linha do tempo, essas engrenagens vão para uma,
e depois disso, essas engrenagens
vão para uma e as
engrenagens são vão para uma e as
engrenagens Depois disso, a
porta das engrenagens passará para uma e as portas das engrenagens se
fecharão depois disso, certo Então, como queremos jogar? Vamos apenas testá-lo.
Se a engrenagem estiver aberta ,
tudo bem, precisamos fechá-la. E se a engrenagem não estiver aberta, essa falsa acontecerá, e queremos reverter a
reprodução dessa linha do tempo, certo? Então, vamos testar
isso com justiça. Não funcionará sem nenhum bug, mas vamos testá-lo e corrigiremos qualquer
bug que ele tenha. Se formos ao nosso Plano de
Admissão, precisamos acessar o
gráfico de eventos e obter esses valores Por exemplo, engrenagens, pegue engrenagens. E também precisamos comprar as portas das
engrenagens. Pegue o equipamento. Ou porta de engrenagens, também. E precisamos
promovê-los para variáveis. Mas desta vez, como temos uma variável para engrenagem
e porta de engrenagem, podemos simplesmente configurá-las da
mesma forma que configuramos. Com esses valores que estamos obtendo do nosso
projeto, certo? Então, com as portas Gear ,
novamente, queremos
fazer o mesmo. Queremos defini-lo com o valor que obtemos do blueprint No pino de execução. Então, vamos
colocá-lo assim, colocá-lo aqui e dar a
ele o pino de execução. Se você atropelar o jogo e ele usar o teclado, nada acontece. Este é o primeiro livro
que isso está acontecendo. Se você for para o BPF 18, poderá ver que o valor padrão
para Is gear open is false É por isso que nada acontece. Então, por padrão, a engrenagem está aberta. Assim, você pode vê-lo na
janela de exibição. A engrenagem está aberta. É por isso que precisamos
colocar a engrenagem Is aberta para a verdade no início. Não, vamos embora. Se
você atropelou o jogo, tinha o Gian ou o teclado,
não, você pode ver. A engrenagem está fechando e a porta da
engrenagem também está fechando. E se você pressionar o íon ou o teclado, nada acontece, então
isso é um problema. Eu quero te dar
isso como um desafio. Tente descobrir qual é o problema e tente
corrigi-lo sozinho, e nós o
corrigiremos no próximo vídeo. Se você puder corrigir
isso, significa que você não é iniciante
e está ficando bom
39. 37 Engrenagens abertas e fechadas: Então, tivemos um problema
no último vídeo. As engrenagens estão fechando, mas não estão abrindo depois disso Por quê? Porque
temos a engrenagem aberta, é sempre verdade, certo? Não estamos tornando isso falso
ou verdadeiro depois disso, certo? Essa linha do tempo tem um pino de execução
finalizado. Sempre que essa linha do tempo termina de
ser reproduzida, é uma linha do tempo, são quadros-chave Esse acabamento
acontecerá todas as vezes. E depois disso,
queremos verificar. Se as portas das engrenagens estiverem fechadas, significa
que as engrenagens estão Então, a engrenagem aberta
deve ser falsa, certo? Então, vamos usar um galho aqui e verificar
com a porta da engrenagem Eu quero verificar. Se
for igual a um, quando terminar o plano. Deixe-me ir aqui para te mostrar. Se for um plano acabado e
a porta da engrenagem ou uma, significa
que as engrenagens
estão fechadas, certo Mas se for um plano inverso, começará
daqui e irá para a esquerda. As portas de engrenagem
serão zero aqui no
momento zero, certo? Então, caso pegue o que você
quer fazer, nós queremos verificar. Se for igual a um,
se a porta da engrenagem
for igual a um, significa
que a engrenagem I aberta é falsa. Então, vamos abrir
a engrenagem I e configurá-la como falsa. Mas em outros casos, queremos usar o controle C
control V para colá-lo. Queremos dizer a verdade. Deixe-me
explicar mais uma vez. Se o valor da porta de engrenagem
nesta linha do tempo for um, significa
que a porta de engrenagem
está fechada Então, essa verdade acontecerá, e dizemos que não está aberta. Se a engrenagem aberta é falsa, certo? Não está aberto. Mas em outros casos, isso significa que a porta de engrenagem é igual a zero ou a um valor exceto um, essas falsas acontecerão e colocamos a
engrenagem Es aberta como verdadeira. Agora, vamos testar
isso. Se você atropelar um jogo e o G ou a palavra-chave, poderá vê-lo sendo
fechado, tudo ficará bem. Se eu tivesse G novamente, ele se abrirá novamente e
tudo ficará bem, certo? Digamos que, no meio
dessa abertura e fechamento,
ouçamos G novamente. Nada aconteceu porque esse
acabamento não está acontecendo, mas depois que esse término acontecer, não, podemos abri-lo. Novamente, vamos apenas dirigir
G. Você pode ver que está fechado e depois de
esperarmos, podemos dirigir G novamente para abri-lo. Vamos testar
isso mais uma vez. Se pressionarmos Shift em nosso
teclado, você pode ver, eu posso subir e
pressionar G em nosso teclado, a engrenagem será fechada. Tudo parece bom
e está lindo. Nós podemos ir assim. E talvez possamos aprender isso? Se eu for um gongo ou teclado,
ele será aberto. E acho
que não consigo atendê-lo, mas talvez consigamos, certo? Então, vamos descer e aterrissar. Isso não parece bom. Também temos freio de mão quando
estamos no chão Mas isso é uma simulação de um caça a jato em motor real.
Isso não parece bom. Vamos calcular algumas coisas, então destruiremos o avião de combate sempre que
esse tipo de coisa acontecer. Então não, ou o gás está funcionando bem.
40. 38 Verifique a altitude: Nenhum problema que temos é que, quando nosso
avião de combate está no subsolo, podemos fechar as engrenagens, e isso não deveria acontecer Certo? Agora, estamos no subsolo. Se você tiver um
teclado, poderá vê-lo. Isso não parece bom, certo? Então, como podemos corrigir
isso. Vamos ver. Aqui, se tivéssemos G em nosso teclado e
a engrenagem estivesse aberta, isso aconteceria,
e essa linha do tempo
fará com que as engrenagens
sejam fechadas, certo e essa linha do tempo
fará com que as engrenagens
sejam fechadas, Mas caso isso seja verdade, queremos verificar se
estamos no subsolo, não feche as engrenagens porque
estamos no subsolo, certo? Então, para fazer isso,
precisamos de algum espaço aqui. Para verificar se você está no
subsolo ou no ar, existem alguns nós
que devemos usar. É por isso que não quero adicionar todos esses nós aqui. Não temos muito
espaço aqui, então é por isso que eu quero
criar uma função. Então vá aqui, crie uma função, e eu quero
chamá-la de verificar altitude. Está bem? Verifique a altitude. E aqui, nesta função, queremos ter uma saída
do tipo booleano, e eu quero chamá-la de está no ar Está bem? E aqui, vamos criar um pouco de espaço. Há um nó chamado rastreamento de
linha por canal, ok? Esse traçado de linha tem uma localização
inicial e final. Ele começará
desse local inicial até o local
final com uma linha
e, se atingir algo, será mostrado para nós. Então, o que
eu quero fazer é adicionar uma linha do meio do
nosso avião até baixo, por exemplo, 20 metros abaixo para verificar se ela
atingiu o solo ou não. Se atingir o chão depois de
1 ou dois metros, significa que estamos no chão. Mas se não atingiu
o solo, significa que estamos
no ar, certo? Então, para fazer isso, precisamos de
um local inicial e final. Como eu quero obter
o local de partida? Eu quero que esteja no
meio do nosso avião. Então, vamos clicar em Ormsh. A localização inicial de Ormsh
é 00 aqui. Se eu clicar aqui,
você pode ver. Isso não parece bom. Mas se você for até nosso braço de mola, poderá ver que a localização do braço de
mola está no meio do plano. É por isso que eu
quero usar isso. Então, aqui, eu quero
superar Spring Arm, obter sua localização, obter a localização e obter a palavra localização dela. E esse é o
ponto de partida. É isso mesmo. E para o ponto final, queremos apenas subtrair isso por um valor Z porque queremos verificar se você
está no chão ou não Não precisamos mudar o X ou
o Y para isso. Então, eu quero colocar
2000, por exemplo, ou 20 metros abaixo,
conectá-lo ao final. E para que você veja melhor, quero mudar a devoção do
desenho do meio-dia para persistência, para que
você possa ver Se eu começar a compilar, não, posso usar essa função Então, vamos ao gráfico de ventilação. Eu quero mostrar isso a
você passo a passo. Então pegue essa altitude de verificação e conecte o
pino de execução a ela assim. Eu não quero fechar
o equipamento agora. Quero apenas
verificar a altitude, começar a compilar e rodar o jogo Então, se eu tivesse Jon ou
teclado, você pode ver, há uma linha do meio ou do plano se eu
avançar um pouco. Caiu no chão e
caiu no chão. Isso significa que estamos no chão. Então, isso nos dará um valor. Vamos ver qual é esse valor. Como podemos obter o valor em
que atingimos o solo, podemos simplesmente quebrar isso,
tivemos que nos dar a distância. Então, deixe-me usar uma string de
impressora aqui para mostrá-la a
você. E eu quero mostrar a distância quando ele atinge o chão, certo? Nós atropelamos o jogo e
apertamos Jon ou o teclado, você pode ver, é
como dois metros, certo, dois metros abaixo. Então, se essa distância for
menor que dois metros, significa que estamos no chão. Mas se for
mais de dois metros, significa que estamos
no ar, certo? Então, conhecemos esse valor, que é conectar esses dois aqui. Em primeiro lugar,
queremos verificar se ele está atingindo algo
com essa cabeça bloqueadora Então use um galho aqui. Se não bater em alguma coisa, essa queda acontecerá, e isso significa que estamos no ar. Então, verificamos se está
no ar, certo? É isso mesmo. Mas
se atingir alguma coisa, precisamos verificar a distância. Então, novamente, se atingir alguma coisa, podemos usar um galho aqui
e verificar a distância. Se a distância
fosse maior que, por exemplo, 250, ok? Isso significa que estamos no. Assim, podemos controlar o controle C
para colar esse nó de retorno. E se não estiver atingindo
algo depois 2,5 metros ou 250 centímetros, podemos dizer que não estamos
no ar assim, passando por essa
variável aqui, certo? Então, não, vamos
testar isso, não. Se formos para o gráfico de eventos, não, eu quero usar um anel de
impressora aqui, printesring para mostrar o
valor do ar, certo Compile e execute. Se eu tivesse um teclado,
diz falso. Estamos no subsolo.
Então está funcionando bem. Nós seguramos o turno,
avançamos e vamos para
o céu, talvez, certo? Agora, se eu usar o teclado, você pode dizer que está
caindo no chão, mas diz que é verdade Estamos no ar. Novamente,
se não estiver batendo em nada, se eu tocar no teclado, não
está batendo em nada
e diz verdade Então, tudo está funcionando
bem com nossa função. Podemos simplesmente usar uma ramificação
nesta função que está no
ar com a ramificação. Se estivermos no ar, isso acontecerá e
poderemos fechar os carros. Vamos apenas compilar,
salvar um jogo do Runo. Se eu tocar no Gon ou no teclado, você pode ver que estamos
no chão É por isso que não está
fechando os carros. Mas se avançarmos e formos para o céu. Mas esse jipe, não
, fechará o acelerador Isso parece bom, certo? Então, não. Resolvemos outro problema.
41. 39 Mísseis e pontos duros: A próxima coisa que queremos fazer adicionar alguns mísseis ao nosso caça
a Neste momento, nosso
avião de combate pode ir para o céu, mas não pode atacar nada. Então, vamos ver como podemos fazer isso. Para fazer isso, se formos
ao Viewport, você pode ver que, se formos até os bastidores, temos um ponto difícil Chamamos isso de ponto difícil onde podemos colocar alguns mísseis, E no lado direito,
nós também o temos. Queremos colocar quatro
deles lá,
como em qualquer combate AS.
Eles têm quatro, certo? Então, para fazer isso, precisamos
encontrar o esqueleto. Vamos até a
gaveta de conteúdo, acesse os ativos,
vá até as malhas e, aqui no avião de
combate,
encontre o esqueleto Está escrito esqueleto nele. Vou clicar nele para abri-lo. Aqui, deixe-me resumir
esta e em nossa junção ****, você pode ver se já temos algum ponto
difícil Você pode ver o
posicionamento deles. Isso parece bom, certo? Podemos testá-los para ver se
estão bons, mas clique com o botão
direito do mouse, adicione o recurso de visualização e escolha
os esqueletos que você pode ver.
Não, temos um lá dentro Novamente, temos
outro ponto difícil. Temos R 0.1, dois, três, quatro, no chassi do nosso avião de
combate, certo? Novamente, clique com o botão direito do mouse, vá para adicionar ácido
de
pré-visualização e escolha aquele que você
deseja colocar lá. Agora, você pode ver, nós
temos outro. Mas não queremos
fazer isso assim. Podemos simplesmente clicar nele remover todos os ativos anexados. Como queremos fazer
isso, queremos usar
o ponto difícil para colocar alguns mísseis na fuselagem
do nosso caça a Então, para fazer isso, precisamos malha
esquelética interna
sobre os componentes aqui Então clique na
malha e clique em AD e pesquise por malha esquelética Este primeiro, eu quero
chamá-lo de míssil zero, um. Ok. Controle D para duplicá-lo. Isso é bom. Novamente, controle D para duplicá-lo mais uma vez. Novamente, controle D para
duplicá-lo mais uma vez. E segure a tecla Shift e selecione as outras também
aqui ou segure Control e
selecione-as e escolha uma malha esquelética Nesse caso, queremos
usar nosso míssil. Agora, você pode ver que todos os
mísseis estão aqui embaixo. Isso não parece bom. Podemos simplesmente clicar
nos mísseis porque
são filhos da malha, podemos escolher um soquete principal Então, aqui, clique nele. Eu quero colocá-lo no Hard 0.1. Não, você pode ver isso no lugar
certo. Isso é bom. Míssil dois, novamente, clique nele, vá para o soquete principal e eu quero colocá-lo
no HardPoint Agora, você pode ver isso.
Isso parece bom, certo? Míssil três,
queremos colocá-lo em HardPointT para poder E novamente, míssil quatro, eu quero colocar um soquete
lá, Hard 0.4 Agora, com isso, vamos
compilar o jogo save e o Runo. Você pode ver que temos alguns
mísseis em nosso jogo. Podemos simplesmente seguir em frente. Vamos dar uma olhada certa
e subir. Feche as engrenagens. Isso é bom. Agora temos alguns
mísseis que podemos disparar Isso parece bom. Vamos ver como podemos atirar neles.
42. 40 Sistema de recarga de mísseis: Não, temos alguns mísseis
no ponto difícil. Mas, no momento, não
podemos demiti-los. Eu quero ir passo a
passo para criar esse sistema de mísseis para que
você o entenda melhor Começamos com a entrada. Então, vamos até a
gaveta de conteúdo aqui, ir até a entrada, clicar com o botão
direito do mouse aqui
e ir até a entrada, criar uma ação de entrada, e eu
quero chamá-la de IA fire, ok? Você não precisa mudar
nada dentro dele. O booleano digital
é mais do que suficiente. Você pode simplesmente
salvá-lo e fechá-lo. E agora precisamos mapeá-lo
no caça IMC ainda, certo? Adicione o mapeamento aqui, desça, para encontrarmos
o vazio. Então clique nele, Ifire e novamente, vamos
descer, AFire Sempre que pressionamos o botão mais à esquerda, queremos atirar, certo Então, vamos ver como podemos usá-lo. Se formos para o Blueprint, quero fechar alguns deles Nós não precisamos deles. Apenas um gráfico corrigido é
mais do que suficiente. Aqui embaixo, o que eu quero fazer procurar corretamente o fogo da IA, certo? Então, o que queremos que
aconteça sempre que
pressionarmos o botão mais à esquerda, isso começará a Há algumas maneiras de fazer
isso, mas o que eu quero fazer não criar matrizes, não
quero criar mais
nenhuma variável Eu quero usar apenas esse
componente que temos aqui. Por exemplo, quero verificar a visibilidade
do míssil. Você pode ver que
há um visível lá. Então, o que podemos fazer com isso, sempre que temos o botão mais à esquerda, queremos verificar quais
deles estão visíveis Se estiver visível,
podemos dispará-lo. E depois de dispará-lo, nós o tornamos invisível, e depois de, por exemplo, dois segundos, nós os tornamos visíveis novamente, certo, como qualquer jogo de combate AC. Então, vamos ver como
podemos fazer. Aqui, eu quero pegar o míssil Queremos que o visível
fique visível dele. Está bem? Esse visível é exatamente o visível
que temos aqui. Deixe-me mostrar para você. Se você descer,
poderá ver algo visível. Estamos entendendo isso
e estamos usando aquele booleano visível dentro de cada um desses mísseis para verificar
se os disparamos ou Então, queremos verificar
isso com a filial. Se estiver visível, se apertarmos o botão mais à esquerda e o do míssil estiver visível, isso acontecerá, e podemos usar uma E eu quero dizer, dispara o
míssil um, dispara o míssil um. Depois disso, queremos mudar
a visibilidade
desse míssil Assim, podemos copiar e
colar esse míssil ou tirá-lo daqui
arrastando-o e soltando-o E aqui, podemos dizer definir visibilidade do nosso míssil Não precisamos da
nova sensação de que ela está sendo
criada automaticamente aqui porque arrastamos, soltamos
e a colocamos lá, e transformamos a nova
visibilidade em falsa, certo? Agora, com isso feito,
precisamos criar um cronômetro. Então diga depois de 2 segundos, recarregue, certo, para que
possamos dispará-lo novamente. Então, como podemos fazer isso,
podemos arrastar e soltar aqui. Podemos dizer definir cronômetro
por evento, certo? E o evento, eu posso arrastar e soltar e criar um evento personalizado para ele e quero
chamá-lo de míssil 1, recarregar Ok. E sempre que
depois de 2 segundos, vamos colocar dois aqui. Depois de 2 segundos, queremos
mudar de volta a visibilidade. Podemos simplesmente copiar e
colar essas notas aqui e alterar a
visibilidade para verdadeira. Fizemos isso com o míssil 1. Vamos dar uma olhada nisso.
Se você atropelar o jogo, poderá ver o míssil
, está na ala direita Se eu tiver o botão mais à esquerda, não, você pode ver que ele está invisível
e, após 2 segundos, ele ficará visível novamente Se tivermos o
botão mais à esquerda novamente, você pode ver que diz
disparar míssil um, e podemos atirar nele e ele será recarregado Então não, estamos tornando um
dos mísseis invisível
e depois de 2 segundos, nós o tornamos Não, vamos ver como podemos fazer
isso com os outros mísseis. Se o míssil não
estava visível, significa que o disparamos antes
, certo? Então, essa falsa vai acontecer, e queremos fazer tudo isso os outros
mísseis também. Eu quero que você faça isso para que
possamos filmar outros
mísseis também, mísseis dois, três e quatro,
e faremos isso no próximo
vídeo
43. 41 Outros mísseis feitos: Não por fazer isso
pelos outros. Se o míssil não
estava visível, significa que o disparamos Nós o tornamos invisível e devemos esperar 2 segundos para poder
fotografá-lo novamente, certo? Então, em caso de quedas,
o que
eu quero fazer é pegar o míssil
e, aqui, novamente, procurar visibilidade,
obter o visível, certo? E, novamente, verifique com um galho como este.
Use um galho. E se o míssil
dois estivesse visível, queremos fazer tudo isso
de novo. Então, vamos copiar tudo
daqui para cá, certo? E precisamos criar
algum espaço aqui, aqui, temos algum espaço, certo? Isso é para o míssil 2. Então, se o míssil
dois fosse visível, isso aconteceria,
e podemos dizer que disparamos o
míssil dois, certo e podemos dizer que disparamos o
míssil dois, E depois disso, queremos
fazer com que a nova visibilidade do míssil dois
não seja visível Então conecte o
míssil dois a aqui. Agora, depois disso, haverá um evento e ele precisará de
um evento personalizado, e eu quero chamá-lo de
reload, missile 02 É isso mesmo. E agora queremos mudar
a visibilidade do míssil dois para
dois após 2 segundos. Agora, vamos ver o que vai acontecer. Se eu compilar e executar, você pode ver se eu vou para a
esquerda duas vezes, você pode ver dois dos
mísseis perdidos e depois disso, você pode ver se eu vou para a
esquerda duas vezes,
você pode ver dois dos
mísseis perdidos e depois disso,
eles serão recarregados. Isso parece bom,
certo? É otimizado. É uma boa coisa a se fazer,
então não se preocupe com isso. Poderíamos simplesmente fazer isso com matrizes, mas estamos complicando
as coisas com matrizes, então não precisamos disso Precisamos fazer isso também para o Míssil 3 e o Míssil 4 E como podemos fazer isso,
novamente, exatamente como antes, quero desta vez
copiar tudo, copiar e colar aqui embaixo. E conecte as
quedas desta com a ramificação desta. Basta trocá-los onde quer que
haja o míssil dois. Você quer mudá-lo para o
míssil três. É isso mesmo. Agora, aqui, você quer
disparar o míssil três, então dizemos míssil Novamente, queremos mudar a visibilidade
do míssil três para
quedas assim, e ele precisa de um evento personalizado, podemos chamá-lo de recarga Árvore de mísseis, certo? E, novamente, aqui, queremos
definir a visibilidade para
dois após 2 segundos
para a árvore de mísseis Conecte a
árvore de mísseis aqui. Isso é bom. Agora, vamos
fazer isso com o míssil quatro Controle C, Controle V
para colar tudo
e, em caso de quedas, nos conectamos a esse galho. Precisamos mudar a
árvore de mísseis para o míssil quatro. Novamente, queremos fazer
isso aqui também. Dizemos quatro, e míssil três, dois, míssil quatro
aqui, evento personalizado, você quer alterá-lo para recarregar,
míssil quatro, precisamos
mudar esse míssil três, dois,
míssil dois, míssil quatro
aqui, evento personalizado,
você quer alterá-lo para recarregar,
míssil quatro, precisamos
mudar esse míssil três, dois,
míssil quatro. É isso mesmo. Agora, vamos testar isso. Se você atropelar o jogo,
poderá ver o botão mais à esquerda e estamos disparando
todos os mísseis Você pode ver que
faz isso muito rápido. Depois de 2 segundos, todos eles
vão atirar, certo? Então, agora, estamos fazendo a visibilidade de nossos
mísseis corretamente, e estamos atirando neles um
por um após o outro Mas o problema é que não
estamos filmando nada. Estamos apenas mudando a
visibilidade de uma machê esquelética. Agora, vamos ver como podemos criar um míssil real que podemos
disparar para atirar em algo
44. 42 Plano do míssil: Até agora,
o que fizemos foi fazer míssil desaparecer sempre que
atingimos o fundo mais à esquerda, mas não há Não podemos bater em nada, certo? Então, esta é a hora de
criar o míssil real. Para fazer isso, eu quero ir
para a gaveta de conteúdo,
ir para a pasta Blueprint no avião de
combate e, aqui, clicar com o botão
direito do mouse e criar uma classe
de blueprint do tipo de ator Isso é mais do que suficiente.
Eu quero chamá-lo de míssil
BP. É isso mesmo. D clicará nele para
abri-lo dentro desta planta. Primeiro, precisamos de uma malha esquelética. Então, vamos clicar no AD
e adicionar uma malha esquelética. Eu quero colocar essa
malha esquelética como raiz de cena padrão, para que tudo seja
baseado nessa malha esquelética Agora, clique na malha
esquelética e escolha o SK para esqueleto
com míssil 26 Escolha isso. Agora, você
pode ver isso aqui. É isso mesmo. Se você clicar em compilar, salvar e ir para o nível,
podemos colocá-lo lá É aqui que o caça a jato
surgirá e eu quero adicionar esse
míssil aqui, certo? O que eu quero fazer é girar a
180 graus em torno do eixo Z, para que ele
fique voltado para frente como
nosso caça a jato, certo? Agora, se você atropelar o jogo, você pode ver que o
míssil está lá Quero falar um
pouco sobre isso para que não caia
no chão, certo? Novamente, vamos atropelar o
jogo e você pode ver há um míssil no céu Não está se movendo. Vamos ver
como podemos fazer com que ele se mova. Se você for ao nosso míssil BP, podemos clicar em Adicionar e
pesquisar o componente de movimento do projétil É como qualquer componente
que usamos, como o movimento do personagem, componente de movimento do
veículo
e tudo mais. E isso nos dá muitas opções. Por exemplo, a velocidade do
inicializador que eu quero
colocar em 1.000, certo E a velocidade máxima, eu
quero colocá-la em 2000. Você decide o que quer fazer. Podemos ver, podemos vê-lo porque está
submerso. Por que está submerso? Porque
a velocidade do
nosso míssil não é muita Então, vamos adicionar zero
para dois deles. Velocidade inicializada e
velocidade máxima de 10.020 mil. Agora, vamos compilar
, ir para um nível e executar. Novamente, podemos ver isso. A melhor maneira de ver
esse tipo de coisa é sem
adicionar gráficos, fumaça, certo? Mas, por enquanto, deixe-me
mostrar outro caminho. Se você for até nossa planta, voltar para a parte de trás do nosso
míssil e simular Não, você pode ver que está funcionando Novamente, podemos clicar em Simular e você pode
ver que está funcionando Mas o problema está dentro do nosso nível, quando
o executamos, podemos vê-lo. Está indo muito rápido, certo? Então, para você ver melhor, quero começar esta
simulação e adicionar um efeito Niagara Então clique na malha esquelética em um componente do sistema Niágara do sistema de
partículas do Niágara, e eu quero que seja como uma malha esquelética.
Isso é importante. Depois disso, escolha
NS west Missile 26, o Niagara Effic para este míssil.
Clique nele. Agora, você pode ver que
temos algum efeito. Mas o problema com isso é
que está virado para o lado errado. Se você clicar em
nosso sistema Nagar, podemos criá-lo como
filho de um soquete,
e há um soquete nessa malha esquelética que
é chamado de soquete é chamado Se você escolher isso, não, você pode ver que está no lugar certo. Essa mese esquelética tem ossos, e há alvéolos onde
podemos colocar alguma coisa lá Se tivéssemos que salvar a compilação e saber se rodamos
o jogo aqui, não, você pode ver melhor A próxima coisa que eu quero fazer dentro desse movimento do projétil, existe a opção de rotação
seguindo a velocidade Então, em algum momento, esse míssil pode virar e não sabe para
onde ir, certo? Não sabe para onde
deveria apontar. Com esta opção, a rotação
segue a velocidade, garantimos que ela
sempre valha a pena. Você não verá nada aqui, mas resolverá
muitos problemas no futuro. Agora, com isso, temos um míssil
para você ver melhor O que eu quero fazer
é subir nível e girar
um pouco, para que avance assim Agora, se você atropelar o jogo, não, você pode vê-lo melhor. Vai subir e depois disso, vai descer. É isso mesmo. Agora, a próxima coisa que
você deseja adicionar é adicionar um pouco de som. Vamos ver como
podemos fazer isso.
45. 43 Meta som do míssil: Não, pelo som. Queremos usar o metasundo
porque ele nos dá muitas opções para realmente
tocar o som certo
na hora certa Então, para fazer isso, eu quero ir
para a gaveta de conteúdo, e se você for para Fighter
Jet Assets Sounds, você pode ver que há
alguns sons aqui Nós usávamos motor a jato antes, mas eu quero usar
esses dois sons. Em primeiro lugar, há uma árvore de MP de
foguetes, essa. Se você jogar. Isso é para o
início do som. E depois disso, o
míssil está longe. Queremos jogar
esse. Essa. Consegue ouvir isso? Então,
no começo, jogamos isso e depois
disso, jogamos esse. Para fazer isso, eu quero ir
para a pasta Sounds no avião de combate, pasta
Sounds, e clicar com o botão
direito aqui, ir para o áudio e criar uma fonte de
metasundo Eu quero chamá-lo de s
para metasound Missile. Está bem? Vou clicar
nele para abri-lo. E aqui, primeiro, eu quero criar um player de ondas. Desta vez, eu quero usar estéreo, certo? Você pode fazer isso. E saiba o que vai acontecer, isso nos dará uma carona e sairá Mas na saída, temos apenas Omano, certo? Como podemos mudar esse metassom
de mono para estéreo, você pode simplesmente acessar o metassom
aqui e alterar o saída de
mono Agora temos a esquerda e a direita. OK. Então, em primeiro lugar,
o que queremos jogar, queremos jogar o foguete
MPT, este, certo Aquele que vai começar. É isso mesmo. Vamos
clicar nele. Ele o reproduzirá para nós
porque está conectado ao n play. Então não, só isso, se você conectar esses 20 à esquerda
e à direita e tocarmos, verá que ele tocará
o som para nós, e depois disso, ele terminará e tudo estará pronto, certo? Mas depois que este terminar, queremos tocar outro som. Mas como podemos jogar adicionar outro jogador de
ondas, certo? Wave player do tipo
de aparelho de som desta vez, quero escolher o motor do
foguete. É isso mesmo. E o problema é que não podemos conectar esses dois
juntos, certo? Precisamos misturar esses dois. Como podemos fazer isso,
podemos usar um mixer. Vamos apenas
pesquisar o mixer porque o tipo de áudio
é mixar um estéreo,
escolhemos um mixer estéreo É isso mesmo. Não, podemos conectar a saída da esquerda
para a esquerda, da direita para a direita e misturar essas duas. Esse nodo fará isso por nós. Não, conectado assim. Não, se você correr, veja, os dois estão jogando. Você pode ver isso, é claro, aqui. Depois disso, isso estará lá. Mas o problema, novamente, é que os dois
estão jogando juntos. Essa, queríamos
esperar por um segundo. E depois disso,
comece a jogar. Como podemos fazer isso,
se você arrastar e soltar daqui e
pesquisar por atraso, há uma
nota trigonométrica de atraso que podemos usar Depois de 1 segundo,
queríamos jogar esse, certo? Então, agora, vamos jogar. Se clicarmos em play, o primeiro, este será jogado. Após 1 segundo,
este será jogado. Você pode simplesmente olhar essas linhas para entender
qual delas está tocando primeiro. Cabeça, corra, primeiro,
e depois disso, este será jogado. Novamente,
mostramos essas linhas para você também. Depois de 1 segundo, um. Vê isso? Então, agora, temos um
meta-som que podemos usar. E outra coisa que
eu quero fazer desta vez, a partida do motor, eu não quero que ele fique ligado. Eu quero que seja
jogado apenas uma vez. Mas este eu quero que
seja jogado continuamente até que o
foguete alcance alguma coisa Então, colocamos isso em loop
assim apenas verificando isso. Não, com isso feito,
podemos adicioná-lo ao míssil. Para fazer isso, eu quero ir
até o BP Missile, e aqui, clicar na
malha esquelética em um áudio Temos áudio
aqui que, como
escolhemos o
míssil MS aqui, ele o escolherá
automaticamente lá Mas se você desmarcar
e clicar em, temos apenas áudio Clique no áudio para adicionar o áudio
e, aqui, podemos
escolher o som. O som que
usamos é o MS Missile, o meta-som que
criamos juntos Agora, se você clicar em compilar, salvar passar de nível e executar, veja como é lindo Mas você ouvirá um problema. Se você correr novamente e ver que ele pode atirar e
sumirá. Mas o volume do som
não está diminuindo em nada. É como se estivesse
perto de nós, certo? É por isso que queremos usar a
atenuação para o excesso de som. Vamos ver como
podemos fazer isso a seguir.
46. 44 Atenuação do som do míssil: No momento, o problema com nosso som é que,
quando eles o tocam, se ele se afasta de
nós, novamente, não conseguimos ouvi-lo É como se estivesse perto de nós. É por isso que precisamos
criar uma atenuação. Eu quero ir para a gaveta de
conteúdo na pasta de
sons na pasta Fighter Com o botão direito, vá
para áudio e aqui, crie uma atenuação sonora Quero chamá-lo de SA
para atenuação de som e quero chamá-lo Vou clicar nele para abri-lo. E aqui, há algumas opções que eles
querem mudar. Por exemplo, em um raio,
o que isso significa? Se você passar o mouse sobre ele, será o raio que define quando a atenuação
do som começa Então, agora, por quatro metros, podemos ouvi-lo
completamente, certo? E depois disso,
começará a decair. O volume diminuirá, certo? Novamente, há uma
queda de distância,
a distância na qual ocorre a
atenuação do volume, certo Então, não apenas com esses valores padrão,
vamos colocá-los lá. Se você for para o nosso
míssil BP, vá para o áudio, se você cair,
temos uma
configuração de atenuação que podemos
colocá-lo lá Não, você pode ver que
há um círculo interno que você pode ver aqui Se você estiver dentro
desse círculo interno, podemos ouvi-lo completamente. Mas depois disso, ele
começará a diminuir seu volume. Agora, vamos dar uma olhada
no jogo para testá-lo. É isso mesmo. Não conseguimos ouvir nada disso. Por quê? Porque onde o
som é atenuado, a esfera é muito pequena. Então, vamos aumentar
isso para 10.000, por exemplo, para este, e 80.000 para este, certo? Assim, podemos ouvi-lo completamente. Se voltarmos para o
BP Missile, não, você pode ver quando estamos
perto dele, podemos ouvi-lo
e, mais longe de nós, não
podemos mais ouvir Então, sem pista. Não, você pode ver que o som está
diminuindo e diminuindo. E não está destruído. Está indo para frente e para frente. Você pode ver, não, você não
consegue ouvir nada. Você pode ouvir o motor a jato, mas não consegue ouvir
os mísseis novamente. Deixe-me executá-lo novamente. No começo,
podemos ouvir,
mas depois de algum tempo, não
conseguimos mais ouvir. Isso era para atenuação de som que precisávamos para um
47. 45 Explosão de míssil: Não, ou o míssil pode avançar, mas não pode atingir nada Então, vamos correr. Você pode ver que está subindo
e caindo no chão, mas não foi destruído
nem atingiu nada, Então, para fazer isso, eu
quero ir ao BP Mest. A primeira coisa que
quero fazer aqui é clicar na malha esquelética e ir para colisão Deixe-me encontrar a colisão. Depois do equipamento de física e animação, queremos entrar em colisão E aqui, neste momento, não
há colisão. Queremos mudar
isso para que colida com algo com
o solo, por exemplo A única coisa com a qual eu não quero que isso colida é
com o peão Então eu vou dizer, ignore
apenas o peão. Então escolha Ignorar somente o pwd. Agora, se você atropelar um jogo, ele está crescendo e ele
cairá no chão e você pode
ver que ele permanecerá lá. Podemos ir para So leave. Desça, desça.
Não, você pode ver isso. Vai parar por aí, certo? Então, quando colide
com alguma coisa, ela para, mas isso
não é suficiente para nós Queremos ter alguma explosão. Para fazer isso, acesse
o gráfico de eventos e, aqui, temos algumas
coisas que podemos fazer. Nesse movimento de projétil, há um evento
chamado Unprojectile Quando atinge alguma coisa,
ela para. Então clique em Unprojectile
Stop plus aqui, para que ele crie isso para nós Vamos testá-lo com
o anel de teste de impressão. E é isso. Diga olá, certo? Se deveria, você pode ver quando atinge o chão,
diz: Olá. Eu não quero dizer
olá, o que eu quero fazer. Eu quero uma explosão de spa.
Que explosão? Deixe-me ir para a gaveta de conteúdo
em VFX, vá para prefabs. E aqui,
temos um sistema augúrio que é apenas uma explosão Deixe-o compilar e ele
mostrará para você. Você pode ver que essa é a explosão que
queremos usar, certo? Então, vamos ver como podemos usá-lo. Feche isso. Você não precisa disso. Podemos simplesmente ir até ou BP Missa
parar um projétil aqui. Podemos dizer sistema de desova
no local, certo? Então, esse
sistema de desova no local, podemos dizer a ele para gerar
a explosão de poeira, certo Não
tínhamos nenhum gráfico, certo? Só com aquela compilação viciosa. Agora, se você correr até
lá, você pode ver, quando atinge o solo, se você adiciona explosão, mas está acontecendo na parte inferior do
nosso avião de combate, e
isso não é bom. Como podemos mudar a localização. Temos uma localização aqui. Lá, podemos dizer:
obtenha a localização do ator, então obtenha a localização do
míssil quando ele parar Então, vamos fazer isso.
Obtenha a localização do ator. É isso mesmo. Não, vamos testar
isso ou dar uma dica de que
funciona, espere, e há uma explosão
lá. Legal, certo? Mas eu não quero
fazer isso assim. resultado do impacto é que podemos quebrá-lo e usar seu material. Por exemplo, o ponto de impacto. Então, vamos escolher o ponto de impacto para nossa
localização. E é isso. Se você atropelar um jogo, você
vê quando ele cai no chão, temos uma explosão e
você pode ver bem, certo? Mas outro problema que
temos é que ele não está
destruindo depois disso Então, precisamos adicionar um
nó de destruição aqui. Destrua o ator. Não, vamos apenas compilar
e executar o jogo. Vou atirar, criar uma explosão
e, depois disso, ela
será destruída. A próxima coisa que
você
quer fazer é tocar um som de
explosão. Então, vamos ver como podemos fazer isso. Para fazer isso, antes de
destruir esse ator, eu quero dizer que amplie o som
no local, certo? Temos a localização aqui. Podemos simplesmente conectá-lo
assim ao local,
e o som que eu quero usar é chamado ES Generate Explosion. Isso é bom. Gere
explosão, certo? Vamos apenas compilar e executar. Então você pode ver se você
avança e ela atinge
o chão e agora você pode ver que também há um som de
explosão. Vamos testar esse tempo. Y, e quando atinge o chão, há um
som de explosão. Isso é bom. Portanto, nenhum míssil excessivo pode ser disparado e pode explodir
quando atinge alguma coisa Agora, vamos ver como
podemos realmente usá-lo.
48. 46 Atire mísseis: Não, por usá-lo. Na verdade, é fácil. Vamos ao nosso BPF 18 quando lançarmos o primeiro míssil Por exemplo, míssil um. Vamos apenas ir até aqui. Quando ajustamos a visibilidade
do nosso míssil para cair antes de recarregá-lo, antes realmente iniciar o
cronômetro para recarregá-lo, eu quero gerar Podemos simplesmente dizer que geram um
ator de uma turma. Você sabe que o míssil ou BP
é apenas um ator, certo? Para que possamos gerá-lo. Portanto, a classe que você deseja
gerar é chamada de míssil BP. É isso mesmo. Ela precisa de uma transformação. Então, como podemos obter a transformação. Podemos pegar nosso míssil e tirar dele
a palavra transformar
, certo? Porque estamos
lançando o míssil 1 aqui, o míssil É por isso que pegamos
a palavra transformação do míssil um e dizemos para
ela gerá-la a partir daí Não, é expandir isso,
existem algumas opções. Por exemplo,
anulação do tratamento de colisões . Eu
quero clicar aqui. Quero mudar isso para tentar
ajustar a localização,
mas sempre o intervalo. Então, sempre que pressionarmos o botão
mais à esquerda, ele sempre será disparado E isso é tudo o que precisamos fazer. Agora, com isso,
vamos compilar, salvar e ir para o nosso
nível e excluir esse míssil porque queremos
fazer isso automaticamente Agora, se você atropelar o jogo, você pode ver
o míssil Se eu apertar o botão mais à esquerda, você pode ver que não, ele está funcionando
e está recarregando também Novamente, vamos filmar. Legal. Vamos apenas
para o céu. Atire. E então você pode ver o míssil, eu
vou cair no chão Vamos fechar
as marchas e
voltar e atirar
ou lançar um míssil Veja, ele deve ser destruído. Novamente, nesta propriedade, podemos subir e
disparar um míssil E vamos
testá-lo mais uma vez. Atire bem, certo? O avião não está destruído porque ainda não
terminamos com ele, certo? Dois n e está funcionando bem. Não, é hora de adicionar esse míssil a outros
mísseis também. Temos mísseis dois, três, quatro e tudo isso, certo? Devemos fazer isso por todos
eles. Precisamos de um pouco de espaço. Então, vamos pegar tudo isso e criar algum espaço aqui. Isso é para o míssil 4. Isso é para o míssil três. Claro, eu
disse que você poderia usar uma matriz aqui, mas como temos
apenas quatro mísseis, eu não queria complicar
as coisas É por isso que estou usando isso, certo? Então isso é bom. Agora, vamos copiar isso e
colar em todos os lugares, certo? Precisamos de um pouco de espaço aqui, cole para
este, como este. E a única coisa que
precisamos mudar é essa palavra
ser transformada de míssil dois porque isso
é para o míssil Vamos fazer isso por este. Novamente, controle V
para colá-lo aqui e conectar
o pino de execução, conectar o
pino de execução aqui e o míssil três, certo? Então conecte o míssil
três aqui. É isso mesmo. Novamente, crie algum
espaço aqui, controle V para colá-lo aqui. E conecte o
pino de execução aqui e aqui, e este é para o míssil quatro. Agora,
vamos testar isso. Se você estiver ligado, estamos
prontos. Botão mais à esquerda, botão mais à esquerda, botão, botão
esquerdo do mouse. Você pode ver que ele também será
recarregado. Devemos seguir em frente
um pouco. Vá para o local. Agora podemos disparar todos os
nossos mísseis.
49. 47 Kill camera: Agora, quero tornar nosso jogo um
pouco mais interessante adicionando uma câmera como câmera mortal ao nosso míssil Vamos ver como podemos fazer isso. Para fazer isso
dentro do nosso míssil, quero clicar na
malha esquelética e
adicionar o braço de mola, como
fizemos com nosso caça Depois disso, clique
em um braço de mola, adicione a câmera a ele, certo? Procure a câmera e
adicione a câmera lá. Agora, você pode ver a
câmera onde ela está. Quero posicioná-lo em algum lugar
para que possamos vê-lo melhor. Para fazer isso, quero
clicar em ou em um braço de mola. Eu quero mudar o comprimento do
braço alvo para 850 assim. Então, podemos ver a
câmera, na verdade. Depois disso, quero adicionar
algum deslocamento, por exemplo, deslocamento ao X positivo, 230 Ok. E para o Y 150, eu detesto todas essas coisas, então você pode ver melhor Então, ficará
muito melhor, mas você pode colocar a câmera onde quiser. Você
pode colocá-lo aqui. Você pode colocá-lo de volta
onde quiser, você pode colocá-lo lá,
certo? Basta testar com ele. Agora, temos uma câmera
interna ou um míssil. Vamos apenas compilar, salvar. Eu quero colocá-lo aqui. Não, eu quero ir para o BPF 18. Há um nó para alternar
entre a câmera. Por padrão, a câmera
que nosso jogo está
usando é essa câmera
interna ou BPF 18 Podemos mudar isso, certo? Então, aqui, criamos nosso míssil e
há uma câmera dentro ou míssil em uma janela de
visualização dessa Como podemos fazer isso.
Há um nó chamado set view Target. E com a pesquisa sem
que nada apareça, você deve desativar esse
contexto sensível. E não, se você cair, temos uma meta de visualização definida
com o blend, certo? Esse é o nó que queremos. Deixe-me criar
mais espaço aqui. Isso é para o Míssil 4. Então, farei isso para
outros também. Primeiro, ele precisa do controlador. O alvo deve ser o controlador
do jogador. Se você tiver revelado,
ele lhe dirá. Então, com isso, podemos dizer: pegue o controle
do player, certo? É isso mesmo. E o
novo alvo de visão, podemos simplesmente ultrapassar o míssil BP que
geramos aqui, ok Nós o geramos
aqui, Míssil 4. E precisamos adicionar um tempo de mesclagem, para que ele passe sem problemas
para a nova câmera Por exemplo, eu
quero colocá-lo em dois. Existem algumas funções de mistura. O que eu quero usar, eu quero
usar está dentro para fora, certo? Você também pode tentar outras
coisas. O expoente de mesclagem,
se você passar o mouse sobre
ele, indica o uso de determinada função de
mesclagem para controlar a
forma da curva Então, por exemplo, isso é entrada e saída
precisa desse expoente de mistura. Eu quero colocar cinco lá,
mas, novamente, você pode tentar
outras coisas também. Saiba o que acontecerá
se você compilar, salvar e executar um jogo
para testar isso Vamos para o céu para
que você possa ver melhor. O primeiro, se
você filmar, acontece, mas o 41, no meio da
distância, você pode ver que a câmera está
mudando para aquele míssil Agora, vamos testá-lo mais
uma vez aqui. Eu quero ir para o céu. Eu quero seguir em frente
e voltar. Então, o que
eu quero fazer é
diminuir o acelerador Não, eu quero apertar o botão quatro de
movimentos para a esquerda. Você pode ver por dentro temos a câmera,
você pode ver como está. Vamos ver até você conseguir
alguma coisa, e é linda. E está destruído, você pode vê-lo lá
embaixo, certo? Então, temos uma câmera interna ou uma bagunça da BP que podemos
mudar para ela, certo Devemos fazer isso para os
outros também. Podemos simplesmente controlar C
para copiá-lo e controlar nós para colá-lo
aqui, certo, assim. E assim, queremos fazer
isso para este também. Novamente, controle V para
colá-lo aqui, conecte o pino de execução. Certifique-se de conectar o valor de
retorno desse míssil spawn, actor BP,
ao novo alvo de visualização, e devemos fazer isso
com este Temos apenas mais
um para adicionar aqui. Controle V para colá-lo aqui. Agora, precisamos conectar isso. Eu preciso do
pino de execução aqui e aqui. Agora, se você executar novamente, podemos testá-lo melhor agora. Então, daqui para frente,
você vê que parece útil e também
explodiu Vamos filmar
dessa maneira. Atire. Você vê? O avião está subindo, você pode e você pode
ver que ele vai subir. Tem um arco. Depois disso, você começa a descer. Eu vejo se caiu
no chão ou não. Então é isso, temos
uma câmera que torna nosso jogo muito
mais bonito.
50. 48 Rotação do míssil: Nenhum tamanho maior do que eu parece bom, mas eu quero melhorá-lo. H, eu quero que ele gire
quando estiver se movendo, certo? Vamos ver
como podemos fazer isso. Para fazer isso, você sabe, eu quero
girá-lo em torno do eixo X. Você pode ver nessa direção, eu quero que ele gire assim Então parece mais
um míssil real, certo? Para fazer isso, há
muitas maneiras de fazer isso, mas eu quero fazer isso com um plano de
animação Como esse míssil é
apenas mais uma malha esquelética, podemos animá-lo,
certo Então, se você clicar em
uma imagem esquelética, podemos decidir a classe
anim para Então, vamos criar um plano de animação
para nosso míssil Então, vamos entrar aqui no avião de
combate Blueprint, clicar com
o botão direito aqui, ir para a animação e criar o plano de
animação Ele dirá para
qual esqueleto você deseja criar um
plano de animação,
queremos fazer isso para mais de um míssil, selecioná-lo, criar a
cabeça e eu quero
chamá-lo criar a
cabeça e eu quero
chamá-lo Ok. Não clique nele para abri-lo a primeira coisa que
você quer fazer aqui. Queremos
pesquisar o espaço da malha, f pose, para que ele nos
forneça todas as informações
sobre os ossos. Depois disso, eu quero
usar o Modify Bone, certo. E depois disso, podemos simplesmente
conectá-lo ao OTWoodPose. Com esse osso modificado, queremos girar sobre Missi Já fizemos isso antes, certo?
Então, primeiro, precisamos escolher
o osso a ser modificado. Clique aqui. O
osso que eu quero modificar é chamado de esqueleto GRP, grupo
esquelético, certo?
Então selecionado. E a próxima coisa, não queremos
mudar a tradução. Então, vou clicar aqui. Não o exponha como alfinete, certo. Também queremos fazer isso para
a escala. Não queremos
alterar a escala,
então não a exponha como alfinete Mas para a rotação, queríamos adicioná-la à
existência, e pronto. Agora podemos modificar o osso. Clique com o botão direito aqui,
divida um pino de traçado, para que possamos mudar a função. Por exemplo, se eu
tivesse compilado e colocado dez aqui no início da compilação,
você pode ver que ele girou você pode ver que ele girou Se eu colocar 20 aqui e começar a
compilar, novamente, você pode ver que está girando
corretamente, então se você colocar 360,
ele girará um
completamente, certo ele girará um
completamente É isso mesmo. Eu quero
colocar zero aqui. Eu quero fazer isso com uma variável. Então, aqui, vamos
criar uma variável. Eu quero chamar isso de rotação. É isso mesmo. E do tipo, eu quero que seja um carro alegórico, e
eu quero trazê-lo aqui E com isso, vamos
conectá-lo aos ovos de rotação, certo, compilar a cabeça e, com isso, vamos testar o sapo, certo Se aumentarmos,
você pode ver que está girando com essa variável, mas eu não quero mudar muito
essa variável
para ver o efeito aqui É por isso que eu quero
multiplicar isso por algum valor, por exemplo, 1.000, certo, e conectá-lo aqui Por que estou fazendo isso porque essa variável
flutuante tem uma limitação Queremos poder
alterar
um pouco esse valor e ver
muitos efeitos na rotação. Então, por exemplo, se eu colocar 0,1
aqui e começar a compilar, você pode ver que ele está se movendo
apenas mudando para 0,1 Depois desse 0,2,
algo acontecerá. Você pode ver que não precisa mudar muito para
ver o efeito, certo? Mas se você
conectá-lo diretamente à rotação, o que acontecerá, você precisará alterar muito
essa variável
de rotação para poder ver
a rotação, certo? Dito isso, saiba onde
queremos mudar essa rotação. Queremos trocá-lo
por dentro do míssil BP. Mas antes de fazer isso,
precisamos clicar em nossa
malha esquelética e colocar nossa classe anim
que criamos aqui,
um míssil BP. Então coloque isso aí. Agora eu quero ir para o gráfico de eventos, e no evento Tov aqui, quero criar uma variável E eu posso chamar
isso de rotação, certo? E do tipo, como você sabe,
eu quero que seja um carro alegórico. E aqui,
queremos mudar isso. Então, o que eu quero fazer, eu quero obter essa rotação, adicionar a ela por segundo Delta, será um valor pequeno,
certo, e salvá-lo
dentro da rotação novamente. Portanto, defina a rotação
com esse novo valor. Então, a cada quadro, essa variável de
rotação será aumentada um
pouco em milissegundos, certo? Então, vamos compilar, salvar e acessar nosso míssil ABP. E no gráfico de eventos aqui, queremos obter esse valor. Então, primeiro e primeiro, quero
criar uma jogada inicial aqui,
começar a jogar, um
plano de evento começar a jogar E com isso, queremos
lançar isso para o BP Missile, mas ele não consegue encontrá-lo Por quê? Porque este não funciona com aulas de atores porque BP Missile
é só um Não é um peão, certo? É por isso que esse
nó não funcionará, mas existe um nó para
esse ator dono de criança Sabemos que o proprietário
desse projeto de animação
é o BP Nós o usamos no BP Missile aqui, e o tipo dele é ator É por isso que precisamos
usar get on in actor
e, com isso, podemos
lançar isso para a BP Missile É isso aí, que está
conectado ao pino de execução. Podemos clicar com o botão direito do mouse nessa, promovida a uma variável,
e pronto. Podemos chamá-lo de algo melhor. Por exemplo, apenas o BP Missile. Isso é não, podemos
obter os valores
desse míssil BP em nossa animação de
atualização, certo Então, aqui, podemos obter a
rotação, obter a rotação. E, novamente, podemos definir a
rotação que está aqui com o valor que obtemos do nosso míssil BP
desta forma, em cada quadro É isso mesmo. Não, vamos
testar se atropelamos o jogo. Não, vamos subir. Para
que você possa ver melhor. Se eu apertar o botão mais à esquerda, não. Veja, está girando e
está lindo, certo? Olha isso. Isso
está lindo. Mas um problema que
temos aqui é que, se eu apertar o botão mais à esquerda, a câmera vai para
o lado esquerdo e
fica lá, o que
não parece Ele estará lá continuamente. Então, precisamos encontrar uma maneira de
cancelar o carregamento dessa
troca de câmera, certo? Mas veja, podemos fazer isso a seguir.
51. 49 Cancelamento da câmera de faixa: Um problema que
tivemos foi esse. Sempre que trocamos a câmera, ela fica no míssil
até atingir alguma coisa Mas e se nosso míssil não atingir nada?
O que deveria acontecer? Precisamos encontrar uma maneira de
fazer esse tipo de coisa para trocar
manualmente
a câmera de volta para um avião
de combate.
Como podemos fazer isso. Você pode encontrar seu próprio caminho,
mas o que eu quero fazer. Quero dizer que, se o jogador
segurar o botão mais à esquerda, basta trocar a câmera
e rastrear o míssil Mas se eles soltarem
o botão mais à esquerda, volte para a câmera padrão
que está em nosso caça Então, como podemos fazer isso
quando estamos disparando mísseis com
o IIFre e
começamos e concluímos Sempre que soltarmos
o botão mais à esquerda, essa conclusão acontecerá
e, com isso, podemos mudar
o alvo de visualização, certo Como estamos trocando a câmera, estamos mudando
assim com essas duas notas, vamos
apenas usar o controle, veja o controle, para
colá-la aqui. Com o objetivo de visualização definido, misturamos sempre que soltamos
o botão mais à esquerda, e eu não quero misturá-lo Eu quero simplesmente colocá-lo em zero, para que isso
aconteça instantaneamente, certo? E, novamente, essa função de mesclagem não acontecerá porque
o tempo de mesclagem é zero. É isso mesmo. Mas qual é
a nova meta de visualização? Queremos que seja
sobre um avião de combate, para que possamos simplesmente usar o ego, criar uma referência para nós mesmos. É isso mesmo. Agora, vamos
compilar, salvar e executar Eu vou em frente, vou para o céu. E se eu apertar
o botão esquerdo do mouse em nosso
teclado e segurá-lo, você pode ver que está
indo para aquela câmera. Mas se você soltar o botão
esquerdo do mouse, você pode voltar para o nosso lutador. Novamente, se eu apertar o
botão esquerdo do mouse apenas uma vez, você pode ver que está funcionando, mas não
vamos mais
até aquele míssil, certo? Então, volte. Mais uma vez,
quero testar isso mais uma vez. Atire. Eu não aguentei,
mas desta vez
vamos segurar para ver
o que vai acontecer. Você pode ver, eu o segurei, e depois de soltá-lo,
tudo está funcionando bem. Novamente, se eu o segurar aqui, até que eu o segure, você pode ver que tudo
deve funcionar bem. E depois de cair no chão, se você trocar a câmera automaticamente, tudo ficará
bem Deve ir para o próximo tópico.
52. 50 Curso-alvo: Não, nossos mísseis funcionam
bem e têm boa aparência, mas queremos ser
capazes de atingir um alvo Se nosso míssil simplesmente
avançar, não parece bom. Ele precisa ir até o alvo. Ele precisa travar um alvo e atingi-lo
como qualquer caça a jato. Vamos ver como podemos fazer isso. Para fazer isso, primeiro de tudo, eu quero criar um alvo. Então, eu quero clicar com o botão direito aqui e
na pasta Fighter
Jet Blueprint, criar uma
classe de blueprint do tipo de ator, e eu quero chamá-la Alvo. Não
precisa ser só isso. O importante
sobre essa meta de PP é que, se você for para a classe padrão, poderá descer com antecedência. Nas tags, podemos adicionar uma tag
aqui e chamá-la de target. Então, qualquer
que seja o modelo que você tenha, se você for para a
classe padrão e adicionar uma tag chamada target, podemos direcioná-la
no futuro, certo? Então é isso. Agora, o que
queremos que seja. Vamos usar um Mish estático, por exemplo, quero
colocá-lo como raiz syn padrão E aqui, vamos
escolher uma máquina estática. No momento, não há nenhuma máquina
estática aqui. Podemos simplesmente clicar aqui e pedir que ele mostre o conteúdo
do motor também, para que possamos escolher
algo aqui, certo? Então, deixe-me descer. Eu quero procurar um cubo. Também está no motor. Então escolha um cubo e
você poderá vê-lo aqui. Você pode colocar o que
quiser aqui. O importante com
isso é que você vá para a classe padrão e antes
dessa categoria de ator,
vá para as tags, adicione a tag
e a chame de target. Com isso, temos como alvo
as coisas, certo. Então, não com isso, eu quero
ir para o gráfico de eventos. Eu quero que essa
imagem estática seja atingível. É por isso que eu quero
entrar em colisão e quero dizer a
ela para simular a geração do evento de impacto, certo Basta verificar isso e pedir
para bloquear todas as dinâmicas. Por padrão, é isso, certo? Então, podemos acertá-lo e ele
gerará um evento de sucesso, certo? Depois disso, basta descer
e temos o componente atingido. Se algo atingir
essa malha estática, queremos que ela a destrua, certo? Por exemplo, se o míssil
atingir essa malha estática, queremos destruir
essa classe completamente Com isso, tudo está feito. A meta da BP é
mais do que suficiente. Vamos até o Viewport. E aqui,
vamos colocar um
deles aqui, por exemplo. Acesse aqui BP Target. Queremos colocá-lo aqui. Vamos falar sobre isso. Claro que, de longe, podemos
ver isso, mas tudo bem. Agora temos um alvo
que podemos bloqueá-lo. A seguir, vamos ver como podemos realmente
logar em um alvo.
53. 51 míssil de orientação: Não, temos um alvo. Vamos ver como podemos usar nosso míssil para
atirar nele, certo? Uma maneira é alinhar o
tiro e disparar o míssil. Mas o míssil real em qualquer caça a jato, não
é assim Ele rastreará o alvo, fixará nele
e o atingirá, certo? Isso é o que
queremos fazer. E dentro do nosso míssil BP,
temos essa opção. Se você clicar no movimento do
projétil, existe uma opção
chamada Projétil
Homing, categoria de localização que
podemos usar para dizer qual alvo rastrear, bloquear e perseguir Então habilite isso, e há uma magnitude de aceleração direcionada que, se você aumentar
isso para um valor maior, significa que nosso míssil pode manobrar muito para Então você não quer
aumentar muito isso. Mas você deve testar com ele. Eu quero testá-lo
com 100.000, certo? E vamos apenas compilar. Não, esse míssil teleguiado
precisa de um alvo para atirar, e como podemos definir isso, se colocarmos o componente de
movimento do projétil aqui,
há uma casa no há uma casa Se procurarmos um míssil teleguiado, podemos definir o componente alvo de localização Podemos dizer qual é o seu alvo com esse nodo que está dentro ou com o movimento do
projétil, certo? Mas o que é isso? Se você passar o mouse sobre ele, é um componente SN, certo? Portanto, precisamos colocar um
componente SN como alvo. Eu também preciso de execução
e alfinete. Como podemos fazer isso,
posso simplesmente criar uma variável e quero
chamá-la de target. Ok. E o tipo disso,
eu quero que seja ator. Então pesquise por ator, escolha um ator
aqui, referência de objeto. E o que eu quero fazer é que seja
editável por instância e exposto em um intervalo para que possamos
configurá-lo em qualquer lugar, certo Agora, com essa
variável-alvo que
podemos definir posteriormente, não
se preocupe com isso. Mas, por não, acertamos o alvo. E como eles precisam de
um componente de cena, podemos dizer isso, obter o componente de
cena. Recebemos componente por classe. E a classe componente, como você pode adivinhar,
é um componente de cena. Então me dê esse alvo
como um componente de cena, para que eu possa usá-lo com mísseis
teleguiados Então é isso, se você
clicar em compilar, salvar. E não, vamos para o nível e temos
um alvo lá. Vamos até a gaveta de conteúdo. Agora, vamos até os jogadores que
começam aqui, vão aqui, porque queremos ver, não
sei onde
está o alvo da BP Vamos dar uma olhada nisso. Não, está aqui. Você pode ver que o
avião estará aqui e o alvo estará lá. Agora, vamos adicionar nosso míssil
novamente, assim. Queremos girar a
180 graus, então vamos fazer isso e aumentar um pouco Não, se você executar nosso
jogo, vá em frente. Você pode ver que nada aconteceu e isso nos dará
alguns erros, certo? Portanto, não se preocupe com os
erros. Nós vamos consertar isso. Mas não, ao selecionar
nosso míssil, há uma variável alvo Essa variável alvo é exatamente essa variável-alvo
que temos aqui, e nós a usamos para nosso componente de alvo teleguiado, míssil
teleguiado, Então, ele sabe para onde
mirar, certo? Então, como clicamos
no alvo, dizemos que ele é insensível e o
expomos em uma extensão, é por isso
que temos
acesso a Não, vamos escolher o
BP Target como alvo. Então, aqui, vamos colocar
o alvo da BP aqui,
não, ele tem um alvo Vamos apenas atropelar o jogo. Então você pode ver que
foi assim até atingir o alvo,
a meta de BP que
colocamos lá Você pode ver que isso nos dá alguns erros porque o
míssil é destruído, o alvo é destruído
quando o atingimos, certo? É por isso que isso
nos dá alguns erros. E para corrigi-los,
sempre que você obtiver algo de outro modelo
ou fora de um plano, você precisa verificar
se é válido ou Por exemplo, essa variável
alvo, estamos definindo-a fora do
esquema aqui, certo? Então, por segurança, verificamos se é válido. Então, verificamos se é
válido, é válido, certo? Se for válido, podemos defini-lo como alvo,
certo? É isso mesmo. E queremos fazer o mesmo
dentro do míssil ABP. Quando conseguirmos a
rotação, certo, primeiro, queremos verificar se esse míssil
BP é válido, ok Porque você está obtendo isso
fora deste plano. Portanto, precisamos verificar
se é válido. E isso corrigirá todos
os erros e bugs. Não, vamos correr novamente. Ele está indo
embora e atingirá o alvo. E se você fechar o jogo, não
haverá mais erros.
54. 52 Sistema de alvo: Não, para um sistema de mira, o que eu quero fazer é
usar uma colisão de caixas Então, com essa colisão de caixa, eu quero ver o que está
na frente de um
avião de combate para fazer isso Vamos
clicar em ou mesclar, adicionar e pesquisar a caixa,
a colisão de E se você for ao
Viewport, poderá vê-lo. É pequeno aqui embaixo. Eu quero trocar a
caixa e estender para 50.000 por 50.000 por 50.000
, certo É isso mesmo. E eu também
quero trazê-lo em sua direção em
50.000, assim Então, ele verá tudo o que esse avião de combate
vê à sua frente. E você pode dizer
que não está visível. É isso mesmo. Sabemos que está lá porque é uma caixa muito grande. Quero torná-lo invisível, não visível, para que
seja mais fácil trabalhar com ele. Não, com isso, eu quero
ir para o gráfico de eventos, clicar na caixa e
descer aqui até
chegarmos ao componente começar a se sobrepor aqui, o que
você quer fazer? Deixe-me trazê-lo até aqui. Queremos verificar
se o outro ator tem uma etiqueta que diz:
Alvo, é um alvo, você pode entrar nela,
certo? Então, vamos ver. Podemos arrastar e desenhar a partir desse outro ator que começa a se sobrepor a
essa colisão de caixas E podemos dizer se o
ator tem etiqueta de alvo. Então coloque o alvo aqui, pode verificar com o
galho com o galho. E se for verdade, significa que
é um alvo válido e podemos salvá-lo
em algum lugar, certo? Então, podemos clicar com o botão direito nessa e promovê-la
para uma variável, certo? O tipo é ator e eu
quero chamá-lo de alvo. Alvo que este avião tem. E queremos salvá-lo
caso esse ator, esse outro ator tenha a
etiqueta de alvo. É isso mesmo. Saiba com isso feito,
como podemos dizer ao míssil que estamos atirando que esse
é o seu alvo Como podemos fazer isso, subimos,
por exemplo, o míssil 1 Deixe-me trazer tudo isso
para a direita assim. E aqui, não, se você for
gerar o míssil Actor BP, você pode ver que há uma nova
entrada chamada alvo Essa entrada de alvo é exatamente esse alvo valioso que
criamos aqui em
nosso míssil, certo? Ele mostrou isso para
nós aqui, certo? Então, podemos defini-lo com
essa meta, certo? Queremos fazer isso
para os outros também. Todos eles têm isso. Então,
conecte o alvo a esse alvo, e queremos fazer isso com
o míssil T também Alvo, conectado ao alvo. Então, passamos o alvo
que encontramos com colisão da
caixa de ar
para o míssil BP Então, o míssil da BP sabe
qual é o alvo, certo? Então, vamos passar
isso para todos eles. Agora, se tivéssemos que
compilar, salvar e executar o jogo, haveria um alvo lá Eu deveria, se você apertar o botão
mais à esquerda, você pode ver? Não, está indo para lá
e vai destruí-lo. Depois disso, não
temos nenhum alvo, então ele pode seguir em frente, certo? Mas agora, se
você jogar nosso jogo, você pode ver que não
há nenhum indicador que haja um
alvo lá, certo? Mas se você apertar o botão mais à esquerda , ele vai para esse
alvo. Isso é bom. Mas precisamos de um indicador e queremos usar
uma interface de usuário para isso. Vamos ver como podemos criar
uma interface de usuário de indicador de destino.
55. 53 UI do sistema de alvo: Não, estamos mirando em um
alvo, rastreando um alvo e atingindo um
alvo, mas
não há interface de usuário para indicar o que
estamos alvejando Então, para fazer isso,
o que eu quero fazer é ir para a gaveta de conteúdo, ir para a Widgets dentro
da pasta do caça a jato, clicar com o botão
direito do mouse, acessar a interface
do usuário aqui e
criar um esquema de widget E eu quero criar um
tipo de widget de usuário, imediatamente chamado de WBP Ou como você quiser chamá-lo. Vou clicar nele para abri-lo. Aqui, a única coisa que eu quero adicionar é apenas uma borda. Então, dragão, coloque uma borda
aqui e você poderá vê-la. Em primeiro lugar,
o alinhamento, quero que fique no
meio assim Para que você veja melhor, não
quero que ela preencha a tela. É
só para mostrar. Eu quero colocar isso em
desejo. Você pode ver isso. Agora é pequeno assim. Vamos alterá-lo em
nosso plano mais tarde. Em seguida, não
quero que seja imagem. Eu quero que seja
apenas em uma fronteira, certo? Apenas uma borda. Quero que a margem para todas as direções
seja uma como esta. Basta colocar um lá. Direita, esquerda, inferior, todas
elas, queremos que seja uma. Ele deve
colocar automaticamente todos eles em um quando
colocamos um aqui, mas vá lá e faça isso. Na cor do pincel, quero
colocá-lo em verde, como As combat. É verde, certo?
Coloque-o em verde. E isso é tudo o que
precisamos fazer por aqui. Agora, vamos ver
como podemos usá-lo. Se você for para o BPF 18, clique na malha em
um Widget Blueprint clique na malha em
um Widget Blueprint, certo?
Pesquise por Widget É isso mesmo. O widget que
queremos usar GetClass, queremos configurá-lo como E o espaço que eu quero
que seja uma tela. Portanto, sempre estará na tela, não atrás de algumas
paredes ou qualquer outra coisa. E não, o tamanho dele, eu quero que seja 100 por 100. É aqui que decidimos
o tamanho dessa borda. Agora, com esse widget lá, se você atropelar o jogo, você pode ver que há
uma caixa verde lá Você pode ver isso? Não, queremos mudar
a posição dessa caixa verde ou
quadrado verde para o alvo. Vamos ver como podemos fazer
isso. Para fazer isso, eu quero encontrar o eventiq
onde ele está aqui, certo? E o que eu quero
fazer porque preciso de
muito espaço com
esse evento,
eu quero
colocá-lo aqui E depois disso, eu quero
criar um nó de sequência, então eu tenho vários
pinos de execução na execução zero, o que
eu quero fazer é verificar se esse alvo que
encontramos era válido, então verificamos o que é válido. Se fosse válido, precisaria de
um pino de execução. Então, vamos colocá-lo lá. Queremos obter esse widget
assim e ativar a
palavra localização Ele definiu a localização da palavra. Para a localização desse alvo. Então, novamente, vamos pegar o alvo e
obter a localização do
ator e conectá-lo
a esse local, certo? É isso mesmo. Agora, se compilarmos, salvarmos
e executarmos o jogo, não, você poderá vê-lo A posição do nosso widget
é desviar o alvo. Vamos começar,
certo? Vê? Não, você verá um problema. Quando é destruído, novamente, a posição
não muda. Está mudando com o jato de combate, mas não deveria ser assim. Deixe-me testá-lo mais uma vez. Neste momento, o que quer que
mudemos nosso avião de combate, movamos ou qualquer outra coisa, a posição será a mesma. E se você atirar nele,
quando for destruído, se você ficar lá,
verá que não parece bom. Então, o que queremos fazer verificar se o alvo não
é mais válido, queremos definir que a visibilidade
desse widget diminua. Ou podemos fazer isso. Pegamos
o widget e dizemos que definimos a
visibilidade como falsa se
o alvo não for válido Mas se a meta for válida, precisamos defini-la novamente como verdadeira. Controle C control V
para colá-lo aqui e definir a visibilidade
do nosso widget como verdadeira Portanto, caso o alvo seja válido, definimos a posição do nosso widget e dizemos
que ele fique visível Mas se o alvo não era
válido e foi destruído, defina a visibilidade do
nosso widget como falsa. Não. Vamos tirar isso.
Se você executar nosso jogo, verá que tudo
está funcionando bem. E se você passar
por cima de um avião de combate, tudo de novo
está funcionando bem. Se ele o destruir, você será destruído e agora você pode
ver que o espartilho está destruído, não
há mais caixa verde Mas um problema, um,
outro problema. Digamos que temos vários
alvos. O que vai acontecer? Se você for para um nível aqui, basta clicar em BP Target e criar outro
deles, certo? Segure, arraste um
desses eixos e
crie outro Agora temos dois deles, um aqui e outro aqui.
Nós temos dois deles, certo? Agora, se você executar o we game, podemos exibir o primeiro. Vamos ver o que vai
acontecer na segunda. Agora, você pode ver que isso
não está mais acontecendo. Não é mudar o
alvo para outro. Você pode ver que está lá, mas não estamos colocando um alvo
56. 54 Destrua um evento-alvo: Não, temos um problema. Sempre que destruímos um alvo, ele não bloqueia automaticamente outro alvo, e
queremos fazer isso. Sempre que destruímos um alvo, ele deve bloquear automaticamente outro alvo e
como podemos fazer isso. Em primeiro lugar, quando entramos em
um alvo, o que acontecerá é que o alvo será
válido e definimos posição
da interface do usuário de
Amin para essa posição, para aquele ator ou alvo, e definimos a visibilidade Nesse caso, queremos verificar
se o alvo foi destruído e alterá-lo
automaticamente. Como podemos fazer isso. Devemos descobrir quando
esse alvo será destruído. Então pegamos o alvo e vinculamos o evento ao evento
de destruição, certo? Então, vincule o evento a uma
forma indestrutiva, assim. Então, com esse evento, sempre que o
alvo for destruído, esse evento acontecerá, certo? E o que é esse evento? Quero criar um evento
personalizado para ele
e chamá-lo de mudança alvo porque o último
alvo foi destruído. Vamos testá-lo
com o anel da impressora, e eu quero dizer que o
alvo foi destruído. Não, vamos testar isso. Se compilarmos, salve e execute. E se passarmos por cima do
alvo, você pode ver que, quando destruído,
diz: alvo, destrua-o. Então, com isso,
descobrimos quando o alvo é destruído e quando
devemos mudar o alvo. É isso mesmo. Agora, vamos ver como podemos realmente mudar o alvo.
57. 55 Altere o objetivo: Saiba que quando o alvo
é destruído, queremos bloquear outro
alvo, mas podemos fazer isso. Como temos uma caixa
aqui, essa caixa, podemos obter todo o
ator sobreposto com essa caixa
com o nó chamado
obter atores sobrepostos Então, com isso, ele nos dará todos os atores que estão
dentro dessa caixa, certo? A caixa que
criamos é muito grande. Se você torná-lo
visível, é claro, você será
capaz de vê-lo, certo? Você pode ver que é muito grande. Qualquer ator que
esteja dentro dessa caixa, esse nó o fornecerá para nós e nos dará uma matriz que podemos usar para
verificar todos os atores. Se eles tiverem uma tag
chamada target, podemos mudar para ela. Podemos mudar o
alvo para isso. Então, o que precisamos,
precisamos para cada loop, para cada loop com uma
pausa, por exemplo, certo? Ele examinará todos os itens dentro dessa
matriz e, com isso, podemos verificar se esse ator tem tag ou não, tag off target. Então coloque o alvo aqui. Se tiver essa tag de destino, podemos verificá-la com a ramificação. Se tiver, essa verdade
acontecerá, certo? E se isso acontecer, podemos definir o alvo, definir esse alvo com o elemento R com o alvo que estamos
verificando, certo? E quando definimos a meta, precisamos quebrá-la
para cada loop. Não precisamos seguir em frente. Então, conectamos esse pino de execução a essa quebra para que ele quebre. Precisamos adicionar um nó de redirecionamento
com o mouse duplo no meio, para colocá-lo aqui para que fique melhor
assim Saiba o que vai acontecer. Nesse loop de forragem com uma pausa, verificamos todos os atores
que estão dentro da caixa, e se um deles tiver
uma etiqueta de alvo nela, essa verdade acontecerá e
trocamos o alvo com esse ator que está
dentro dessa caixa, certo? Agora, com isso,
vamos resolver isso. A primeira parte que você
escolhe, certo? Você vê. E, novamente, ele
vai para o próximo alvo, mas se destruirmos esse alvo, ele não vai para
o próximo alvo. Há um problema. Na próxima etapa, mostrarei como você
pode resolver esse problema.
58. 56 Terceiro problema alvo: O problema que
tivemos com três alvos foi que o primeiro
alvo foi completamente destruído. Ok, mudamos para
o alvo dois. Mas quando destruímos
o alvo dois, não
estamos estabelecendo
o novo alvo. Estamos estabelecendo apenas
a meta dois porque a prioridade de que
essa destruição tenha acontecido não está nos ajudando Você sabe, que em nosso alvo de BP, estamos destruindo o ator Mas esse agente destruidor está acontecendo depois de
estabelecermos o novo alvo. É por isso que isso vai acontecer Para cada loop, é definir o alvo
para o mesmo alvo, para o mesmo ator que
sempre está fazendo. Então, o que queremos
fazer, queremos verificar. Se o alvo que estamos
verificando aqui é o mesmo que
temos aqui, não o defina. Em outro caso, podemos dizer que se esse alvo que estamos
verificando e tem a tag de alvo não era igual ao alvo
que temos aqui, podemos verificá-lo com uma ramificação. Deixe-me abrir um espaço aqui. É com o galho,
certo? Caso verdadeiro. Se esse alvo que
tem essa tag aqui não fosse igual ao
alvo que já tínhamos, isso acontecerá, e agora podemos definir
o alvo com esse ator que tem
essa tag, certo? Que está conectado
aqui. Não, vamos correr. Se atirarmos no primeiro, veja, ele deve ir
para o próximo alvo. Se atirarmos nesse também, não, ele deve ir para
o próximo alvo. Não, você pode ver
que está funcionando. Tudo bem. Se você adicionar vários alvos, deixe-me adicionar outro. Guarde tudo e crie
outro aqui. Não, temos quatro alvos. Devemos pegar este,
depois de ser destruído, se você for para o próximo alvo, este é o segundo.
Você pode destruir isso. Novamente, se você for para
o próximo alvo, também será destruído. O próximo alvo novamente, podemos destruí-lo também. Depois disso, não
há um novo alvo, então é por isso que ele não
mirará em nada. Então, isso parece bom, mas também queremos poder alternar entre o alvo
com uma entrada. Por exemplo, sempre que
pressionamos R no teclado, queremos mudar o alvo.
59. 57 Alterar o alvo com entrada: Não para alterar o
alvo com uma entrada. Como podemos fazer isso. até a gaveta de conteúdo nas entradas Precisamos criar uma ação de entrada. Então vá para a ação de entrada de entrada. Eu quero chamá-lo de IA,
mudar de alvo, certo? É isso mesmo. Você não precisa
mudar nada dentro dele. Precisamos apenas mapeá-lo, certo? Adicione um mapeamento em nosso caça a jato
IMC. Desça porque isso o
criará aqui embaixo. É chamado de meta de mudança de IA. Novamente, ele vai subir,
é uma atualização, certo? Aqui, eu
quero clicar aqui, cabeça R. Então, sempre que
pressionamos R no nosso teclado, queremos mudar o
alvo. Agora com isso. Vamos até o BPF 18. Temos um evento para
mudar o alvo. Vamos apenas usá-lo.
Desça até aqui. O que eu quero fazer é clicar com o botão direito do mouse em Pesquisar por IA Change Target
e, com isso, sempre que clicarmos em ou pressionarmos R no teclado Isso começou uma vez e queremos
mudar a meta. Então, o que isso fará, isso encaminhará
aquele evento alvo de
mudança que temos aqui, certo? Esses eventos. Então, tudo
isso vai acontecer. Agora, com isso,
vamos testá-lo, certo? Nós podemos em R. Você pode vê-lo, ir para o próximo alvo, e ele está acima do alvo. Vamos apenas um deles em R,
outro, novamente cabeça R, novamente R. Novamente tem R. Podemos
atirar em outro alvo. Vamos
testá-lo mais uma vez. Eu quero segurar feixes para
entrar na gravata e atirar neles. E eu quero segurar o botão
mais à esquerda desta vez. Então você pode ver e acertar
o alvo. Essa. Em seguida, está atingindo o alvo. Não, basta voltar e
fotografar
esta, aperte G no teclado para
fechar a engrenagem, fica muito melhor. Você pode ver que estamos perdendo
o alvo agora. Se formos, podemos encontrá-la. Segure o botão mais à esquerda e veja se estamos
filmando outro Temos outro aqui que também
muda automaticamente de alvo. Novamente, retrocedemos
assim e. Fm e todos
os alvos são destruídos. Então, estamos criando um jogo, mas eu quero adicionar
mais a este jogo. Estamos destruindo algumas
coisas agora, certo? Não temos mais alvos, então tudo parece bem.
60. 58 UI de mísseis: Não, queremos adicionar
mais interface de usuário ao jogo. Por exemplo, quanto
míssil nos resta. Queremos ter uma interface de usuário
disso porque às vezes não
conseguimos ver o que está por
baixo das asas, certo? Então, para fazer isso, eu quero ir
até a gaveta de conteúdo,
acessar os widgets e, aqui,
abrir a interface do usuário do WBPFeten Nós adicionamos aceleração lá,
mas não, eu quero adicionar
mísseis Então, para fazer isso, porque
eu quero ter quatro
desses mísseis em uma fileira, eu
quero usar uma caixa horizontal Então, adicione uma caixa horizontal ao
nosso painel de tela como esta. Eu quero ancorar isso no canto inferior
direito, assim. Agora, com os
pontos de ancoragem definidos no canto inferior
direito, o que eu
quero fazer é
colocar a posição X e a
posição Y em zero Agora, você pode ver isso aqui. Quero que o alinhamento
seja alinhado com o canto inferior
direito disso Portanto, o canto inferior direito deve estar
no ponto
de ancoragem sempre que
a posição e Y forem zero Então, colocamos um e um, para que você possa ver que o canto
inferior direito está no ponto de ancoragem Não, eu quero posicioná-lo
ao lado deste acelerador, certo? Então eu posso colocar -150 e -54 Y.
É isso. Para o tamanho, eu quero colocar um 264
e o tamanho Y. Nele, coloque em 194 Eu acho que é uma
boa, certo? Não, eu quero adicionar algumas imagens
para mostrar o míssil. Então, aqui, adicione
uma imagem aqui. E a imagem que eu
quero escolher: busca por míssil e o míssil,
quero colocá-la lá Agora, com isso, precisamos de
quatro deles. Então
clique neste. Controle D para duplicar, duplicar,
duplicar. Agora, você pode ver
que parece bom. Selecione todos eles. E eu quero adicionar um pouco de
preenchimento aqui. Então, vamos usar o preenchimento e o teclado para a esquerda,
como cinco unidades Não, você pode ver isso. É bonito e apertado lá. E temos um pouco de acolchoamento ao redor
deles à esquerda, certo? Não, eu quero nomeá-los
porque é importante. A imagem do lado direito, quero chamá-la
de míssil 1 A imagem depois disso, eu quero colocar duas lá. Para os outros, eu quero ir aqui para
vê-los, certo? Então você pode ver que isso
na ala direita é
um ou um míssil Depois disso, temos o míssil dois. Não, no lado esquerdo, o míssil três
é o esquerdo Então é isso que
queremos fazer aqui. Então, se eu clicar aqui, esse é o M três, certo? E isso é quatro
ou míssil quatro. E precisamos selecionar todos
eles e torná-los variáveis. Então, podemos escrever código
para eles, certo? Vamos apenas compilar, salvar. Não, vamos ver o gráfico. E aqui, eu quero
criar uma função para definir a visibilidade da
Missi Então, quando fotografamos,
queremos torná-los invisíveis
e, quando recarregados, queremos torná-los visíveis Crie uma função. Eu quero chamar isso de definir mísseis, definir visibilidade de
mísseis E essa função, eu
quero ter uma entrada. Então, vamos colocar uma entrada. O tipo eu quero que
seja inteiro, então dizemos qual
visibilidade do míssil deve ser alterada, chamando esse número
de
míssil. OK. Com isso, podemos
ativar esse número de míssil como esse interruptor t para que
tenhamos quatro mísseis, então vamos adicionar quatro deles Sabemos que temos o míssil
um, dois, três, quatro. Não precisamos desse zero, mas
vamos deixá-lo lá e não precisamos desse padrão. Você pode simplesmente deixá-lo lá. Não, com isso, queremos
tornar as coisas visíveis
ou invisíveis, certo? Então, novamente, precisamos de uma entrada. Aqui, clique na função
como entrada desta vez, quero que seja um lingote E eu quero chamar isso de
visibilidade T, certo? Visibilidade. Agora, se quisermos mudar a visibilidade
do míssil, podemos obter o míssil
assim Queremos mudar
a visibilidade. Então, pesquise a visibilidade definida, certo, e queremos verificar
a entrada de visibilidade, certo? Então, queremos verificar com
uma filial como essa. E caso a
visibilidade fosse verdadeira, podemos obter uma visibilidade
como essa, visibilidade. É exatamente como conectar esses dois aqui porque
estamos em função, podemos fazer esse tipo de coisa. Isso é uma entrada de função, certo? Então, se a visibilidade fosse verdadeira, queremos torná-la visível. E se não for verdade, o falso acontecerá
e, nesse caso,
queremos fazer com que seja uma galinha. Então escolha galinha, certo? É isso mesmo. Podemos simplesmente
pegar tudo isso trazê-los um pouco para cima. Então, temos um pouco de espaço, controlamos, copiamos, controlamos Weed e colamos. Queremos fazer isso
para o Missile 2. Então substitua o míssil um míssil dois e conecte
o número dois aqui, pelo
míssil dois e conecte
o número dois aqui,
certo? Exatamente como antes. Controle e cole
duas vezes mais. E este é
para o míssil três, então conecte o míssil
três aqui, e este é
para o míssil Então, vamos conectar o
míssil quatro. Isso é para o míssil
três, então coloque 23,
e isso é para o míssil quatro
conectado ao míssil quatro É isso mesmo. Temos
uma função que permite alterar a interface do míssil Se corrermos, você pode ver todos os mísseis estão
lá e, se você atirar, nada muda, mas podemos ir para o BPF
18 no gráfico de eventos descer quando
estamos alterando a visibilidade
dos O que podemos fazer é criar um espaço como esse aqui e obter
a FATNUI que eu quero função que é
chamada de definir visibilidade de mísseis Então, vamos chamar esse
conjunto de visibilidade de mísseis. Isso é para o míssil 1. Então, vamos
conectá-lo assim. Isso é para o míssil 1. Então, coloque uma aí, a nova visibilidade, queremos que seja invisível,
então isso é bom. Não, podemos simplesmente copiar e colar
isso e , depois de recarregado, podemos fazer com que a visibilidade
volte a ser verdadeira, assim Não, vamos testar isso. Nós atropelamos o jogo,
olha o míssil,
se eu tivesse mais à esquerda, espere depois de 2
segundos, estará
lá Isso é bom. Queremos fazer o mesmo com os outros também. Então, precisamos de algum espaço. Crie algum espaço para
todos eles assim, assim, e para este
também, crie algum espaço. E não, com isso, podemos simplesmente copiar e colar isso aqui, eu preciso do pino de execução, então
vamos dar isso. Isso é para o míssil 2. Então, basta colocar dois aqui e precisamos
recarregá-los também Portanto, controle para colar o
conjunto aqui também. Isso é para o míssil dois, e queremos que a
visibilidade seja verdadeira, como o míssil sob
as asas, O míssil dois está bem. Vamos fazer isso com o míssil
três, cole com o controle. Isso é para o míssil três. Então coloque três lá. E na recarga, queríamos mudar a
visibilidade para verdadeira novamente. Isso é para o Míssil 3. Coloque a visibilidade em dois. É isso mesmo. Agora, vamos
fazer isso para o Míssil 4 Nós apenas controlamos V para colar
e outras coisas, certo? Você deve aprender a copiar e
colar para usá-lo muito, certo? Nós o tornamos invisível e,
depois de recarregá-lo aqui, queremos usar o
Control V novamente para torná-lo visível
para o Míssil 4, torná-lo visível e pronto Vamos apenas compilar,
salvar e executar, filmar tudo isso Veja tudo isso. Trabalhando. Isso é bom. O que eu quero saber aqui
no set desta vez
com uma variável. Neste momento, é um dois,
dois é só para testar. É por isso que eu quero criar uma variável do tipo float, e eu quero chamá-la de tempo de
recarga. Está bem? E eu quero começar a compilar
e colocar cinco lá,
certo, e conectar o tempo de
recarga a esse tempo, certo, para todos eles Então, vamos fazer isso. Com isso, sempre que
quisermos alterar o tempo de recarga, podemos ir até essa variável
e alterá-la bem rápido Não precisa ir a
qualquer lugar, certo? Não, leva 5 segundos
para recarregar o processo. Dois, três, quatro, cinco, e está lá, certo? Veja depois de 5 segundos. Ah. É isso mesmo. Depois de cinco segundos não, os mísseis serão recarregados E sempre que quisermos, podemos alterar aqui
o tempo de carregamento.
61. 59 Como calcular o GForce: Não, acho que tudo
está lindo. Mas sempre que atingimos algo, o avião, o
avião de combate não são destruídos, e isso é um problema. Eu quero te mostrar
como você pode consertá-lo. Para corrigir isso, quero clicar
com o botão direito do mouse aqui, fechar outras guias para que tenhamos
uma ficha mais limpa aqui
e, para decidir quando
destruir um caça a jato, precisamos calcular a
força G e como podemos fazer isso Eu pesquisei na Internet, como calcular
o GFCE ou você pode simplesmente pesquisar a calculadora
GFoce E está na calculadora Omni. Isso explicava tudo. Se você descer, verá que isso nos dará a
equação para isso. A diferença
entre a velocidade, dividida pelo tempo
multiplicado pela gravidade, e ela nos dará algum valor Por exemplo, se o V zero é 60 quilômetros e v10 quilômetros, e o tempo que
leva entre V zero a velocidade zero e a velocidade um foi de 1
segundo Podemos calcular isso com essa equação que temos
aqui. Então, saiba o que precisamos. Precisamos do tempo,
precisamos da gravidade e precisamos da velocidade, duas velocidades de dois referenciais separados
. Como podemos fazer isso. Vamos até Eventiq. Queremos fazer isso com o eventiq porque isso
nos dará o segundo Delta Então, podemos salvar a velocidade do último
quadro e deste quadro, e temos o
segundo Delta que ele ocupa
entre cada quadro, e também temos a gravidade Com isso, podemos calcular
a força G, certo? E se o G quatro
obtiver mais de dez, 12, 20 ou qualquer outra coisa, podemos destruir o caça a jato. Então, para fazer isso,
precisamos de algum espaço. Vamos pegar tudo
isso, abrir o assunto, tocar C
para adicionar um comentário. E aqui, eu quero
chamá-lo de sistema de segmentação, ok? Isso é para esse. Agora, temos
um ruído que, aqui, queremos calcular
a força G. Para fazer isso, quero adicionar primeiro
uma variável
para a velocidade Não quero chamar
isso apenas de velocidade. Eu quero chamá-la de velocidade
atual do quadro. Eu quero duplicar
isso, e desta vez, eu quero chamá-lo de velocidade do último
quadro, certo Então, precisamos de duas velocidades. Um para a velocidade do
quadro atual e
outro para a velocidade do último quadro,
certo Então, como podemos obter a velocidade atual do
quadro, na verdade, podemos clicar em Pesquisar por Obter
velocidade e pronto Essa é a
velocidade do quadro atual que, se obtivermos o comprimento
vetorial desse comprimento vetorial, ela nos dará a velocidade do quadro
atual e podemos salvá-la na velocidade do quadro
atual É isso mesmo. a
velocidade atual do quadro, e aqui, deixe-me criar um comentário
aqui, calcular a força G. E vamos colocá-lo aqui. Então, o que estamos fazendo, primeiro, salvamos a velocidade do
quadro atual
e, depois disso,
calculamos a força G, mas a
velocidade do último quadro, o que é? Por padrão, é zero. Quando jogamos nosso jogo, a velocidade do último quadro é zero Então, calculamos a força G
com a velocidade do último quadro
zero e a velocidade atual do
quadro que obtemos de get
velocity E depois de calcular a
força G, o que queremos fazer, queremos salvar a velocidade para o próximo quadro dentro
da velocidade
do último quadro Então, nós o colocamos aqui. Com novamente esse valor, obtendo o comprimento
do vetor de velocidade, certo? Então, depois de
calcularmos
a força G, precisamos salvar
a velocidade para o próximo quadro e faremos isso
aqui, certo? Não queremos
fazer isso agora, tornamos isso maior porque
precisamos de mais espaço. Primeiro aqui, com
base nesse cálculo, precisamos subtrair
V zero de V um, certo? Então, vamos fazer isso. O V é a
velocidade atual do quadro, então vamos entender. Queremos subtraí-lo por zero, que é o último quadro perdido Não, queremos dividir isso,
dividi-lo por, vamos ver. T multiplicado pela gravidade. Como podemos obter a hora,
a hora em que podemos
obtê-la da Delta em segundo lugar. Ou podemos fazer isso assim, mas eu não quero pegar
isso daqui até aqui. Eu posso pesquisar corretamente por
Get word, Delta second. É isso mesmo. Agora, queremos multiplicar isso pela gravidade, certo? E como podemos obter a gravidade, podemos obtê-la do componente de movimento do
veículo. Há uma gravidade z aqui, conecte-a assim a
aqui e conecte-a aqui. Agora estamos dividindo
a subtração da velocidade do quadro
atual pela velocidade do
último quadro dividida pelo tempo
multiplicado pela gravidade É isso mesmo. O que
isso nos dará, nos dará força D G. Então, promovido a variável, e eu quero chamá-lo de força G. Está bem? Força G? Eu o criei aqui embaixo. Não, não podemos conectar
os pinos de execução. Vou explicar mais uma
vez porque sei
que pode ficar um pouco
confuso em algum momento Vamos pegar tudo isso, falar assim e tornar esse comentário
um pouco maior. Então, o que estamos fazendo, primeiro, estamos obtendo a velocidade
atual do quadro obtemos o comprimento do
ator de velocidade, certo E o último quadro, então temos a velocidade do
quadro atual, e a velocidade do último quadro
no início
será apenas zero, certo Não, precisamos unir
esses dois e dividi-los pelo tempo que leva da velocidade do último
quadro até a velocidade do quadro atual
multiplicada E isso nos dará
a força G, certo? E depois disso, estamos salvando a velocidade
para o próximo quadro Portanto, também podemos calcular a força G no próximo quadro. Não, eu quero apenas
imprimir a força G. Use uma string de teste de impressão, e aqui, eu quero conectar a força G a aqui. É isso mesmo. Não, se você atropelar o jogo, você pode ver, porque ele está
um pouco se movendo, ele nos dará um pouco de força G. Mas se você se mover, verá que a força G está ficando
cada vez maior. Isso é exatamente como no mundo real. E se eu for assim
e cair no chão. Digamos que você
queira cair no chão. Agora vamos ver o que vai acontecer. A força G está ficando maior. Não, você pode ver que isso nos
deu um grande valor. Você pode ver, mas eu posso
ir para o Registro de Saída e subir. Você pode ver que nos dará
130 quando atingirmos o chão. Então, podemos usar a força G para quando destruir o avião de
combate, certo? Outra coisa. Essa força G
pode ser um valor negativo, então podemos obter o valor
absoluto dela e depois mostrá-la. Então você pode ver, não
, está sempre positivo, podemos decidir se
ficar mais de dez, será destruído, por exemplo, você pode
ver como está mudando. E você pode ver o
grande valor que ela pode obter. Se você for até o Wood Log, poderá vê-lo aqui, mas aconteceu apenas um quadro, por exemplo,
temos sete aqui. Novamente, se você subir, temos seis aqui. Quando estamos fazendo algumas curvas, temos 34, 28, quando atinge o
chão, é mais. Temos 33, 34. Então, podemos dizer que, se
for mais de dez, destrua o avião, certo? Como no mundo real. Não precisamos dessa string de
impressora. Não, estamos calculando
a força G, vamos ver como podemos destruir
o avião de combate com isso
62. 60 Destruir o jato, parte 01: Não, com a
força G calculada, queremos verificar. Se obtiver mais do que um valor
certo, queremos destruir o lutador ainda
queremos destruir o lutador. Vamos ver como
podemos fazer isso. Onde eu quero fazer isso
sempre que estivermos calculando
a velocidade, certo Então, no final, quero verificar com a filial. Está bem? Eu quero verificar com o ramo, a força G, certo, pegar a força G,
e aqui, primeiro, obter o absoluto dela para que não
tenhamos nenhum valor
negativo. E depois disso, verificamos
se são mais de dez, por exemplo, podemos
destruir o caça a jato. Então, vamos colocá-lo lá. Em primeiro lugar, se a força
G for maior que dez, a verdade acontecerá, certo? E eu quero criar uma variável para dizer que
o jato foi destruído. Então, vamos criar uma
variável do tipo booleano. E aqui, eu quero
chamá-lo de jato, destruí-lo. jato foi destruído e queremos colocá-lo aqui,
logo de cara, certo? TT. Mas, por padrão, o jato destruído
deveria ser falso. Agora, quando o jato foi destruído, primeiro, queremos que haja uma explosão, para
que possamos gerar o sistema, o sistema desova no local A explosão que
eu quero ter é apenas essa
explosão de poeira, certo? Estamos no local de mais
de um ator. Obtenha a localização do ator, certo? É isso mesmo. Não,
vamos testar isso. Se rodarmos nosso jogo, deveríamos subir e
bater em alguma coisa, certo? Suba e não caia no chão. E não, você pode ver,
temos uma explosão. Podemos ter mudado o progresso,
certo? Você pode ver. Novamente, tivemos outro. Mas também queremos fazer
outras coisas. Então, quando ele é destruído, você pode ver toda vez que
o G quatro recebe mais de dez, temos uma explosão, certo? Mas queremos fazer outras coisas. Então, não queremos deixar o lutador se mover
tanto, certo? Então, a próxima coisa que
eu quero fazer é desligar os motores. Como eu posso fazer isso, eu posso obter o motor direito e o motor
esquerdo assim. E esses são apenas alguns
sem gráficos, certo? Podemos definir a
visibilidade deles, definir a visibilidade para não
ser visível, certo? Conectado
assim. Em ambos, queríamos ajustar a
visibilidade para Fox. Em seguida, o motor
soa MS jet sound. Eu quero trazê-lo aqui, e eu quero mudar
o volume dele. Portanto, defina o
multiplicador de volume para zero. Então, não temos mais
nenhum som de jato porque
ele é destruído, certo? Certo? Agora, vamos
compilar e passar isso para casa Suba e desça e jogue de
lutador, basta olhar para isso. É isso mesmo. O motor desapareceu e o som
também desapareceu. Isso é bom. Mas outra coisa depois desse sistema de
desova no local, precisamos de um som de explosão Então eu quero pegar tudo isso, trazê-lo para a
direita, e aqui, eu quero gerar um som
no local, certo? O som que você quer tocar, clique aqui, já está. Podemos simplesmente desativar o conteúdo do
show engine, para que possamos ver apenas
o que precisamos. Gere explosão,
isso é mais do que suficiente. E localização,
podemos copiar e colar isso aqui e
conectá-lo ao local. Agora, também teremos um som de
explosão. Então você sobe e pronto. Sim, isso está lindo. Você pode ver
que não, tudo está bem. Não há próxima coisa que
queiramos fazer. Queremos parar o
movimento do nosso veículo. Assim, podemos pegar o componente de
movimento do veículo e pedir que ele
pare de se mover
imediatamente porque você será destruído, certo? Agora, vamos
novamente compilar, salvar e executar o jogo, segurar o navio e continuar Depois disso, desça. Você pode ver, ele parou de se mover. Mas se mantivermos o turno,
novamente, podemos nos mover. Então, outra coisa que
queremos fazer é
evitar que nosso avião de combate
se mova completamente. Para fazer isso, temos várias maneiras
de fazer isso. Por exemplo, como se adicionássemos
um mapa no contexto, certo? Recebemos a entrada aprimorada do
nosso controlador Git player. Vamos colocá-lo
aqui também,
colá-lo aqui com o
Control V. E desta vez, digamos que remova o contexto de
mapeamento. E o contexto de mapeamento
que você deseja
remover é o
jato de combate IMC. É isso mesmo. Vamos conectá-lo aqui. Não é um jogo de fugitivo. Nós seguramos o lençol esquerdo. Podemos mudar o acelerador, subir e saber se
descermos, vamos ver Não, não podemos ter
mais nenhum movimento, certo? Não importa o que fazemos. Não podemos ter mais nenhum movimento. Essa foi uma maneira de fazer
isso, e é bom.
63. 60 Destruir o jato, parte 02: Não, também temos outras formas. Se você não quiser
fazer isso assim,
você pode simplesmente usar esse jato destruído para fazer com que as
entradas não aconteçam Por exemplo, queremos
poder dar uma olhada, mas não queremos
mudar a confiança da IA. Então, aqui, podemos
usar um galho, ok? E nós verificamos. Se o jato
destruído era falso, você pode mudar a confiança em
caso de falso como esse. Também podemos fazer isso para
outros. Por exemplo, o freio. Não queremos que seja
capaz de fazer
isso se o jato for
destruído, certo? Então, se o jato não foi destruído,
você pode fazer isso, certo? Novamente, temos um freio de
mão aqui. Novamente, queremos verificar se o jato
foi destruído ou não. De novo, vamos descer. Para o IA Pitch, novamente, queremos fazer o mesmo aqui. Tão conectado assim a aqui. Em caso de falso, você pode alterar o valor do tom. Novamente, aqui,
queremos fazer o
mesmo com o Jet destruído. Conectado assim, se o
Jet não foi destruído, você pode alterar o valor da função. Novamente, vamos descer, abrir um espaço, controlar
V para colá-lo aqui
e saber que, em caso de falso, você pode alterar o valor de ya, faça isso para tudo. Por exemplo, eu engrenagens. Queremos verificar. Se o avião de
combate não foi destruído, você pode fechar as marchas Novamente, para a demissão, queremos verificar isso também Assim, em caso de quedas, você pode disparar um míssil, temos outro Mude o alvo. Novamente,
queremos que essa mudança de meta aconteça se o jato destruir
o que era falso, certo? Então, agora com isso, não
precisamos
fazer esse mapa de remoção no contexto. Vamos testar isso, não. Podemos decidir qual entrada deve ser ativada e qual entrada não
deve ser ativada. Com a remoção do mapa no contexto, tudo será desativado. Mas desta vez, ele
será destruído, mas podemos dar uma olhada, certo? A próxima coisa que você
quer fazer, deixe-me remover isso. Eu só quero te mostrar
algumas outras maneiras de fazer as coisas. Queremos mudar a
malha do nosso avião de combate, o material nele contido. Então coloque a malha aqui e coloque o material
nela, porque agora, é como
se ela não estivesse
destruída de jeito nenhum. Coloque um material aqui. O material zero
será o material principal,
mas o material que você
quer usar é chamado colete de caça a jato F
18 damage, certo? Basta colocá-lo lá.
Agora, se você clicar compilar e executar o jogo, vamos subir para o céu e cair no
chão depois disso B e você pode ver, não, o material
também foi alterado. Isso parece incrível. A próxima coisa que eu quero fazer não querer que isso
aconteça se o jato for
destruído, certo? Nem a segmentação, nem nada. Então, aqui, queremos verificar se o jato não foi destruído. Então, vamos usar
uma ramificação aqui. Você pode calcular tudo, calcular o G quatro, gerenciar o acelerador Vafxs
e Mas se o jato foi destruído,
não faça nada. Novamente, vamos
testar a nota estabelecida. Você sobe, desce
e ela é destruída. Não, se atingir o chão, não criará
outra explosão. Outra coisa que temos temos alguns mísseis
que não foram afetados Então, vamos ver como
podemos resolver isso, não. Se chegarmos aqui no final, quando o jato for destruído, queremos pegar todos os mísseis assim, pegar todos E atire um míssil e defina a
visibilidade deles, certo? Dizemos que defina a visibilidade para dizer a
eles que ela está destruída. Para todos eles, queremos
definir a visibilidade como falsa, conectores como esse e
saber se você executa ou joga Acho que desta vez,
tudo está perfeito. Mas sempre que você encontrar um bot, me avise na seção de
perguntas ou
neste canal principal, para que possamos corrigi-lo juntos. Vou atualizar este curso
sempre para que você possa ver que
nem tudo está
funcionando bem e estamos destruindo o jato e
nada está mais funcionando.
64. 61 Importar arquivos de sistema sam: Não, precisamos de algum inimigo que possa atirar em nós e nos destruir. E para fazer isso,
precisamos de alguns arquivos, alguns arquivos para inimigos, malha
esquelética, certo? Então, na descrição deste vídeo, há um arquivo
zip chamado 60 ones dot Zep. Faça o download Coloque-o na sua área de trabalho e
não clique nele para abri-lo, e há uma
pasta SAM aqui. Solte o dragão para
que você o extraia assim. E dentro dessa pasta SAM, deve ser apenas uma pasta de ativos. Isso é muito importante. Você precisa dessa pasta de soma e,
depois disso , há uma pasta de
ativos dentro dela. Isso é muito importante porque o caminho que estamos usando
aqui é muito importante. Agora, vá para o seu projeto, vá para a gaveta de conteúdo, clique com o botão
direito na
pasta de conteúdo e mostre o Explorer Não, isso abrirá a pasta
de conteúdo para nós. Agora podemos simplesmente escrever e colocar essa pasta de soma
aqui, certo? Certifique-se de que, após essa pasta de soma, haja uma pasta de ativos dentro dela, não outra pasta SAM, certo? Agora, com isso, se você voltar
e abrir o projeto, e se for para a gaveta de conteúdo, vá para a pasta S,
vá para a pasta Assets Você pode ver algumas coisas
aqui que são do Vigilante. E aqui, você pode ver, temos um radar. Vamos dar uma olhada nisso.
Este é o nosso radar, e deixamos eu
mostrá-lo para você. Ligue para o veículo de movimento. Temos um sistema de mísseis que é assim,
certo? Isso é lindo. Não, queremos usar
esses dois radares e o sistema SAM para atirar em um
caça a jato. Digamos que podemos
65. 62 Método-plano de radar: Agora vamos ver como podemos criar um sistema com o radar para que ele
possa derrubar um caça a jato. Para fazer isso, quero
ir para a gaveta de conteúdo e para a pasta S. Vamos fazer alguma coisa aqui. Pasta de conteúdo, quero clicar com
o botão direito do mouse em Fighter jet, definir a cor, por
exemplo, verde, certo? E para a pasta SAM, quero clicar com o botão direito do mouse nela, definir a cor para
uma nova cor, como azul ou vermelho, porque
é o inimigo, certo? Agora, vamos até a pasta
SAM aqui. Quero criar uma nova pasta, quero chamá-la de
blueprint ou blueprint Não clique nele para abri-lo. Eu quero clicar com o botão direito aqui, criar uma
classe de modelo do tipo de ator, e eu quero chamá-la de radar BP,
ok criar uma
classe de modelo do tipo de ator,
e eu quero chamá-la de radar BP,
ok? Esse é o nosso radar. Vou clicar nele para
abri-lo agora, não
há nada aqui. Quero adicionar uma malha
esquelética primeiro,
adicionar uma malha esquelética, colocá-la na raiz de cena padrão
e, agora, com isso, quero
escolher uma malha esquelética e quero escolher um SK
west radar Patriot Basta colocá-lo lá.
Este é o nosso radar, você pode ver que a porta
está aberta. Isso é legal. Agora, esse radar deve
ter alguma animação, mas por enquanto, quero
adicionar uma colisão esférica Procure uma esfera e
escolha uma colisão esférica. Com essa colisão de esferas, decidimos qual alvo
será atacado, certo? Qual alvo
bloquear, certo? O raio da esfera, eu quero
colocá-lo em 20.000. Então coloque 20.000 lá. E por enquanto, o que eu
quero fazer é
descer e fazer com que não fique
escondido no jogo, certo? É isso mesmo. Vamos
apenas compilar, salvar e colocar um
deles dentro do nosso nível Quero que nossos
jogadores comecem. Está lá embaixo com aquecimento F, ele se concentrará em um
desses radares aqui desse
jeito, certo? E agora você pode ver, temos
um radar que pode nos encontrar. Se atropelarmos Game, podemos ver o
radar lá, certo? Não, o que eu quero fazer ir até o
início do jogador e, aqui, quero girá-lo para que fique
voltado para o radar Aqui, coloque zero aqui. Agora, se você correr, você pode ver nosso avião de combate está
voltado para o radar, não, e o radar pode
nos atacar quando estamos dentro dessa esfera de
colisão, certo? Não, não está fazendo nada. A próxima coisa a fazer girar isso,
certo, girar o radar Então parece que ele
ainda está procurando por um lutador, por exemplo, certo? Você sabe como fazer isso. Há alguns ossos
dentro desse radar, e você tem todo o
conhecimento para girar isso E um outro desafio
que eu quero te dar é fechar essa porta com ossos
no projeto de animação Então você precisa do plano de
animação para fechar essa porta, e você precisa desse plano de
animação para girar todo esse radar Então você tenta fazer isso.
Nós faremos isso na próxima vez.
66. 63 Porta de radar: A primeira coisa que queremos fazer adicionar alguma animação ao nosso radar
para que ele possa girar, e queremos fechar esta loja porque ela
não parece boa, certo? Não, para fazer isso,
quero ir até a gaveta de
conteúdo e inserir
aqui algumas plantas Quero clicar com o botão direito do mouse e ir para a animação e criar o
Animation Blueprint Ele nos diz para qual
esqueleto você
deseja criar
animação para o Animation Blueprint Eu quero escolher o
radar e ele Eu quero chamá-lo de radar ABP. Está bem? Não clique
nele para abri-lo. E saiba que aqui, como sempre, queremos adicionar o espaço de
mesa da pose. Então, ele nos dará as
informações sobre todos os ossos. A primeira coisa que você
quer fazer aqui fechar essas portas. Então, precisamos encontrar os
ossos para que, com isso, possamos fechar essa porta,
como podemos encontrá-la. Se clicarmos aqui, vamos
até um esqueleto, e aqui, vamos encontrar a porta
procurando pela porta nesta árvore esquelética Você pode ver a junta
da porta aqui. Precisamos girá-lo em torno
do eixo Z em 90 graus, certo? Então é isso. É
-90 graus, certo? Então, para fazer isso,
vamos ao radar
ABP e queremos
usar o Modify Bone, certo? Nós o usamos muito. Basta clicar nele. Precisamos
mudar algumas coisas. O osso que
queremos modificar é chamado de junta da porta Doroin Não precisamos alterar
a tradução, então podemos clicar aqui, pedir que ele não a
exponha como um alfinete, e também queremos fazer isso em uma escala,
para que não a exponha como um Não, é mais limpo, certo? Não, para rotação, queremos adicioná-la
à existência, e o espaço do componente
é mais que suficiente. Não, precisamos girar
essa porta em torno do eixo Z de 90 graus a 90 graus, é claro, colocar -90 lá e conectar
o pino
de pose ou pino de execução à pose de
saída, sem compilar a saída, sem compilar Você pode ver que a
porta não está fechada. A próxima coisa que você
quer fazer é
girar o
radar completo, certo? Certo? Não, é
só ficar parado. Queremos que tenha uma boa aparência, certo? Para fazer isso, vamos
novamente ao nosso esqueleto para ver qual
osso devemos girar E aqui em um conjunto de portas, eu quero procurar uma base. Está bem? Há uma junta de
base do lançador que, com ela, podemos girá-la. Você pode ver que queremos girar isso para sempre para que ele
possa encontrar algo É só para
visualização, certo? Agora que você sabe
com qual osso, você pode girar isso Então, isso é um desafio para você. Rotacione-o para que nosso radar tenha
uma boa aparência. Você tenta fazer isso. Faremos isso no próximo vídeo.
67. 64 Rotação do radar: Girando nosso radar, para que
pareça natural e bom. Para fazer isso, queremos
usar o radar ABP e usar
o mesmo nó Então, usamos o controle C controle
V para colá-lo aqui, conectar o pino de pose
ou o pino de execução. Não, precisamos mudar
o osso para modificá-lo para o de base que encontramos,
lançador, junta base Está bem? Agora, se você clicar em compilar, verá
que quando
mudarmos o ya ou a rotação em torno do eixo
Z, ela mudará Se você colocar 20 lá, poderá ver que isso aconteceu
sem compilar 30, você pode ver, 40, você pode ver, está funcionando. Agora, queremos
apenas mudar o Z. podemos clicar com
o botão direito do mouse
nele, dividir o pino do traçado, então temos o eixo
apenas a rotação em torno do eixo Z ou ya Ok, vamos colocar
zero para não lá Não, precisamos de uma variável que mude
constantemente
a cada quadro. Então, podemos girar esse osso. Para fazer isso, eu quero
ir para o gráfico de eventos, certo? E aqui, eu quero
criar uma variável. E eu quero chamar
isso de rotação de radar. Está bem? E o tipo, eu quero colocá-lo em float E, por padrão, se
você compilar, poderá ver que,
por padrão, é zero Precisamos pegá-lo. Adicione um pouco a isso, por exemplo, com esse
Delta T x, certo? Então, adicionamos o tempo Delta a ele. Então, cada quadro
será alterado, e queremos salvá-lo dentro de
si mesmo depois disso, certo? Então, cada quadro dessa rotação do
radar mudará um pouco, certo? Agora, vamos usar uma sequência de caracteres de impressora para mostrá-la a você um anel de impressora como este. E com isso, não, você
pode ver apenas com isso, você pode ver que há um valor aqui que está mudando
constantemente. Para você ver melhor, vá até o radar da BP, que deve clicar em uma
máquina esquelética aqui e escolher nosso plano de animação
aqui que se chama Agora, se você atropelar o jogo, verá que ele
começará do zero e cada quadro será
aumentado. Isso é bom. Agora, o que eu quero
fazer é usar essa rotação do radar
para girar ou desossar Mas se você simplesmente conectar
essa rotação do radar à rotação em torno do
eixo Z, vamos dar uma olhada. Você pode ver que está mudando um pouco
para você ver melhor. Deixe-me correr ou jogar, ejetar daqui e agora
vamos para o radar Você pode ver que está se movendo, mas é muito lento. Precisamos aumentar
esse movimento. Como podemos fazer isso, podemos simplesmente multiplicar isso
por algum valor Por qualquer valor que
você quiser, como 50, certo? Você decide o que quer fazer. Agora, você pode ver que ele
girará muito mais rápido. Agora, se você atropelar o jogo
e ejetar daqui, podemos ir até o radar, para que possamos dar uma olhada nele Você pode ver. Agora, isso parece bom. Ou o radar é bom o suficiente.
68. 65 Bloqueio de radar no sistema: A próxima coisa que nosso
radar precisa
fazer é conectar um avião de combate e
saber como queremos fazer isso. Então, para fazer isso, eu quero
ir ao nosso radar da BP. Há uma colisão
esférica aqui e, sempre que nosso caça a jato
colide com ela ou começa a se sobrepor a ela,
queremos entrar nela Então, vamos ao gráfico de eventos. Clique nessa esfera. Aqui, desça até
chegar ao início de Olap Está bem? Comece a sobreposição.
Clique aqui. Não, isso criará
um evento para nós. Mas como podemos descobrir se nosso caça a jato colide começa a se sobrepor a ele porque temos muitos
atores, Então, vamos testar algo. Se usarmos o teste de impressão e mostrarmos o
nome do outro ator apenas com isso, se eu compilar e executar, você poderá ver, por padrão, digamos, que o BPFAT está
lá, por que É porque o componente começa a se sobrepor e também detecta essa colisão
de caixa grande Essa colisão de caixa grande que não
está visível no momento. Então, se eu torná-lo visível, não, você pode ver que ele encontrará
essa colisão de caixa grande E se eu não ficar escondido no jogo,
podemos testar o topo. Não, você pode ver que a colisão da caixa
grande deste caça está colidindo
com a colisão esférica,
e não queremos que o radar
bloqueie o avião de combate
por causa da colisão e não queremos que o radar
bloqueie o da Então, o que você
quer fazer? Em primeiro lugar, deixe-me tornar isso não visível
e oculto no jogo também. Agora,
o que eu quero fazer ir ao radar da BP. E aqui, eu quero
verificar isso com uma etiqueta. Portanto, precisamos de uma etiqueta
interna ou BPF 18. Quero clicar em ou mesclar. Está bem? Verifique se
não é a malha e pesquise a tag. E aqui, eu
quero adicionar uma tag, e eu quero chamá-la de F 18. Corpo. Corpo F ATN. Controle C para copiá-lo. OK. Agora, com isso, se você
for ao nosso radar VP, esse evento nos dará o componente que se sobrepõe
a essa colisão esférica,
essa colisão esférica
do nosso Então, com isso, podemos verificar se o componente tem uma tag
com o nome do corpo FATN. Nesse caso, eu quero
usar uma ramificação. Nesse caso, você pode fazer login e
dizer que
esse é o nosso alvo. Agora, vamos
usar apenas uma string de impressora. E eu quero dizer que o radar
está bloqueado em um FATen, certo? É isso mesmo. Vamos apenas
compilar e executar Não, você pode ver que
não vai dizer nada. Se avançarmos e nos sobrepormos
a essa colisão esférica, vamos ver o que acontecerá Agora, diz, bloqueio de radar no FAT. Isso é bom, certo? Agora,
estamos encontrando um FATN corretamente. Com esse bloqueio, o que você
quer que aconteça? Queremos disparar um míssil E agora, não temos um míssil. Nós faremos isso mais tarde. Mas, por enquanto, vamos ver se
podemos destruir esse radar, como podemos destruí-lo. Apenas pense sobre isso.
Nós faremos isso na próxima vez.
69. 66 Evento de radar atingido: Não, vamos ver como podemos destruir esse radar com nosso caça a jato. Para fazer isso, vamos acessar nossa pasta
de aviões de combate. Aqui, descubra o alvo,
o que fizemos lá. Aqui, o que
fizemos, basta clicar em nosso alvo de
BP e aqui, pesquisar uma tag e adicionar
a tag de alvo lá Portanto, devemos ser capazes de fazer isso dentro do nosso radar da BP também Então, aqui, basta clicar
no próprio radar da BP, e aqui, pesquisar por tag
e aqui, adicionar uma tag Eu quero chamá-lo de alvo, certo? Assim, se
tivéssemos compilado e salvo, vamos ver o que vai acontecer. Agora, você pode ver, nós
lutamos muito nisso. Então isso é bom, certo? Vamos seguir frente e atirar nele, certo? Atire. Sem utilidade. Isso acertou em cheio. Legal, certo? Então, apenas
adicionando uma tag de alvo, podemos direcioná-la. Agora, vamos ver como
podemos destruí-lo. Se você acessar o gráfico de eventos ou
clicar em ou em uma malha esquelética, basta cancelar essa pesquisa, descer e
pesquisar o componente atingido Está bem? Então, sempre que o
míssil atingir esse radar, ele deve disparar
esse evento, certo? Então, vamos testá-lo com a impressão para ver
se aconteceu ou não. E eu quero chamar
isso de radar destruído. Está bem? Radar destruído. Se você atropelar o jogo agora, você avança e
atira no homem. Você vê que está filmando,
mas não está acontecendo. Esse anel da impressora não
está acontecendo. Esse impacto no componente não
está acontecendo. Um problema que fez
isso acontecer é que, se você clicar em nossa máquina esquelética aqui e ir para a seção de
colisão, deixe-me encontrá-la Seção de colisão, você
pode ver por padrão, está dizendo
que não há colisão Se mudarmos isso para bloquear tudo, isso bloqueará tudo. E depois disso, a
simulação teleto gera ódio. Basta verificar a compilação do cabeçalho. Não, vamos resolver. Deveria bloquear
tudo, certo? Você vai em frente. Basta olhar para ela, para seguir em frente e atirar nela. Não, você pode ver que diz, radar destruído,
radar destruído. Vamos voltar assim
e atirar de novo. Veja, quando atingiu isso, diz
que o radar foi destruído. E não, estamos acertando. E se atingirmos o
chão, destruiremos. Também seremos destruídos. Então não, o radar é destruído
e temos o evento. Não, também queremos alguns
efeitos. Então, sabemos que está destruído. Vejo que podemos fazer isso a seguir,
70. 67 Radar de dano: Não, por destruir nosso radar. Precisamos de alguma visualização dizer
que
ela está destruída, certo? Então, para fazer isso, se você
for até a gaveta de conteúdo, vá para S, vá para
ativos e aqui, vá até
veículos de conteúdo vigilante, o radar, você pode ver se vamos
para a pasta de danos, há um sistema de
radar danificado Então, isso é legal. Nós podemos usar isso. Você pode ver os pneus aqui, você pode ver que o radar em si
é apenas uma malha estática. Não é uma malha esquelética,
então isso é bom, certo? E também temos alguns
efeitos. Se você não clicar aqui,
no EffexFolder, clique
aqui para que você possa vê-lo Aqui, não, você pode ver, queremos usar esses
efeitos visuais nele também. Oh, nós podemos usá-lo. Se
formos para a gaveta de conteúdo, eu quero ir para a
pasta Sam, ir para as plantas Quero clicar com o botão direito do mouse aqui, criar uma
classe de modelo do tipo de ator e quero
chamá-la de Radar danificado pela BP Radar de danos. Clique
com um ponto nele para abri-lo. E aqui, queremos
criar um radar danificado. Então, precisamos de uma
malha estática desta vez porque o radar de danos é
apenas uma malha estática Então, adicione uma máquina estática aqui, coloque-a como
raiz padrão arrastando-a e
soltando-a lá, e a malha estática
que você deseja usar é chamada de West Radar
Patriot damage Coloque-o lá. Agora você
pode ver que agora, novamente, clique no anúncio, pesquise a partícula
do sistema Niagara
e, aqui, escolha o radar
NSS Coloque-o lá. Agora, os efeitos visuais também
estarão lá. Agora temos uma planta
que podemos usar
sempre que o radar for destruído. Vamos ver
como podemos usá-lo. Vá para o BP Radar. Não precisamos mais desse anel de
impressora. O que queremos fazer sempre que algo
atinge esse radar, queremos gerar um
ator de uma classe Qual é a aula? A classe
é um radar danificado da BP, certo? Ele precisa de uma transformação para
dizer onde está. Podemos simplesmente arrastar e
soltar e dizer: faça o ator
se transformar.
Isso é mais do que suficiente. Não, depois de gerar
esse radar danificado, precisamos destruir esse
radar que temos aqui,
apenas destruir o ator, esse radar que não está danificado, certo Só com isso, vamos
para o nosso nível. Se atropelarmos o jogo, vá em frente. Eu subo e atiro
na hora, certo? E saiba que, se eu acertar, posso me gabar e ir ao nosso
radar. Basta olhar para isso. Não, nosso radar é
destruído com sucesso. Você pode ver que, porque o atingimos,
ele foi destruído com sucesso, e isso parece incrível. Como tudo isso é alegação, podemos entrar nela
sempre que formos, certo? É isso mesmo. Não, somos capazes
de destruir o radar.
71. 68 Modelo do sistema de mísseis: Sem radar excessivo, encontre mais do F 18, mas não é possível usar um míssil porque não
tem nenhum sistema de mísseis Então, o que eu quero
fazer, primeiro de tudo, deixe-me fechar algumas
dessas coisas que
não precisamos mais. Feche esse. Precisamos
do radar da BP por enquanto Vá para a gaveta de conteúdo, clique com o botão
direito aqui, crie uma
classe de modelo do tipo de ator, e eu quero
chamá-la de míssil de radar BP. Sistema, ok, ou como
você quiser chamá-lo, não clique nele para abri-lo. Novamente, aqui, eu quero
adicionar uma malha esquelética. Então, pesquise a
malha esquelética aqui, e eu quero arrastá-la e soltá-la,
colocá-la como
enraizamento padrão e escolher nosso SK east AAT Este é o nosso sistema de mísseis. E agora você pode ver que não
há nenhum míssil lá dentro, mas temos alguns rastros lá que podemos
colocar mísseis Então, vamos ver o que podemos usar. Clique aqui em uma malha
estática para não, em uma mistura estática. E aqui, há uma malha
estática chamada SM East AASAT Missile.
Basta escolher isso. Agora, você pode ver
onde ele foi criado porque é uma malha infantil
ou esquelética Podemos escolher um
soquete principal onde colocá-lo Por exemplo,
soquete de foguete um, certo? Agora, você pode ver que está
no lugar certo.
Precisamos de quatro deles. Então, vamos dar um nome a esse. Controle D para duplicá-lo. Novamente, controle D para
duplicá-lo mais uma vez. Novamente, controle D para
duplicá-lo mais uma vez, porque precisamos de quatro deles porque temos quatro
faixas aqui Não, clique em dois. Clique no
soquete principal e coloque-o no soquete dois. Agora,
você pode ver que está lá. Depois disso,
clique novamente no soquete principal Este é o foguete três
. É isso mesmo. Agora, para o quarto, novamente, queremos colocá-lo
no quarto. Não, você pode ver que todos os
mísseis estão no lugar certo. Vamos colocá-lo
dentro do nosso nível. Onde queremos
colocá-lo, queremos
colocá-lo perto do nosso radar. Não importa se está
perto do nosso radar ou não, mas é assim que
deve ser, certo? Então, coloque isso, por exemplo,
aqui, certo? Não, com isso feito. Primeiro e primeiro, queremos girá-lo um
pouco para cima, certo? Então, como podemos fazer isso? Podemos fazer isso com um plano de
animação. Então, eu quero te dar
isso como um desafio. Tente girar esses
mísseis para cima sem parar, e faremos isso
72. 69 Míssil olhando para cima: Conhecido por girar nosso
sistema de mísseis um pouco para cima, que ele
fique voltado para o avião de
combate, por exemplo, sempre que necessário, precisamos ir
até a
gaveta de conteúdo e, aqui, criar um
plano de animação Então vá para a animação e crie um plano de
animação para nosso SkleAS Cabeça criar e eu quero
chamá-lo de sistema de mísseis ABP, sistema mísseis ou sistema de
mísseis de radar Com isso, quero ir ao
nosso sistema de mísseis de radar da BP, clicar em nossa
malha esquelética e colocá-la Procure o sistema de mísseis ABP. Nada aconteceu porque não
fizemos nada aqui
em nosso sistema de
mísseis ABP Então, vou clicar nele para abri-lo. Como sempre, precisamos
colocar o espaço da malha pose de
referência aqui, para que ele nos forneça todas as
informações sobre os ossos. E depois disso, queremos usar um osso modificado para
modificar um dos ossos. Vamos conectá-lo
à pose de saída aqui
e, depois disso, decidiremos qual esqueleto
queremos alterar Para fazer isso, eu
quero clicar
no esqueleto aqui
e saber aqui, você pode ver algumas coisas aqui Por exemplo, há uma
junta de postes de mísseis que, com ela, podemos girá-la um pouco
para cima Por exemplo, 35 graus, certo? Portanto, precisamos
mudar a rotação da junta dos postes dos mísseis. Então, vamos ver como podemos fazer isso. Aqui, em primeiro lugar,
clique neste nó e escolha os postes.
Procure por um poste Junta de postes do tamanho Ms, não GAO, apenas junta, certo Não queremos mudar
a tradução. Então clique aqui, não o
exponha como um alfinete. Também não queremos alterar
a escala, então não a exponha como um alfinete, mas queremos
alterar a rotação E para o modo de rotação, quero adicioná-lo à existência,
e
o espaço do componente
é mais do que suficiente. O que você quer mudar
aqui, vamos verificar. Se você olhar aqui
porque clicamos aqui, ele mostrará uma rotação
por aqui, certo? Você pode ver que podemos mudar isso
e ver as falsificações aqui. Então, precisamos mudar o tom. Por exemplo, a 45
graus ou 35 graus. Você decide o que quer fazer. Eu quero colocá-lo em 45 graus, certo? Isso é tudo o que precisamos fazer. Não, está pronto. E se você for para o nosso nível,
correr e ejetar para que
possamos dar uma olhada, você verá que está 45 ou 35 acima Isso parece bom,
certo? Isso é incrível. Nós giramos ou perdemos
que ele olhe para cima, não para o chão, certo Então não faz o
que você quer fazer. Se você olhar aqui, você pode ver a hidráulica,
ela está entrando Deixe-me ir e você verá que o
sistema hidráulico está entrando. Então, precisamos recuar
um pouco até aqui. E como podemos fazer isso, novamente, podemos fazer isso no
esquema de animação, certo? Então, eu quero que você faça isso como uma prática para que você se
lembre disso sempre. Tente fazer isso sozinho. Faremos isso no próximo vídeo.
73. 70 Posição da haste do míssil: Não, por trocar aquela hidráulica.
Vamos dar uma olhada nisso. Se você for até um esqueleto, verá que temos uma junta de haste
hidráulica Nós tínhamos W, podemos mudar
a posição dele, certo? Deveria estar aqui, certo? Deveria estar aqui. Portanto, precisamos mudar a
posição da nossa haste hidráulica. Vamos até o sistema de
mísseis ABP aqui para usar osso
modificado novamente E aqui, eu não quero
mudar a rotação. Então clique aqui, não a
exponha como um alfinete
e, para a balança, não
quero alterá-la de jeito nenhum Só a tradução. Eu quero clicar aqui
na existência, e pronto. O que precisamos mudar, precisamos trocar
a haste hidráulica. Então, haste hidráulica,
basta escolhê-la lá. Agora, se formos ao nosso esqueleto, você pode ver que queremos mudar a posição
ao longo do eixo X. Este vermelho é o eixo X. Você pode ver isso
aqui. Agora, vamos colocar algum valor lá. Ou podemos ir aqui e mudar a posição
assim, assim. E você pode ver que -55
é mais do que suficiente. Então coloque -55 lá. Só com isso, vamos
fazer uma corrida de nível. E ejete para que possamos
ir até lá em F. Vamos dar uma olhada na
haste hidráulica Você pode ver que parece bom. Não está dentro do sistema de
mísseis. Parece bom, mas não, queremos que esse sistema
de mísseis examine o alvo Eu deveria encarar o alvo. Mas agora, nosso radar
sabe sobre o alvo, mas esse sistema de mísseis
não sabe sobre isso A primeira coisa a fazer é deixar o sistema de mísseis sair
do sistema de radar para saber onde está o alvo
e faremos isso em seguida
74. 71 Conecte o sistema de radar ao sistema de mísseis: Saiba o que temos. Temos um radar e um sistema de mísseis que precisamos
para conectá-los. E como podemos fazer isso,
existe uma maneira fácil. Vamos ao nosso radar da BP. Primeiro, precisamos dizer a
esse radar da BP que esse sistema de mísseis de radar da BP você deve estar
conectado dentro Então, o que queremos
fazer é dizer a radar que
esse
é o seu sistema de mísseis Então, se você encontrar um alvo, passe-o para esse sistema de mísseis para que ele possa atirar nele, certo? Então, para fazer isso, eu quero
criar uma variável aqui, e eu quero chamá-la de míssil Sistema. E o tipo disso, eu quero procurar por mísseis BP, sistema de mísseis radar
BP Do tipo, queremos que seja um sistema de mísseis de radar da BP. Então, com essa variável,
o que acontecerá, podemos dizer a esse sistema de radar que este é o seu sistema de
mísseis, que você deve passar o
alvo até ele, certo? Saiba como podemos realmente dizer que esse
é o seu sistema de mísseis Precisamos
clicar nessa variável, torná-la editável em posição e expô-la em um intervalo Então, com isso, se compilarmos
save e passarmos para um nível, não, você pode ver a variável do
sistema de mísseis que criamos em
where blueprint, ela também está aqui Assim, podemos dizer qual sistema de
mísseis é o seu sistema de mísseis clicando
aqui e ele
nos dará uma opção colorida para
que possamos escolher um sistema de mísseis que
queremos que seja conectado
ao Então clique aqui.
Agora, com isso feito, o radar sabe que esse
é seu sistema de mísseis e deve passar o alvo até
ele para que possa atirar nele Agora, vamos ver como
podemos ultrapassar o alvo.
75. 72 Passe o alvo para o sistema de mísseis: Saiba que nosso radar está conectado ao sistema de
mísseis e
sabe para qual sistema de mísseis
deve passar pelo alvo Vamos ver como
podemos passar por isso, certo? Então, com esse sistema de
mísseis variável, sabemos a qual sistema de mísseis em nosso nível
estamos conectados Então, precisamos passar o
alvo para ele, certo? Então, para fazer isso,
eu quero ir para o BP Radar Missile System E aqui, eu quero criar um evento personalizado,
certo? Evento personalizado. E eu quero chamar isso de meta definida para
mísseis, certo? Defina o alvo do míssil. E aqui, queremos ter uma
contribuição para este evento. Para fazer isso, basta
clicar nele, adicionar uma entrada do tipo de ator e eu quero chamá-lo de
alvo, certo? É isso mesmo. Precisamos promover
isso para uma variável. Então, promova-o como uma variável. O tipo é ator, ele
o criará para nós. Agora, com este evento, o que eu quero fazer é
usar uma string de impressão, e quero dizer que o míssil tem
um alvo para atirar, certo? E a cor dela, eu quero colocá-la em vermelho para que você possa ver melhor, desse
jeito. Agora que temos
esse evento personalizado chamado definir alvo de
míssil Podemos usá-lo dentro do nosso radar para passar o
alvo até ele, certo? Assim, podemos obter nosso sistema de mísseis ao qual esse sistema de
radar está conectado e
usar seu alvo personalizado de mísseis
definido por eventos, certo É como uma função. E podemos passar o
alvo até ele, certo? Assim, podemos levar o
outro ator que tem esse corpo FATN dentro dele
para o sistema de mísseis Agora, com ton,
vamos compilar, salvar e executar o jogo, e saber se avançarmos
e, quando nos sobrepormos
a essa esfera, veremos o que acontecerá O radar o localiza e passa o
alvo para o sistema de mísseis. Novamente, vamos
entrar nela novamente. Como essa luta, aquela. Você pode ver que
dirá que o míssil tem um alvo para disparar, certo? Agora, com isso feito, próxima coisa que
queremos fazer enfrentar o sistema de mísseis
para o caça a jato Vamos ver como podemos
fazer isso no próximo vídeo.
76. 73 Rotação do sistema de mísseis: Não, queremos que nosso sistema
de mísseis examine nosso caça ainda. Deixe-me mostrar a você
que não está fazendo isso. Por fazer isso, deixe-me fazer com
que nossos jogadores comecem. Isso é aqui, apresente-o
assim e vá até aqui
e coloque aqui, certo? Fale um pouco sobre isso. Agora, se você atropelar novamente, verá
que nosso
caça está aqui, mas nosso sistema de mísseis não
está olhando para nós Então isso é um problema, certo? Então, vamos ver como
podemos corrigir isso. Para corrigir isso,
vamos ao nosso sistema de mísseis ABP. E aqui, vamos ver como
podemos girar nosso sistema de
mísseis primeiro Para fazer isso, vá
até um esqueleto aqui e encontre o osso com o qual
devemos fazer isso, certo? Podemos fazer isso com articulação
dentada, certo? Aqui, se eu apertar
E, posso girá-lo. Queremos girá-lo assim. Então isso é mais do que
suficiente, certo? Isso parece bom. Não,
para girar isso Queremos ir para o sistema de mísseis
ABP. Use essa rotação variável, Control C, para copiá-la, certo? É para localização ou tradução,
e isso é para rotação. Então copiamos este, certo, colamos aqui e conectamos o pino de execução ou pino do
poste a ele, certo? Queremos mudar a
rotação em torno do eixo Z. Então, clicando com o botão direito aqui,
divida o pino do traçado. Precisamos colocar isso em zero porque não precisamos
mudar o tom, certo? Mas queremos mudar a
mandíbula ou a articulação dentada. Então escolha a junta dentada, compilação
principal, nada aconteceu Mas se mudarmos
isso para 40 graus,
por exemplo, inicie a compilação Agora, você pode ver, está
mudando o ya, girando em torno do zx, certo? Então não, com esse nó, estamos mudando a rotação
do nosso sistema de mísseis, mas precisamos calcular
a rotação que ele deve ter para poder enfrentar o avião de combate Para fazer isso, temos nosso
alvo aqui, certo? Podemos colocá-lo dentro de
um gráfico de eventos como este. E aqui, podemos criar
uma peça inicial porque
devemos acessar esse sistema de mísseis de
radar da BP, certo, com o evento começar a jogar e entrar
em ator,
podemos escalar isso como ator porque sabemos que o dono desse sistema de mísseis ABP
é o sistema
de mísseis de radar ABP Então, nós o lançamos para o sistema de
mísseis de radar da BP, certo? Se esse lançamento for bem-sucedido, podemos transformar nosso sistema
de mísseis de
radar BP uma Não, eu quero chamá-lo apenas de sistema de mísseis de radar da
BP. E dentro desse sistema de mísseis de
radar da BP, eu quero pegar o alvo, certo Pegue o alvo. E queremos
clicar com o botão direito do mouse nessa, promovida a uma variável também. É isso mesmo. Agora temos acesso ao nosso sistema de mísseis de radar
e também ao alvo Não, a próxima coisa que
queremos fazer aqui. Não precisamos desse dono de peões
trigonométricos. Não, primeiro de tudo, queremos verificar se esse sistema de mísseis de radar da
BP GBP é válido ou não,
é válido, certo Se for válido, a seguir, queremos verificar se esse
alvo é válido ou não. Portanto, verificamos se este também é válido
. Devemos garantir que ambos
sejam válidos, certo? E a primeira coisa
que queremos obter é a rotação que
o sistema de mísseis tem
com o alvo Então esse é o nosso sistema de mísseis, e esse é o nosso alvo Essa rotação que ele tem, queremos descobrir isso e como podemos descobrir que
existe um nó chamado find Look
rotation, certo? Assim, ele encontrará a rotação entre
o local inicial
e o local de destino. Ele encontrará a
rotação entre eles. Então esse nodo é
muito útil, certo? O local de partida é a localização do sistema de mísseis por
radar Então, obtemos o
sistema de mísseis de radar, localização da palavra, a localização
correta
da malha esquelética e conectamos
ao início Deixe-me abrir um pouco de espaço. Mas o ponto alvo é
nosso alvo aqui. Então, vamos pegar o alvo
e obter a localização do ator. Isso para obter a
localização do ator
nos dará a palavra localização
de mais do ator, certo? Vamos colocá-lo aqui. Esse é o nosso alvo. Então, agora com isso, esse
nó nos dará a rotação do nosso sistema de mísseis de
radar até o alvo, certo? Essa é aquela rotação, certo? Mas queremos obter o
rotador Delta. Por exemplo, digamos que esse
é o nosso sistema de mísseis e essa é a rotação
em direção ao alvo, certo? E o que precisamos que aconteça, precisamos mudar a rotação do nosso sistema
de radar para essa rotação que ele tem em direção ao
local do alvo, certo? Então, como podemos fazer isso, existe um nó
chamado rotador Delta Então, isso
nos dará a diferença entre os dois rotadores, rotação do nosso míssil de radar e a rotação que ele
deveria ter, certo A rotação que deveria
ter é essa rotação que está entre o
sistema de mísseis e o alvo Mas a rotação
que ele já tem, podemos obtê-la, entramos no sistema de mísseis de radar da
BP e
obtemos a rotação de palavras de
nossa malha esquelética , certo?
Assim mesmo. Vamos colocá-lo aqui. E conecte-o assim. Então, esse rotador delta nos
dará a diferença
entre a rotação que nosso sistema de mísseis tem
atualmente e
a rotação que deveria ter em direção ao alvo, certo Agora, com isso feito, podemos quebrar esse rotador Delta, para que tenhamos acesso ao Yovt Esse ya é importante porque
mudamos a rotação desse sistema
de mísseis com base nessa rotação Ya em
torno do eixo Z. Clique com o botão direito do mouse
nela para ser transformada em variável, e eu quero
chamá-la de sistema de mísseis Rotação, certo? Dentro do sistema, da rotação, e eu quero conectar
a execução, fixá-la, se for válida
desta forma, e colocá-la aqui E agora, com isso feito, podemos ir ao
gráfico anim e conectar desse sistema de mísseis à
rotação Z ou
Ya, certo? Headcompile Nada vai acontecer.
Não se preocupe com isso. Agora, se formos para o nosso
nível e para o jogo Runo, você pode ver que nosso sistema de mísseis está olhando para o caça a jato Se você seguir em frente, você pode ver que está mudando sua
rotação porque nos
encontrou e
está olhando para nós. Vamos ver como
podemos testá-lo melhor. Se você fugir do jogo
e ejetar daqui, podemos subir e
dar uma olhada Se você clicar no avião de combate, você pode caber, você pode ver que ele
será destruído, mas
não se preocupe com isso. Onde quer que o avião de combate vá, você pode ver que nosso sistema de mísseis
está olhando para ele, certo? Isso é legal. Saiba que a
próxima etapa está concluída, mas não, é hora de disparar um
míssil contra um caça a jato Vamos ver, podemos fazer isso a seguir
77. Míssil 74 Sam: Nosso radar bloqueia um alvo em nosso F Aighteen e informa
o sistema de mísseis sobre esse
F Mas não, é hora de
atirar nesse alvo,
atirar em nosso caça a jato
com nosso sistema de mísseis Para fazer isso,
precisamos de um míssil com um projétil porque fizemos
isso para nosso avião de combate, podemos simplesmente copiar, colar
e usar isso e alterar a malha esquelética
porque é exatamente Então vá para o avião de combate, vá para a planta, e aqui, duplique esse
míssil BP com o Controle D,
e eu quero
chamá-lo de míssil SM,
SM é para míssil terra-ar SM é para É por isso que o chamamos de SAM. Não, eu quero arrastá-lo e
colocá-lo na blueprint da pasta SM, movê-lo para lá, o duplicado
, e ir para lá, certo? Não clique duas vezes
nele para abri-lo. Há algumas coisas
aqui que não precisamos. Por exemplo, essa rotação não
precisamos, certo? Não precisamos dessa câmera. Este braço de mola,
não precisamos dele, certo? Esse esqueleto, nós
não precisamos dele, certo? O que precisamos, precisamos
apenas de uma malha estética. Basta colocar uma malha estética. A malha estática que eu quero
usar é um míssil triplo. Deixe-me ir aqui para que você
possa ver melhor. Não, isso é uma malha estática, eu queria ser uma raiz, isso. E no Niágara, eu queria
ser filha da malha estática, e do áudio eu
queria ser filha da malha estática também É isso mesmo. Simples
assim, certo? Não, precisamos posicionar o
Niágara corretamente. No momento, está voltado para o lado errado porque
é uma malha estática. Não tem nenhum
osso dentro dele. Podemos simplesmente colocá-lo
onde quisermos, certo? Então, aqui primeiro,
vamos girar 180 graus e
reposicioná-la assim para a esquerda, um
pouco para cima Vamos ver
se está bom ou não, sim,
a posição em não é boa e nosso míssil está pronto, mas queremos acrescentar
algumas coisas a ele Por exemplo, aqui, quando o projétil parar, queremos aplicar algum dano em
qualquer cabeça desse míssil Como podemos fazer isso, é fácil. Podemos apenas dizer que aplique
danos. É isso mesmo. E precisamos dizer
qual ator deve ser danificado. Podemos conseguir isso com
o ator principal, o ator que atingimos, certo, que nesse
caso, na maioria dos casos, será o caça a jato,
mas se
ele atingir o solo, tentará
causar danos ao solo, mas porque o solo
não tem nenhuma ajuda, então não diminuirá, certo? Mas se ele atingir o avião de combate porque tem dano aplóide, ele aplicará algum dano ao ator
que está
atingindo Também precisa de um dano básico. Basta colocar dez, por exemplo, para não lá, e pronto. A próxima coisa que eu quero fazer. Quero clicar em nosso movimento de
projétil. Eu não quero mudar nada. Eu só quero ir
aqui e mudar a
magnitude da aceleração de localização para algo que não seja demais. Se aumentarmos muito, isso sempre nos atinge, certo? Então, precisamos colocar um valor
como 40.000 aqui. Então, às vezes podemos
contornar esse míssil, certo? Então, o jogo será mais fácil. Você pode jogar com esse valor até alcançar o
resultado desejado. Se você quer um jogo mais difícil, pode aumentar isso, certo? Não, a próxima coisa que eu quero
fazer é dizer,
se depois de 5 segundos, se depois de 5 segundos, esse míssil não
atingir nada, faça-o explodir, E como podemos fazer isso sempre que
o início do jogo acontecer, o que ele fará é primeiro verificar se o alvo é válido. Isso o colocará como lar no míssil
alvo, certo? Mas eu também quero fazer outra
coisa. Então, deixe-me pegar tudo isso
e adicionar uma sequência aqui, porque sempre que
esse míssil criado ou gerado Queremos destruí-lo após 5 segundos se ele não
atingir nada, certo? Então, aqui, eu quero definir um cronômetro
definido por evento, certo? E depois de cinco
segundos, por exemplo, podemos chamar esse
míssil de vida útil, certo? Então, podemos simplesmente arrastar
e soltar, promovendo uma vida útil variável do míssil E comece a compilar, eu
quero colocá-lo em cinco por enquanto, mas podemos alterá-lo mais tarde Não queremos que ele se repita de jeito nenhum. Mas sempre que esses
cinco segundos passarem, o que
queremos que aconteça é criar um evento personalizado. Eu quero chamar isso
de explodir, certo? Explodir. E o que
queremos que aconteça, queremos que tudo isso aconteça. Então, ele será destruído. Deixe-me criar algum
espaço aqui. Queremos ter uma explosão, um pouco de som, e
destruí-lo também. Então, podemos simplesmente copiar tudo isso e colar aqui, e com isso, estamos
criando uma explosão. Essa explosão precisa de uma localização, e esse som precisa de uma localização. Então, como podemos fazer isso, podemos obter a
localização do ator para isso, certo? Podemos simplesmente conectá-lo aqui e
também para o som. E é isso. Após 5 segundos, esse
míssil deve ser destruído. Mas para testar isso, quero clicar em Missile Lifetime e colocá-lo em dois ou três
para que possamos testar a sacola Se tivéssemos compilado, vá para o nível. O que eu quero fazer é pegar um desses mísseis como esse, girá-lo para cima,
levantá-lo um pouco Podemos girá-lo um
pouco mais. Agora, se você atropelar o
jogo após 2 segundos, ele deverá ser destruído. E você pode ver que depois de 2
segundos, ele foi destruído. Mas o valor que
queremos
atribuir à vida útil desse míssil, eu quero que seja cinco Espere 5 segundos
para atingir o alvo, mas se não conseguir, ele
será destruído. Você precisa alterar
esse valor posteriormente. Por enquanto, é só para testar.
78. 75 Fire Sam: Agora vamos ver como podemos disparar um míssil em nosso caça a jato Por fazer isso, deixe-me
mostrar algo para você. Nós temos algum sistema. Deixe-me abri-lo para que
eu possa mostrar a você o sistema de
mísseis de radar da BP, certo Aqui, onde estamos
atingindo o alvo. Estamos atingindo o alvo com este evento de míssil
definido, certo? Não precisamos dessa
impressão, certo? Então, aqui, temos
o alvo, certo? Aqui, não queremos disparar mais de quatro mísseis
ao mesmo tempo, certo? Então, precisamos de um cronômetro. Então, disparamos esse míssil a
cada 5 segundos, três segundos ou qualquer outra coisa, certo? Então, aqui, sempre que colocamos o alvo dentro desse sistema de mísseis de
radar, queremos ajustar um
cronômetro novamente, certo? Defina o cronômetro por evento. Digamos que, depois de 5 segundos, queremos que algo
aconteça, certo? E com esse evento, podemos criar um
evento personalizado e podemos chamá-lo de míssil de fogo, certo? Precisamos ativar
o loop, certo? Então, isso acontecerá até que esses quatro mísseis sejam disparados e não
queiramos recarregá-los A cada cinco segundos, esse
evento acontecerá. E aqui, a primeira coisa
que queremos verificar, queremos verificar se
o alvo é válido. Então dizemos que é válido, certo? E conecte-o assim. Se for válido, não, queremos verificar qual
míssil está disponível, certo? Então, vamos começar com M 1. Com um, verificamos
a visibilidade. Está visível ou fica visível, certo? Ambos funcionarão. Então, verificamos com uma
ramificação se o alvo é válido e o M está visível. Isso significa que podemos filmar
essa, certo? Mas como podemos filmar isso, podemos usar um
ator de spawn de uma classe E a classe que você quer
usar tem um míssil dentro dela. É chamado de míssil BPSM. Aquele que criamos juntos. Não para spawn transform. Novamente, podemos pegar o M,
neste caso, e obter a palavra
Transformar, certo? Obtenha uma transformação de palavras de mais de
N um, e pronto. Podemos conectá-lo a
uma transformação de amplitude. E para lidar com colisões, quero dizer sempre um
spa. Ignore a colisão É isso mesmo. Não, eu
preciso do alvo. O alvo é válido e podemos
simplesmente passá-lo para ele, certo? É isso mesmo. Isso é
tudo que precisamos fazer. Vamos testar isso também. Deixe-me mudar a
posição inicial do jogador, para que ele não atire
em nós imediatamente. E com a posição em que eu quero deletar
esse míssil também Não, vamos correr novamente. Não, você pode ver que ele não vai atirar em nós porque não
tem nenhum alvo, mas se seguirmos em frente, vamos ver o que vai acontecer.
Haverá um problema. Você vai aqui, você pode
ver, não, ele nos encontra, e você pode ver que ele
atirou em nós, mas foi destruído imediatamente. Você pode ver a cada 5 segundos que está atirando em nós. Você pode ver isso. cada 5 segundos,
ele atira em nós, mas colide
consigo mesmo e será destruído Então ele encontra o alvo, eu atiro em nós, mas ele é destruído sozinho. Vamos ver como podemos resolver isso.
79. 76 Colisões do sistema Sam: Agora vamos ver qual
é o problema. O míssil foi disparado, mas atingiu a si mesmo. Vamos até lá e
dê uma olhada. Você pode ver que geramos
um míssil exatamente nessa
rotação e localização, Então, vai se machucar. Dizemos ignorar a colisão, mas ela se atingiu sozinha, certo? Ele surgirá, mas
será destruído imediatamente. Então, vamos ver como
podemos corrigir isso. Para corrigir isso, vamos
ver qual é o problema. Se formos até nosso
míssil BPS aqui, se criarmos um pouco
de espaço aqui, é só para mostrar
o que está errado, certo? Então, aqui, estamos
atingindo algo e o projétil para imediatamente,
certo? Então, o que eu quero fazer usar uma string de impressora aqui, certo, e mostrar o nome do ator
principal. Obtenha o nome de exibição, ok? Compilar. Agora, vamos
seguir em frente, ver o que está atingindo, certo? Vamos em frente até que você nos
encontre, só isso. Você pode ver, está atingindo
o sistema de mísseis de radar, então está atingindo
o Então, vamos ver como
podemos corrigir isso. Para corrigir isso,
quero ir para Editar, ir para a configuração do projeto e deixe-me colocá-lo aqui. Para entrar em colisão, precisamos criar
algum canal de objetos Primeiro, para mísseis e depois para o
sistema de mísseis, certo Então, aqui, clique no canal
New Object, e eu quero chamar
esse míssil S. E precisamos
criar outro. Desta vez, quero
chamá-lo de algum sistema. Está bem? Então, sistema e
algum míssil, certo? Não, com isso, temos
algumas predefinições, certo? Tipo buraco de bloco,
orifício de sobreposição e tudo mais, certo? Não, queremos adicionar mais
algumas coisas. Por exemplo, vamos
clicar em Novo. Queremos criar
um para algum sistema. Então, coloque algum sistema para seu nome. E queremos permitir
a colisão porque devemos ser capazes de atirar nela
e destruí-la, certo? Portanto, a colisão habilita
o objeto de brinquedo porque é um sistema de soma Vamos colocar o
sistema de soma lá, certo? E precisamos desse sistema de soma
para bloquear tudo, mas ignore o míssil Sam, certo? Faz sentido, certo? Claro que precisamos criar
outro para algum míssil. Coloque um míssil S para o nome. Novamente, queremos
ativar a colisão, que ela
possa atingir qualquer objeto
do tipo, queremos colocá-la no míssil S e bloquear Mas o míssil S
e algum sistema. Queremos ignorar os outros mísseis
Sun e algum sistema. A cabeça aceita, e pronto. Agora, podemos ir ao nosso sistema de mísseis de
radar, selecionar a malha esquelética,
e aqui, este é o
nosso sistema de mísseis Portanto, precisamos alterar
a
predefinição de colisão para algum sistema,
mas ela não está lá O motivo pelo qual ele
não está lá em algum momento simplesmente
fechá-lo, salvar tudo e abri-lo novamente. E saiba que se você clicar
na malha esquelética, desça e clique na predefinição de
colisão aqui,
agora você pode vê-la Este é o nosso sistema SAM. Então eu vou colocar o sistema S lá, e eu vou fazer isso para todos
os mísseis que
estão lá, certo Então, selecione todos eles e
altere-os para algum sistema, certo? É isso mesmo. O
que quer que esteja dentro desse sistema de mísseis radiais
deve ser um sistema SM Não, vamos fazer isso
com um míssil. Não clique nele para abri-lo. A malha estática. Não, devemos ir para a seção de
colisão e trocá-la por algum míssil Não, vamos apenas contar. Se você terminar o jogo,
haverá um problema. Você pode ver essa grande esfera. Está colidindo
com o míssil. Então, vamos ver
o que vai acontecer. Ele nos encontrou,
e você pode ver que está gerando fora desta
esfera e o destruindo lá Você pode ver isso. Está
destruindo tudo lá Então, o que
precisamos fazer é ir ao nosso radar. Deixe-me encontrar nosso radar P. E essa maior esfera, precisamos mudar sua colisão. Diz que se sobrepõem a todas as dinâmicas, mas queremos dizer que se
sobrepõem a E agora está bloqueando o novo perfil
que estamos criando aqui. Você pode ver alguns mísseis
e algum sistema. Então, precisamos corrigir
isso. Para sobrepor, clique nele e peça para ele sobrepor esses dois também
ou ignorá-los, O calor aceita, e precisamos fazer isso
para o radar da BP. Aqui, queremos
alterá-lo para sobrepor O, e precisamos fazer isso também
para F 18 Então vá para Blueprint. Dezoito, temos uma
grande colisão de caixas. Precisamos alterar a predefinição de
colisão para sobrepor tudo porque
estamos apenas usando a
sobreposição Então é isso. Agora, vamos
testar isso mais uma vez. Seguimos em frente para ver
o que vai acontecer. E agora, você pode ver que
está nos atingindo, certo? Novamente, vamos só por um segundo. Você pode ver que está nos atingindo, e isso é lindo Isso é muito bonito.
80. 77 Correção de bug do sistema de mísseis: Não há nenhum problema que
ocorra aqui. Vamos ver. Aqui, eu quero atropelar o jogo. Vamos entrar nela. Vá lentamente para dentro dela. Eu não quero ir rápido. Então, vou usar alguns freios
para que não suba para o céu. Você pode ver que o
sistema de mísseis não está olhando para nós. Está tentando nos atingir, mas não está olhando para
nós. Por que isso está acontecendo. Se formos para o sistema de mísseis ABP, você pode ver que estamos atingindo o alvo no
início, certo E não vamos conseguir
isso depois disso, então isso não vai acontecer. Então, como podemos corrigir isso,
precisamos apenas excluir esses dois. Isso é só um grande.
Como eu quero fazer isso, quero tirar o
alvo daqui. Então pesquise por
Target, pegue o alvo aqui e
verifique se ele é válido ou não. Aqui, estamos usando a variável
alvo. Mas, novamente, quero obter o alvo do nosso sistema de mísseis de
radar Por isso, ele estará sempre atualizado. Esse é um bug que nós
corrigimos com muita facilidade. Agora, com isso feito, não
precisamos dessa variável, podemos simplesmente excluí-la,
compilar e executar o jogo Não, se você avançar lentamente, não vá para o céu. Você não precisa fazer isso. Então, escreva um pouco. Não, vamos ver se está olhando para
isso agora, você pode ver que está de frente para nós. Então, isso está funcionando bem. Não, pois o problema foi corrigido. Mas outro problema é que
os mísseis desapareçam, mas não é escondê-los Então, eu quero te dar
isso como um desafio. Em nosso
sistema de mísseis de radar, estamos verificando. Se estiver visível, atire,
mas não o tornamos invisível. Era só para testar, mas não, queremos torná-lo invisível
e fotografar em outros. Então você tenta fazer isso, e nós faremos isso no próximo vídeo.
81. 78 destroy caça: Não, o míssil pode
atingir o avião de combate, mas não o está destruindo Vamos ver como podemos
destruir nosso caça a jato. Para fazer isso, eu
quero ir para o BPF 18, e aqui, vamos ver
onde o estamos destruindo Quando a força G está
chegando a mais de dez, estamos destruindo o avião de
combate, certo? E você pode ver que tudo
isso vai acontecer. Sei o que eu quero fazer. Você lembra que
no míssil BPSM, quando atingimos alguma coisa,
aplicamos um dano de dez, certo Podemos conseguir esse evento. Como podemos obtê-lo, podemos dizer
evento, qualquer dano, certo? Portanto, se estivermos usando danos
aplicados, neste evento, qualquer
dano acontecerá. E com isso,
sempre que isso acontecesse, podemos destruir o jato apenas
conectando-o assim. Vou criar uma explosão, ela emitirá um som, vou desligar o motor. Eu farei tudo por nós. Não, vamos dizer
stato se rodarmos um jogo, então avance, vá para o céu, que ele
possa nos atingir, certo? Não, ele nos encontrou. Vamos ver se isso pode nos atingir. E agora você pode ver
que nos atingiu, certo? Então isso é bom. Mas queremos reiniciar o jogo quando
formos destruídos. Como podemos fazer isso depois destruir o avião de
combate aqui, podemos definir um cronômetro como esse,
definir um cronômetro por evento Por exemplo, depois de três
segundos em que fomos destruídos, queremos criar um
evento personalizado, um evento personalizado. E eu quero dizer
reiniciar o jogo, certo? Então, depois de três segundos, esse evento acontecerá, e queremos reabrir
o nível novamente e reiniciar. Abra o nível por nome. O nome é New Map. Vamos colocá-lo
lá. Novo mapa. É isso mesmo. Esse é o nosso nível. Nós podemos recarregá-lo. Agora, se você atropelar o jogo, vamos seguir em frente
novamente. E suba. Se eles nos encontrarem, ele
nos criará e a poeira após 3
segundos será recarregada Então, isso está funcionando bem. Conheça o problema principal. O principal problema é que, em
nosso sistema de mísseis de radar da BP, estamos atirando apenas no NO O que queremos fazer
depois de filmar o
NO tornar
o MO invisível. Então pegue o MO e
defina a visibilidade, certo? Para direcionar a visibilidade de uma toca
falsa ou principal, certo? Agora, feito isso, se rodarmos nosso jogo, atirarmos em nós uma vez, porque
estamos marcando apenas M um
e isso é um problema. Precisamos adicionar dois ent e quatro também.
Vamos apenas esperar. Não nos atingiu dessa vez, explodiu um pouco. Estamos pairando agora. Você pode ver que não está
mais nos machucando porque
não tem nenhum míssil Vamos descer
e dar uma olhada. Você pode ver, um
dos mísseis é disparado, então isso é bom, e
ele será Agora, queremos criar um
sistema de mísseis para
nosso sistema de mísseis de radar
disparar e dois e
três e quatro Você tenta fazer isso. Faremos
isso no próximo vídeo juntos.
82. 79 disparar todos os mísseis: Não para disparar outros mísseis. Vamos ver como podemos fazer isso. Aqui, verificamos se
o M é invisível, significa que filmamos o M. Então, neste caso, queremos
verificar os dois, certo? Não precisamos fazer um por um. Podemos simplesmente copiar e
colar tudo isso, certo? Precisamos usar muito copiar
e colar. Então, neste caso, se um não estiver visível, então não podemos fotografá-lo, devemos ir para dois. Então, tudo isso, queremos mudá-lo para
dois, como este aqui dois. O alvo é o
mesmo e aqui dois. É isso mesmo. Precisamos fazer isso uma, duas vezes mais aqui
por três e quatro. É claro
que, novamente, podemos usar matrizes, mas não quero dificultar
isso para iniciantes Então, este é para t. Então, vamos fazer a
entrada e a árvore aqui. Não, este é para
quatro e quatro e quatro. Não, ele vai atirar em
nós quatro vezes, certo? Não, para testar isso, eu quero ir para o nosso
nível e fazer com que nosso jogador comece de novo e o traga para cá, certo? Em F, para que você possa ver melhor. Se eu for assim, se eu correr, você pode ver, eu vou atirar no
primeiro, olhe para ele. É isso mesmo. Não, ele
filmará o segundo. Não pode nos atingir porque é. Não, os dois se foram. Depois disso, três acontecerão. É isso mesmo. E depois disso, o
M quatro acontecerá, certo? Legal. Não, todos os mísseis estão
sendo disparados com A próxima coisa que
queremos fazer é
poder destruir o sistema de mísseis Vamos ver como podemos fazer isso. Próximo vídeo. Isso pode ser
um desafio para você.
83. 80 Destrua um sistema de mísseis: Então, para destruir o
sistema Sam, como podemos fazer isso. Para fazer isso, precisamos
acessar o sistema de mísseis de radar da BP, clicar em nossa medida esquelética
ou sistema de mísseis de radar
e adicionar a etiqueta aqui, e adicionar a etiqueta Adicione a tag do alvo. Então, podemos atacá-lo, certo? Só com isso. Isso é mais do que suficiente, certo? Vamos para o nosso nível, trazer de volta o avião de combate, correr. Agora, você pode ver que estamos alternando entre
esses dois alvos. É isso mesmo. Basta adicionar uma tag. Mas agora, se você
atirar nele, nada vai acontecer. Vamos seguir em frente. Você pode
ver que nada está acontecendo. Então isso é um problema. Para destruir nosso sistema de radar, novamente, precisamos
fazer a mesma coisa Sentimos que o radar está danificado. Então, vamos clicar com o botão direito do mouse. Vá para o plano
do tipo de ator, e eu quero chamá-lo de sistema de mísseis
danificado P. D clique nele para
abri-lo aqui. Precisamos
primeiro adicionar uma malha estática e colocá-la aqui. E a malha estática é chamada de árvore ASA da
SMEs danificada. Você pode ver isso aqui.
Esse é o danificado. Há três dessas faixas, e isso parece bom, certo? Portanto, também precisamos adicionar um gráfico
sem. Portanto, adicione um sem gráfico. É isso mesmo. E o que
você deseja usar está danificado pelo
NSA SAT, e pronto Nós o criamos com sucesso. Não, se formos ao sistema de mísseis de
radar da BP, o que precisamos fazer é fechar esta etiqueta Queremos clicar em
nossa malha esquelética e ir para a
seção de colisão aqui até simular a
geração do evento de impacto Então faça isso. Agora, com isso feito. Se cairmos, teremos
um impacto sem componentes. Crie isso. Se
algo acontecer, queremos gerar um
ator da classe,
o ator que queremos
criar se chama BP, sistema de mísseis danificado A transformação, podemos
fazer com que o ator se transforme, fazer com que o ator se transforme.
Isso é mais do que suficiente. E depois disso, podemos destruir completamente
esse sistema de mísseis Está bem? Agora, vamos resolver isso. Se atropelarmos o jogo, vá em frente. Para subir e atirar. E agora, você pode
ver que se eu for lá, você pode ver que está destruído. Vamos destruir
o radar também. Gostar. E o estoque. Então você pode ver que
os dois estão destruindo, e você pode ver isso com
mais clareza, certo? Tudo legal. Você pode ver que os dois estão
destruídos e com boa aparência. E eu tenho uma manobra lá. Acho que parece bom, certo? Então, agora estamos destruindo radar
e o sistema de
mísseis Podemos preencher nosso mapa com esses sistemas de radar
e mísseis