Nesta palestra, continuaremos trabalhando com sistemas de waypoint, mas eu queria
mostrar o carro A. mais avançado. EU. que vem com os Ativos padrão da Unity.
Então, iniciei um projeto aqui e adicionei minhas esferas vermelhas, que adicionei a um WPCircuit, que é um
objeto de jogo vazio. Todas as esferas são crianças. Para obter o waypoint e o código
do circuito do waypoint e também o carro, você precisa trazer dois pacotes importados. Até Ativos, clique em 'Importar Pacote',
o primeiro que você deseja é 'Utilitário'. Esse possui o circuito do waypoint e o rastreador de progresso
do waypoint - apenas importe a coisa toda. O outro que você
deseja trazer é o Ativo padrão> Veículos.
Então, adicione essas duas coisas ao seu projeto.
Em seguida, configuraremos nosso circuito atual, portanto, o script que queremos procurar é o WaypointCircuit.
Aí
está e eu vou arrastar e soltar isso no objeto WPCircuit e
depois lembrar que nós [Atribuímos usando todos os objetos filhos] assim e isso me deu um circuito muito bom, que está
todo unido e em ordem. Lembre-se de que o seu está com problemas,
você pode reordená-los aqui para obter o que deseja ou também pode movê-los fisicamente na Cena.
Agora o A. EU. O carro que vem com ativos
padrão (eu já o encontrei aqui porque procurei por
waypoint) é chamado CarWaypointBased e você pode encontrar isso em Veículos em ativos padrão. Se você descer em Veículos> Carro> Pré-fabricado
e ele também estiver lá, pegue o carro e leve-o à sua cena.
Agora, este carro aqui está configurado com muitas coisas complicadas, no que diz respeito ao som e às
colisões, então provavelmente não queremos encolhê-lo ou ampliá-lo para se adequar ao nosso circuito, em vez disso, devemos mudar nosso circuito e
torná-lo um pouco maior.
Então, eu vou fazer isso rapidamente.
O carro em si é cinza e você pode pensar que as texturas estão faltando, mas essa é
a cor real do carro.
Se você quiser mudar isso, terá que encontrar o material e colocar outra coisa em cima dele.
Mas, por enquanto, continuaremos com o padrão. Mais adiante, mostrarei como usar outro carro
com esse mesmo sistema, não apenas o carro da Unity.
Certo, então selecione o carro na Hierarquia.
Dê uma olhada no Inspetor e role para baixo e você encontrará o Waypoint Progress Tracker já
conectado a ele,
para que você não precise adicionar um novo.
Ele está querendo o circuito como usamos antes e o circuito é o único com todas as
esferas, então arrastaremos e soltaremos lá.
Agora o carro tem seu próprio 'alvo de waypoint' que vem com ele.
Se você clicar nisso, poderá encontrá-lo
em Helpers> WaypointTargetObject.
Este carro é bastante complexo, possui coletores, luzes e todo o tipo de coisas.
O modelo atual do carro está sob o SkyCar e é o corpo que tem o shader atual aplicado a
ele.
Eu acho que se você não quiser que ele seja cinza, você pode torná-lo vermelho ou, vamos lá com roxo brilhante.
Nesse ponto, podemos pressionar Play e dar uma olhada no comportamento do carro nas configurações padrão.
Depois de um tempo, ele fica um pouco fora de controle e começa a perder os pontos
de referência, e isso seria por causa de seus hábitos de frenagem, aceleração e todas as coisas que ele programou
para ele.
Você pode ver aqui, agora é bastante irregular.
Se pararmos e voltarmos e selecionarmos o carro e, no Inspetor, rolar para baixo
até o script Car AI Control, você verá todas as configurações diferentes que
podem ser usadas para personalizar seu A. EU. e se eu arrastar isso, poderei vê-los
um pouco melhor.
Então você tem coisas como Cautious Speed Factor (então, quão
rápido você quer que o carro vá quando está sendo cauteloso) e cauteloso é o que falamos antes com a frenagem, quando você
está chegando a uma curva, como quanto
você quer que seu carro desacelere.
Há outras coisas como Steer Sensitivity ... Sensibilidade de aceleração ... todas essas coisas são definidas
no script.
Se você abrir esse script e dar uma olhada, aqui embaixo, ele irá dizer nos comentários o que cada
um deles fará.
Mas não vamos passar por tudo isso.
Você pode ler você mesmo.
A melhor maneira de determinar o que eles fazem é brincar e observar o comportamento conforme você os altera. Então, basta pressionar Play
...
e vamos assistir o carro enquanto ele gira.
Portanto, esses são os valores padrão
que eu tinha antes e alterarei a velocidade cautelosa, diminua isso.
Você pode ver que o carro agora diminuiu a velocidade, é muito mais cauteloso ao entrar nas curvas e porque
há muitos pontos de passagem
para ele atingir, está constantemente travando e diminuindo a velocidade. Você também pode alterar a distância máxima em que deseja ser
cauteloso.
Então, provavelmente poderíamos reduzir para 10, o que permitirá acelerar mais entre eles e travar com bastante
força quando se aproxima de um canto.
Então você pode ver o comportamento diferente que você chegou lá.
Agora você pode gastar muito tempo sozinho brincando com todos esses valores para ver
o
que eles fazem e pode adicionar vários carros como fizemos antes, apenas pressionando Ctrl-D neste carro e obtendo outra cópia
de e pressionando play e você terá dois carros. No código, se você estiver interessado em
dar uma olhada, ele também evita outros carros, mesmo
que o sistema de física os impeça de esbarrar um no outro.
Então esse é o nosso carro roxo, deixe-me excluir isso.
O que vamos fazer é usar nosso próprio modelo de carro e seu próprio carro precisa ser configurado da maneira certa.
O carro em si (se olharmos mais de perto) as rodas são objetos separados da carroceria
do carro, e o script permite que eles girem e também possuem diferentes coletores.
Portanto, se você trouxer seu próprio modelo, ele precisa ter rodas separadas e elas também precisam estar voltadas para o mesmo
lado.
Então, dê uma olhada no sistema de eixos nesta roda específica.
O vetor de avanço das rodas precisa estar apontando nessa direção; caso
contrário, você acabará com rodas estranhas que giram na direção errada, que pode ser a aparência que
você procura.
Mas se você quer um carro normal, tem que ser assim.
Agora podemos obter um exemplo rápido de um carro que atenda às nossas necessidades na
Asset Store e este é o pequeno carro laranja gratuito que eu uso principalmente nos meus exemplos.
Se você ler a descrição, verá que ela diz que possui rodas separadas para que você possa animá-las com
o sistema de simulação de veículos, que é o que estamos usando.
Então vamos pegar o carro de lá. Você também pode trazê-lo de outros projetos
que criamos também.
Agora, quando o carro finalmente entrar, na Cena, queremos arrastar e soltar o carro e
colocá-lo por cima do veículo existente.
Então deixe-me encontrá-lo ... CartoonCarFree> Prefabs Aqui
está.
Vamos trazê-lo e colocá-lo com outro carro.
Agora ele precisa estar
voltado para a mesma direção, então deixe-o girar.
Queremos posicioná-lo como um filho do objeto CarWaypointBased (atualmente é o carro roxo) porque
ele possui todos os scripts e coletores e basicamente vamos reutilizá-los todos.
Portanto, agarre seu FreeCar e arraste e solte-o e faça dele um filho do objeto CarWaypointBased.
Agora você tem o SkyCar e o FreeCar. Com o carro grátis lá, você
deseja posicioná-lo em 0,0,0 em relação ao carro roxo ... assim e provavelmente queremos redimensioná-lo
neste momento porque é um pouco pequeno, então vamos apenas pressionar a tecla R, selecionar
nosso carro e apenas torná-lo um pouco maior.
Estou procurando as rodas do mesmo tamanho.
Tudo certo.
Então, a partir daí, também vou avançar um pouco.
Curtiu isso... ok,
não é tão ruim.
Agora, a próxima coisa que você precisa fazer é ajustar as rodas. As rodas são a força motriz do carro.
A primeira coisa que vamos fazer é alinhar os coletores e os cubos das rodas com as rodas do
carro laranja.
Então, vamos até o objeto pai, o CarWaypointBased, e examinamos o Inspector e você
procura os coletores de roda, aqui e as malhas da roda.
Então, esses são os colisores de cada roda no carro roxo.
As malhas das rodas são as próprias rodas,
e é por isso que elas precisam ser objetos separados.
Agora, essas rodas do SkyCars. Vamos substituir aqueles por nossas rodas FreeCar. Então, solte o carro gratuito aqui
e o
que você quer fazer é pegar cada roda e arraste-a para a posição correta aqui.
Então, o primeiro que ele quer é a roda
dianteira direita, por isso é uma questão de descobrir qual é a roda dianteira direita.
Na verdade, eu poderia apenas renomear esses ... quando você os tiver, volte ao objeto pai e deseje arrastar e soltar
todos eles no local certo.
Então, o primeiro é
a
Frente Direita e, em seguida, a Frente Esquerda e a Traseira Direita e
a Traseira Esquerda.
Certo.
Neste ponto, se jogarmos, o carro não vai a lugar algum, mas não por falta de tentativa. Se formos para a exibição de cena, podemos
dar uma olhada no que está acontecendo.
Então, vamos mudar isso e ampliar.
Então, temos dois carros, as rodas do carro laranja estão agora sobre o topo das rodas roxas, que
é onde queremos que elas estejam. Portanto, esse sistema de veículo moverá os modelos de roda do
carro laranja porque os atribuímos.
Agora, a questão de por que isso não está indo a lugar algum é porque o carro laranja tem um colisor de caixas e
esse colisor de caixas (se conseguirmos chegar perto o suficiente) está no chão.
Então ele caiu no chão e basicamente impede o carro de ir a qualquer lugar.
É incapaz de avançar.
Portanto, a solução mais fácil é selecionar seu FreeCar e desmarcar o Box Collider
ou você pode removê-lo completamente.
Vamos jogar e dar uma olhada nisso.
Agora o carro laranja vai dirigir e está sendo dirigido por suas próprias rodas no carro roxo.
Então, vamos pausar isso por um segundo e dar uma olhada no que está acontecendo aqui também. Você não pode ver as rodas laranja dos carros muito
bem por causa do carro roxo, então selecione o SkyCar e desmarque-o,
desligue-o para que não possamos vê-lo.
Como eu disse antes, as rodas do carro laranja agora estão assentadas nos locais do carro roxo e
precisamos movê-las para que elas fiquem naturalmente dentro da carroceria do modelo de carros.
É aí que esses cubos de roda (que fazem parte do sistema de carros) entram em jogo
e há quatro deles, que você pode ver lá. Se você selecionar apenas um deles (vamos pressionar a tecla W para
que possamos descobrir onde está).
Este é o direito dianteiro e está posicionado próximo ao direito dianteiro do pneu ...
mas está posicionado próximo à parte dianteira direita do pneu do carro PURPLE.
Queremos movê-lo para que ele fique posicionado na frente direita do carro ORANGE.
O SkyCar em si é bastante supérfluo neste momento, porque não vamos usá-lo, então apenas
desativarei isso.
Você pode excluí-lo.
Vamos voltar ao nosso WheelHubs (este é
o nosso Front Right) e ver onde ele está. Então está posicionado lá.
Precisamos segurá-lo e movê-lo, para que fique bem sobre o nosso pneu de carro laranja existente.
Você quer fazer isso com cada um desses hubs, então eu vou fazer isso rapidamente ...
Tudo bem, com isso feito, agora podemos pressionar Play e pausar novamente para encontrar rapidamente o nosso carro ... e você pode ver que
as rodas não se afastaram da carroceria do carro laranja.
Finalmente, apenas para o sistema de física, se pegarmos o carro novamente, entraremos na seção Colliders, que fica
sob o CarWaypointBased ... o primeiro no topo.
Dentro você tem um ColliderBody, um ColliderBottom e um ColliderFront e todos são configurados com
base na geometria do carro roxo. Se você quiser encaixá-los perfeitamente sobre o seu carro laranja,
o que lhe dará colisões mais realistas com este, então você apenas as modifica.
Portanto, este é o corpo do carro que está atualmente ... lá.
Então vamos aumentar um pouco ...
e mova para cima.
Depois, há o colisor frontal, que está em um ângulo que você pode ver lá.
Não é tão ruim.
Eu poderia subir um pouco ... e você pode ajustar isso como quiser.
Depois, há a saia inferior, que você pode ver lá, que é bastante baixa para o carro laranja.
Mais uma vez, você pode movê-lo para cima, para que fique no fundo ...
assim e provavelmente também precisa ser um pouco mais curto.
Lá.
Tudo certo.
Essa é toda a configuração que você precisa fazer para o seu carro personalizado no sistema de simulação de veículo que
acompanha a unidade.