Como fazer pulo no Unity - Tutorial

  Рет қаралды 10,886

Programando Games

Programando Games

4 жыл бұрын

Nesse tutorial eu ensino como criar pulo para jogos.
Aprenda a criar um FPS - COMPLETO - PASSO A PASSO e DO ZERO:
🔻
go.hotmart.com/B85475801M
🔺
REFERÊNCIAS
Músicas e vídeos
Reach for the Summit [8-Bit; 2A03] - Celeste (branflakes) • Reach for the Summit [...

Пікірлер: 69
@kubartm
@kubartm 4 жыл бұрын
Parabéns pelo vídeo. Bem legal sua lógica. Num cenário que uso Rigibody seria possível implementar esse tipo de feature? Obrigado
@ProgramandoGames
@ProgramandoGames 3 жыл бұрын
Muito obrigado Trabuk! A resposta é sim, é possível utilizar a mesma lógica usando rigidbody. No entanto, não é recomendado fazer isso modificando diretamente a velocidade, igual faço no vídeo. Como está descrito na documentação:"In most cases you should not modify the velocity directly, as this can result in unrealistic behaviour". O rigidbody é baseado numa simulação realística de modelos físicos de corpos rígidos, modificando diretamente a velocidade, vc estará "inserindo" um valor no meio da simulação, o que vai interferir nos processos e causar comportamentos inesperados. A solução é modificar diretamente a gravidade da engine de física, Physics.gravity, utilizando o mesmo calculo que faço no vídeo: Physics.gravity = ((-2 * maxHeight) / Mathf.Pow(timeToPeak, 2)) * Vector3.up; // multiplicado pelo Vector3.up pois gravity é um vetor. jumpSpeed = Physics.gravity.y * timeToPeak; Depois, pra alterar a velocidade do objeto, tem que usar a função AddForce, com o modo Force.VelocityChange, pois vc quer modificar a velocidade diretamente: AddForce(-jumpSpeed * Vector3.up, ForceMode.VelocityChange); Fiz uns testes aqui e funcionou perfeitamente, os parâmetros da altura máxima e tempo continuam funcionando como deveriam. Achei legal pois nunca tinha testado com o rigidbody, obrigado pela dúvida, foi bem divertido resolver! :D Qualquer coisa só chamar!
@kubartm
@kubartm 3 жыл бұрын
@@ProgramandoGames Muito Obrigado. Consegui fazer funcionar, valeu mesmo.
@crijogos
@crijogos 2 жыл бұрын
​@@kubartm Olá, onde coloca a parte do: AddForce(-jumpSpeed * Vector3.up, ForceMode.VelocityChange);
@giovanniprosim
@giovanniprosim 4 жыл бұрын
Explicação muito clara e bem ilustrada com os exemplos e mudanças de parâmetro durante a execução. Foi uma boa ideia dar "voz" ao personagem ficou engraçado. Ótimo vídeo 👏👏👏
@ProgramandoGames
@ProgramandoGames 4 жыл бұрын
Valeu giovanni!
@RenanGimenez13
@RenanGimenez13 3 жыл бұрын
Mano, esse video ta PERFEITO. O melhor tutorial que eu ja vi de movimentação 2D na unity. Parabéns irmão
@raphaelgibson6555
@raphaelgibson6555 2 жыл бұрын
Que vídeo maravilhoso, cara! Muito obrigado por compartilhar seu conhecimento!!
@brendosantiago8579
@brendosantiago8579 4 жыл бұрын
Cara parabéns mesmo! Sou iniciante e já estava a uma semana quebrando cabeça com um pulo legal. Ganhou mais um inscrito.
@ProgramandoGames
@ProgramandoGames 4 жыл бұрын
Valeu Brendo! Que bom que consegui te ajudar, logo vai ter mais vídeo assim desse tipo de implementação mais básica. Se tiver qualquer dúvida ou sugestão de vídeo só deixar ai! Obrigado pela força!
@ManoAiron
@ManoAiron 2 жыл бұрын
Rapaiz nunca tinha visto esse Character Controller!
@nicolasfernandodesouza7800
@nicolasfernandodesouza7800 2 жыл бұрын
Eu tmb hehe, só usava o RigidBody...
@xubenka
@xubenka 4 жыл бұрын
ficou muito bom mesmo, eu sempre tive problemas em desenvolver o pulo porque não tinha controle direito da distância máxima e sempre achava ele meio lento quando caia, mas com seu vídeo aprendi como resolver isso, parabéns :-)
@ProgramandoGames
@ProgramandoGames 4 жыл бұрын
Valeu Xubenka! Se tiver sugestões de algo pra implementar, só falar.
@kilpkgames9770
@kilpkgames9770 3 жыл бұрын
Melhor tutorial do assunto....
@13mzm
@13mzm 6 ай бұрын
obrigadoo, que video foda
@nightx_6399
@nightx_6399 3 жыл бұрын
Aula incrível 😃
@ProgramandoGames
@ProgramandoGames 3 жыл бұрын
Valeu nightX! 😁
@portariaminiclip4128
@portariaminiclip4128 11 ай бұрын
Excelente video
@fuji_0431
@fuji_0431 4 жыл бұрын
Melhor Explicação Ganhou um inscrito e espero mais videos
@ProgramandoGames
@ProgramandoGames 4 жыл бұрын
Valeu Fora da Caixa!
@BeatLevelUp
@BeatLevelUp 3 жыл бұрын
Adorei o Tutorial, Usando a Matemática fica tudo perfeito, o script que eu tinha feito, tava péssimo em relação ao pulo, isso me ajudou bastante...Preciso Urgente melhorar meus conhecimentos em Matemática.
@ProgramandoGames
@ProgramandoGames 3 жыл бұрын
Valeu Matheus! Realmente, a matemática é a linguagem perfeita pra descrever muitas coisas dentro dos jogos. Até me deu uma ideia, talvez eu faça uma série mostrando técnicas de matemática essenciais para programadores de jogos... ; )
@rodrigoc3871
@rodrigoc3871 2 жыл бұрын
Muito da hora a aula, eu gostaria de fazer um pulo variável com Jump Buffering. Acho que seria top se você fizesse uma aula ensinando.
@orangotango_santificado_6463
@orangotango_santificado_6463 3 жыл бұрын
me ajuda porque eu to a um tempão tentando ajeitar mas n consigo eu fiz o script direitinho mas quando coloco no unity n consigo mover o player porque isso ta acontecendo
@dafferman
@dafferman 3 жыл бұрын
Vc poderia fazer um tutorial de como colocar esse rastro? Ele ficou muito bom cara!
@glossantoss
@glossantoss 2 жыл бұрын
Usando a lógica da equação e pondo ela em forma de código ficou bem didático, não entendo muito de C# mas entendi a lógica da programação do pulo, gravidade e tempo aplicada ao código
@ProgramandoGames
@ProgramandoGames 2 жыл бұрын
Essa é a ideia Guilherme! Conseguir entender a lógica independente da linguagem. Dessa forma vc consegur aplicar em qualquer ferramenta. Mto bom!
@Mr.Rafael2005
@Mr.Rafael2005 Ай бұрын
O video é meio antigo, mas ainda ssim vou perguntar, pq usar o character controller e não o rigidbody? Algum tem alguma vantagem sobre o outro ou é questão de escolha?
@dafferman
@dafferman 3 жыл бұрын
Bom demais
@ProgramandoGames
@ProgramandoGames 3 жыл бұрын
Valeu Dafferman! :D
@SoGabrielMesmo
@SoGabrielMesmo 2 жыл бұрын
alguém me da uma força, eu fiz o codigo todo certo e ele está "funcionando", tanto que o visual code nem o unity reconhecem erro nenhum, mas não acontece nada quando eu aperto nos botões, que era pra reconhecer como "a" ou "d", nada acontece
@vanboorish8065
@vanboorish8065 3 жыл бұрын
valeuu
@relativistico3794
@relativistico3794 3 жыл бұрын
Você usou cálculos de física 🙀 amei
@ProgramandoGames
@ProgramandoGames 3 жыл бұрын
Física é vida 😁
@migatte5141
@migatte5141 4 жыл бұрын
faz um tutorial de como fazer um movimento tipo de uma flecha jogada pra cima e batendo bem onde foi calculada sabe
@ProgramandoGames
@ProgramandoGames 4 жыл бұрын
Bem legal essa ideia Megatte! Com certeza farei um vídeo sobre isso. Valeu pela força!
@RenanGimenez13
@RenanGimenez13 3 жыл бұрын
A colisão só funciona se o colisão do chão for 3D?
@brendosantiago8579
@brendosantiago8579 4 жыл бұрын
Cara estou com uma duvida, como faço para o Character Controller colidir com um tillemap? Só consegui fazer ele colidir com o SPRITE igual tu criou aí, mas quando tento no TILEMAP ele não colide.
@ProgramandoGames
@ProgramandoGames 4 жыл бұрын
Obrigado pela pergunta Brendo! Verifique se o boxcollider que ta no tile é 2D, se for, pode ser isso, pq o character controller usa uma capsule, que é 3D, entao eles nunca vao colidir pq falta a dimensão z no collider do tile. Caso seja uma boxcollider2d mesmo, trocando pela boxcollider deve resolver : ) depois me diz se funcionou!
@RenanGimenez13
@RenanGimenez13 3 жыл бұрын
Como faz pulo duplo?
@Lulpe
@Lulpe 2 жыл бұрын
Muito bom o video, mas tem como fazer para quando o personagem colodir com um objeto acima dele ao inves de ele continuar indo pra cima ate o tempo acabar, ele descer assim que colidir com o objeto acima
@ProgramandoGames
@ProgramandoGames 2 жыл бұрын
Valeu Luiz! Tem sim, nesse meu outro vídeo aqui, eu explico como fazer isso. Como eu uso o character controller nos dois, a técnica é a mesma, basta replicar. Segue o momento em que eu explico: kzfaq.info/get/bejne/lbyFo6l3u66-hoU.html
@Lulpe
@Lulpe 2 жыл бұрын
@@ProgramandoGames Muito obrigado pela resposta,agora sim poderei continuar meu projeto :)
@StevonFerreira
@StevonFerreira 3 ай бұрын
porque você não coloca o script na descrição?
@ManoAiron
@ManoAiron 2 жыл бұрын
E sobre sempre falarem pra fazer calculos da física da Unity no FixedUpdate?
@Anonimo98734
@Anonimo98734 2 жыл бұрын
isso é valido apenas para rigidbody. nesse caso está usando o character controller, e fazendo coisas para simular a gravidade. e se usasse o fixed, o movimento ia ficar mais travadão.
@ManoAiron
@ManoAiron 2 жыл бұрын
@@Anonimo98734 valeu!
@beatrizmagri9484
@beatrizmagri9484 3 жыл бұрын
em um notebook d 2009 da pra fazer ? ano q vem eu compro outro vídeo muito bom mesmo parabéns
@ProgramandoGames
@ProgramandoGames 3 жыл бұрын
Olá Beatriz! Nessa página vc consegue baixar todas as versões anteriores do Unity: unity3d.com/pt/get-unity/download/archive Tenta ir comparando as versões com os requisitos do seu notebook, quando encontrar alguma próxima instala e vê se roda :D Caso dê algum problema de compatibilidade com o tutorial, só me avisar que eu te ajudo. Até o/
@joshd4290
@joshd4290 3 жыл бұрын
estou tendo um problema, após eu criar o if (controller.isGrounded) o personagem não consegue mais pular, ele só sobe bem pouco e volta pro chão, provavelmente a resposta é bem besta, mas eu to a quase 2h procurando a resposta e não achei, por favor me ajude
@fuji_0431
@fuji_0431 3 жыл бұрын
O meu nem sai do chão kkkkk to a 3 dias tentando arrumar isso
@eduardothadeu4959
@eduardothadeu4959 3 жыл бұрын
Alguem sabe resolver o meu problema? aq ele n reconhece o Vector2 n sei se perdi alguma parte mas ele n muda a cor ele fica em branco como se fosse qualquer
@ProgramandoGames
@ProgramandoGames 3 жыл бұрын
Fala Eduardo, tudo bem? Isso é um bug do visual studio, que não consegue detectar o Unity, vi que tem acontecido com algumas pessoas e a solução pra resolver isso é meio desconhecida ainda. Isso também pode acontecer se vc colocou acento ou caracteres especiais no nome do seu projeto Unity. Verifique se é isso. Qualquer coisa só falar, desculpe a demora em responder, as vezes me perco nos comentários e acabo deixando um ou outro passar.
@eduardothadeu4959
@eduardothadeu4959 3 жыл бұрын
@@ProgramandoGames de boa kkkkk eu fui tentar dps e foi mt obg pelo tutorial e pelo suporte
@fuji_0431
@fuji_0431 4 жыл бұрын
Tem como ensinar a fazer uma camera de 3 pessoa como Word War Z ?????
@ProgramandoGames
@ProgramandoGames 4 жыл бұрын
Estou montando uma lista de tutorias pra fazer e esse tá no meio ; ) Só aguardar que logo sai!
@fuji_0431
@fuji_0431 4 жыл бұрын
@@ProgramandoGames Vlw
@aguiarlucas455
@aguiarlucas455 2 жыл бұрын
pq minhas palavras nao ficam coloridas que nem as suas?
@davidffortesmeireles5328
@davidffortesmeireles5328 2 жыл бұрын
pq vc nao coloca xdirection e ydirection ?acho que fica mais facil de entender assim
@ProgramandoGames
@ProgramandoGames 2 жыл бұрын
Olá david, tudo certo? De quais variáveis vc está falando?
@davidffortesmeireles5328
@davidffortesmeireles5328 2 жыл бұрын
@@ProgramandoGames das vector2 xvelocity e yvelocity
@mrztikki
@mrztikki 2 жыл бұрын
o meu nao roda nao nao reconhece o script
@majork2009
@majork2009 9 ай бұрын
eu fiz igual a o video e n foi alguem sabe se teve alguma mudança na unity? queria uma ajuda
@ProgramandoGames
@ProgramandoGames 9 ай бұрын
fala major, o que acontece com o seu?
@majork2009
@majork2009 9 ай бұрын
@@ProgramandoGames oi oi e que o código pra velocidade y n estava funcionando no caso Vector.down Cabei usando yvelocity.y -= gravidade × time deltatime
@fuji_0431
@fuji_0431 3 жыл бұрын
Mano, o meu pulo não ta funcionando, poderia dar uma olhada no codigo Vector2 endvelocity; Vector2 X_velocity; public float speedMax; public float speed; Vector2 direction = Vector2.zero; Vector2 current; Vector2 Y_velocity; // jumo variable public float maxHeight = 5f; public float gravity; public float speedjump; public float timemax = 4f; void Start() { gravity = (2 * maxHeight) / Mathf.Pow(timemax , 2); speedjump = gravity * timemax; } void Update() { move(); jump(); } public void move() { float Movex = (Input.GetAxis("Horizontal")); direction = new Vector2(Movex, 0).normalized; X_velocity = Vector2.SmoothDamp(X_velocity, direction * speedMax, ref current, speedMax / speed); transform.position += (Vector3)X_velocity * Time.deltaTime; } public void jump() { Y_velocity += gravity * Time.deltaTime * Vector2.down; if (Input.GetButtonDown("Jump")) { Y_velocity = speedjump * Vector2.up; } }
@cacianoaguiar6489
@cacianoaguiar6489 Жыл бұрын
Amigo, não estou criticando o seu trabalho, mas porque você não faz a movimentação simplesmente Criando uma variável do tipo float para definir a velocidade, e usa o if Input.getkey e coloca como criterio um transform.translate?
@matacalangamineiro9271
@matacalangamineiro9271 2 жыл бұрын
só faltou disponibilizar o código
Como fazer Ciclo de DIA E NOITE na Unity em 10 Minutos
10:56
Desenvolvedor Unity
Рет қаралды 6 М.
MOVIMENTAÇÃO DE PERSONAGEM 3D NA UNITY | #1
11:52
Crie Seus Jogos
Рет қаралды 111 М.
UFC 302 : Махачев VS Порье
02:54
Setanta Sports UFC
Рет қаралды 1,4 МЛН
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 6 МЛН
They RUINED Everything! 😢
00:31
Carter Sharer
Рет қаралды 25 МЛН
Василиса наняла личного массажиста 😂 #shorts
00:22
Денис Кукояка
Рет қаралды 4,2 МЛН
Como criar tiro no Unity - Projétil e balística
9:31
Programando Games
Рет қаралды 7 М.
Movimento e Câmera em primeira pessoa no Unity - Tutorial
11:01
Programando Games
Рет қаралды 31 М.
Como fazer WALL JUMP na UNITY
21:46
High Level
Рет қаралды 7 М.
Como criar o jogo Snake em UM script - Tutorial
11:37
Programando Games
Рет қаралды 1,1 М.
Como criar sistema de diálogo no Unity - Tutorial
19:13
Programando Games
Рет қаралды 2,7 М.
The Magic of RISC-V Vector Processing
16:56
LaurieWired
Рет қаралды 187 М.
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 682 М.
MELHOR método de RECONHECER O CHÃO no Game 2D - Unity
17:59
ВЫ ЧЕ СДЕЛАЛИ С iOS 18?
22:40
Overtake lab
Рет қаралды 100 М.
Best Beast Sounds Handsfree For Multi Phone
0:42
MUN HD
Рет қаралды 341 М.
📦Он вам не медведь! Обзор FlyingBear S1
18:26