Movimentação TOP DOWN (+ blend trees) - Tutorial Unity 2D

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ม.ค. 2025

ความคิดเห็น • 106

  • @tribo_indie
    @tribo_indie  ปีที่แล้ว

    🎮 Aprenda a criar os seus próprios jogos completos 👇
    triboindie.com.br/levelup

  • @keven6727
    @keven6727 3 ปีที่แล้ว +4

    Mano vi que vc n posta video a um tempo, eu queria te falar para continuar, pois eu estou começando agora a desenvolver meus jogos e seus vídeos então me ajudando muito, serio continua!

    • @tribo_indie
      @tribo_indie  3 ปีที่แล้ว

      Fico feliz em ajudar! Estou em alguns outros projetos que consomem todo o meu tempo, mas em breve volto a postar vídeos!

  • @joaohenriqueviolardilopes2874
    @joaohenriqueviolardilopes2874 4 ปีที่แล้ว +22

    Rapaziada, pra quem percebeu que quando vc anda na diagonal o personagem fica mais rápido e quer arrumar isso, é só colocar um .normalized na ultima linha -> playerRb.MovePosition(playerRb.position + movimento.normalized * speed * Time.fixedDeltaTime);

  • @dougmmorpg
    @dougmmorpg 4 ปีที่แล้ว +2

    Vc é o único que faz o vídeo mostrando realmente como se faz. Em outros canas os caras gravam fazendo bug kkk top mais 1 inscrito !

  • @Miguel.zinnho
    @Miguel.zinnho 3 ปีที่แล้ว +1

    Canais como o seu deveriam ter mais reconhecimento

  • @isaacdebiasi1973
    @isaacdebiasi1973 4 ปีที่แล้ว +2

    Muito bom video mano, outros videos nao demonstram como manter a posicao do sprite dps de parado, foi uma soluçao bem simples, mas vai ajudar uma galera, vou começar a acompanhar teu trabalho, Vlwww

  • @gamerradical6885
    @gamerradical6885 4 ปีที่แล้ว +3

    Nossa dei uma olhada no canal e q canal fodaaaa

  • @christophercarvalho2031
    @christophercarvalho2031 4 ปีที่แล้ว +1

    Cara, valeu pelo vídeo, continue produzindo pois sempre ajuda!

  • @henriquebackhaus9585
    @henriquebackhaus9585 5 หลายเดือนก่อน

    Cara, sobre criar as animacoes invertidas em photoshop, tem uma maneira mais simples: Colocar esses 2 if no Update:
    if (player.direction.x >= 0)
    {
    transform.eulerAngles = new Vector2(0, 0);
    }
    if (player.direction.x < 0)
    {
    transform.eulerAngles = new Vector2(0, 180);
    }
    Aqui no meu caso o player.direction eh a nomenclatura pro meu Vector2. Isso te poupa de ficar editando imagem. Vc so precisa dos sprites de movimento para a direita e quando andar para a esquerda esse codigo vai inverter o sprite

  • @nightfox_69
    @nightfox_69 4 ปีที่แล้ว +1

    Cara parabéns pelo vídeo, ficou muito foda! Mais um inscrito aquI! \o/

  • @kaio9637
    @kaio9637 4 ปีที่แล้ว +1

    PFVR, continua assim ♥️♥️🙅🏻‍♂️

  • @emersondiego8401
    @emersondiego8401 3 ปีที่แล้ว

    Mano...Muito Obrigado por esse video!!! me ajudou demais com meu aprendizado! de verdade *----*

  • @carloseduardogomes3956
    @carloseduardogomes3956 2 ปีที่แล้ว

    Ótimo vídeo, muito obrigado por compartilhar!

  • @brendoncardoso5291
    @brendoncardoso5291 3 ปีที่แล้ว +2

    Bom dia, Manin Muito boa a aula, só tive um problema, quando solto a tecla A,D ou w o Char volta pra primeira animação Idle, (" Olhando pra baixo), na Blend tree Idle, eu coloquei as 4 animações para ele olhar. Porem, ele ativa apenas a primeira anim, sem mesclar.

    • @tribo_indie
      @tribo_indie  3 ปีที่แล้ว

      Dá uma olhada em 19:00, ali eu faço a parte das animações Idle.

    • @henriquebackhaus9585
      @henriquebackhaus9585 5 หลายเดือนก่อน

      eu tive esse problema e no meu caso foi algo bobo que a Unity e o Visual Studio nao detectam como erro. Coloquei no animator o nome verticalIdle e no script escrevi VerticalIdle, e meu personagem ficou assim, nao recebia os valores pra poder parar com o idle na mesma direcao da caminhada

  • @S1lvaxx
    @S1lvaxx ปีที่แล้ว

    otimo video mn gostei muito!!, vc podia dizer se esse codigo faz o personagem andar em 4 direções somente certo? Pq meu personagem esta andando mas diagonais e eu n quero isso

  • @edsonbcz2973
    @edsonbcz2973 4 ปีที่แล้ว

    to tentando criar um jogo top down, e gostei muito da sua explicação, parabéns!+ 1 inscrito!

  • @NoeAprigio
    @NoeAprigio 4 ปีที่แล้ว +2

    Cara parabéns pelos vídeos. Gostaria de saber onde você aprender unity. comprei alguns cursos na Udemy, assisto ele e inúmeros outros para aprender mas, é tudo meio jogado. Onde você teve sua base?.Fiz um curso de lógica de programação de algorítimos para CSharp e estou cursando um completo de Csharp, mas, encontrar um curso com de unity é difícil. pode me indicar?. pode ser em inglês se for o caso. Continue com seus vídeos, são ótimos.

    • @NoeAprigio
      @NoeAprigio 4 ปีที่แล้ว +2

      @@tribo_indie Valew por responder. Eu estou desenvolvendo um rpg. Assim que estiver pronto eu falo com você. Até la, vou vendo seus vídeos e estudando tudo o que puder. um grande abraço.

  • @gbalagames9810
    @gbalagames9810 4 ปีที่แล้ว +1

    como vc fez para colocar os cenários no fundo . estou com dificuldades para fazer.

    • @tribo_indie
      @tribo_indie  4 ปีที่แล้ว +1

      Opa! Eu utilizei o sistema de Tilemaps da Unity! Já fiz um vídeo somente sobre isso, é esse aqui: th-cam.com/video/13zje-lPcUY/w-d-xo.html

  • @carlamarques719
    @carlamarques719 3 ปีที่แล้ว

    AAAAAAAAAAA TU É O CARA

  • @MatheusHenrique-gd2qy
    @MatheusHenrique-gd2qy 4 ปีที่แล้ว +1

    Quando sai a próxima aula de Top Down?

    • @MatheusHenrique-gd2qy
      @MatheusHenrique-gd2qy 4 ปีที่แล้ว

      @@tribo_indie legal já estou inscrito não posso perder seus tutoriais são ótimos, vou aguardar por mais aulas de top down!!

  • @LucasMir02
    @LucasMir02 ปีที่แล้ว

    E possível criar esse tipo de coisa em ataques ?

  • @galactictime840
    @galactictime840 4 ปีที่แล้ว

    Curti mt o vídeo, um dos únicos q abordaram essa questão do idle corresponder ao último movimento! Só que, no jogo q eu estou fazendo, eu uso os 8 direcionais ( no caso, as diagonais inclusas ) e, quando eu paro e andar numa diagonal, o personagem para no idle de um dos extremos, como esquerda ou cima. Se puder ajudar, eu agradeço mt kk

    • @galactictime840
      @galactictime840 4 ปีที่แล้ว

      @@tribo_indie tipo, ele até que funciona, mas eu preciso ser extremamente preciso na hora de soltar os botões. O q q vc acha q pode ser nesse caso?

    • @galactictime840
      @galactictime840 4 ปีที่แล้ว

      @@tribo_indie imagino que seja algo no Input msm, mas, msm mudando de GetAxisRaw ( q é o comando q eu uso ) pra GetAxis, não mudou nada.

    • @galactictime840
      @galactictime840 4 ปีที่แล้ว

      @@tribo_indie blz, sem problemas! Só de vc estar tentando ajudar eu já fico extremamente grato! Se precisar, te mando como ficou o meu código

  • @rager2525
    @rager2525 2 ปีที่แล้ว

    tenho um bug, o erro diz que a palavra movimento não existe nesse contexto, o q eu faço?

  • @robsoncardoso8692
    @robsoncardoso8692 3 ปีที่แล้ว

    obg, ajudou bastante :D

  • @kleberleite3401
    @kleberleite3401 4 ปีที่แล้ว +1

    o meu da um pause automatico ,_, qq to fazendo dei ctrl c ctrl v e sempre q da play ele da pausa desmarco a pausa ele marca de novo

    • @kleberleite3401
      @kleberleite3401 4 ปีที่แล้ว

      @@tribo_indie não ,_, só dá quando eu jogo o codigo dele mas quando eu mudei uns negócios funcionou '-' eu acho n sei ,_, vlw pela ajuda vou tentar reinstalar '-'

  • @abraaoalmeida864
    @abraaoalmeida864 ปีที่แล้ว

    mano no meu codigo o vector2 não pegar o animator.

  • @matheusmartinscremes5090
    @matheusmartinscremes5090 4 ปีที่แล้ว +1

    MUITO BOM obrigado :)

  • @Guilherme-qd2re
    @Guilherme-qd2re 2 ปีที่แล้ว

    Muito obrigado

  • @guxtavo2898
    @guxtavo2898 3 ปีที่แล้ว

    mas com esse script a movimentação fica mais rapida quando vai nas diagonais, como resolvo?

    • @tribo_indie
      @tribo_indie  3 ปีที่แล้ว

      playerRb.MovePosition(playerRb.position + movimento.normalized * speed * Time.fixedDeltaTime);

  • @JonasDiferencial
    @JonasDiferencial 2 ปีที่แล้ว

    valeu tive que fazer uma gambiarra mais deu certo

  • @er3brus
    @er3brus 4 ปีที่แล้ว

    6:34 o meu tambem n aparece o speed e o player rb oque faço ?

    • @er3brus
      @er3brus 4 ปีที่แล้ว

      Sim.Tudo public.

    • @covalentes3234
      @covalentes3234 4 ปีที่แล้ว

      o meu tbm não apareceu oq eu faço ?

    • @covalentes3234
      @covalentes3234 4 ปีที่แล้ว

      o meu tbm não apareceu oq eu faço ?

  • @ofallenn
    @ofallenn 4 ปีที่แล้ว

    Tenho uma pergunta, hoje eu estava criando um personagem vendo outro video do youtube, meu unity e a versão mais recente, na hora de eu colocar o PlayerController aparece só essa opção e não da pra modificar ela, Tem como me ajudar?

    • @ofallenn
      @ofallenn 4 ปีที่แล้ว

      Só tem o script ai tenho medo de fazer tudo em vão denovo... mas vou tentar fazer

    • @tribo_indie
      @tribo_indie  4 ปีที่แล้ว +1

      Não entendi exatamente o seu problema... Você quer adicionar um script pronto no seu personagem?

    • @vanilzamarcal813
      @vanilzamarcal813 4 ปีที่แล้ว

      @@tribo_indie oi eu dei conta, eu esqueço de salvar o script mt obrigado, deu tudo certo só queria saber uma coisa, tem como colocar um mapa ja feito dentro da unity?

    • @tribo_indie
      @tribo_indie  4 ปีที่แล้ว

      @@vanilzamarcal813 Sim, basta você importar as imagens e montar. A parte dos colisores, limites da tela, etc, você precisa refazer.

  • @eduaki
    @eduaki 4 ปีที่แล้ว

    fiz exatamente igual ta no video mas o meu personagem não ta se mexendo sabe dizer oq é?

  • @ovirtuose
    @ovirtuose ปีที่แล้ว

    minha aba do scripty não aparece pra colocar o rigidibody2d mesmo eu colocando tudo certinho no codigo

    • @LucasMir02
      @LucasMir02 ปีที่แล้ว +1

      conseguiu arrumar ?

    • @ovirtuose
      @ovirtuose ปีที่แล้ว

      @@LucasMir02 não 😔

    • @LucasMir02
      @LucasMir02 ปีที่แล้ว +1

      @@ovirtuose Mas tu ja desistiu de fazer o game ou ainda ta tentando

    • @ovirtuose
      @ovirtuose ปีที่แล้ว

      @@LucasMir02 ainda estou fazendo focando mais agora no design ja q sou eu q faço e faço a música também ai vou deixar uma boa parte pronta depois ir pra programação com a maioria das coisas mais definidas ora facilitar

    • @LucasMir02
      @LucasMir02 ปีที่แล้ว

      @@ovirtuose Tao ta beleza, mas quando tu voltar a mexer e caso ter problemas, avisa ae que eu posso tentar ajudar 👍

  • @marceloldmp
    @marceloldmp 2 ปีที่แล้ว

    brabo

  • @igormatheus5779
    @igormatheus5779 4 ปีที่แล้ว

    o meu nao aparece o rigidbody na hora de fazer as variaveis

    • @tribo_indie
      @tribo_indie  4 ปีที่แล้ว

      No código você declara como "public RigidBody2D playerRb". Dessa forma ele vai ficar visível pra você editar na Unity.

  • @Lelahel-
    @Lelahel- 2 ปีที่แล้ว

    galera, a parte da minha movimentação ficou legal, só que sempre que eu aperto pra alguma direção que não seja a Down, em vez de ficar no idle daquela direção, ele volta para a animação dele descendo para baixo super rápido e eu não tenho ideia de como arrumar. algm tem alguma ideia?

    • @tribo_indie
      @tribo_indie  2 ปีที่แล้ว

      Esse esquema de manter o lado que se movimentou por último eu também ensino nesse mesmo vídeo. Pra isso, em cada direção eu uso 2 animações diferentes, quando tá andando e quando tá parado

    • @Lelahel-
      @Lelahel- 2 ปีที่แล้ว

      @@tribo_indie eu também fiz, só que sempre quando eu paro de andar por exemplo, para a direita, ao invés de voltar para a animação idle da direita, ele volta pro animação do Down super acelerada

    • @tribo_indie
      @tribo_indie  2 ปีที่แล้ว

      @@Lelahel- Entra no nosso grupo do discord e manda seu código por lá, fica mais fácil pra ajudar! discord.com/invite/8JQHcQjzuP

  • @Mightraptyle
    @Mightraptyle 3 ปีที่แล้ว

    O meu tá dando O modificador "Private" não é válido para este iten

    • @tribo_indie
      @tribo_indie  3 ปีที่แล้ว +1

      Consegue copiar aqui a linha que deu erro?

    • @Mightraptyle
      @Mightraptyle 3 ปีที่แล้ว +1

      @@tribo_indie Fala Mano, eu consegui arrumar esse erro, agora só estou com um problema de não conseguir deixar o meu personagem parado na ultima animação q foi exibida, no caso tenho quatro animações Idle, e ele quando para só olha para baixo...

    • @tribo_indie
      @tribo_indie  3 ปีที่แล้ว +1

      @@Mightraptyle Pior que eu explico sobre isso no vídeo. Eu tbm uso 4 animações idle, aí me baseio no último movimento dele pra setar

    • @Mightraptyle
      @Mightraptyle 3 ปีที่แล้ว +1

      @@tribo_indie Sim, sim, eu ví, na Parte q vc escreve o (IF) no Script, eu v que o Horizontal fica marcado -1 quando solto o botão D, porem o Vertical, volta pro zero no Parameters- Animator. Desculpe atrapalhar.

  • @b4d351
    @b4d351 4 ปีที่แล้ว

    po esse vídeo ajudo muito , faz mais

  • @jonadmoralles796
    @jonadmoralles796 2 ปีที่แล้ว

    Como configuro movimentar aleatório no automático

  • @vonplayer5425
    @vonplayer5425 4 ปีที่แล้ว

    pq no meu deu isso?: Assets\PlayerController.cs(29,6): error CS1513: } expected

    • @vonplayer5425
      @vonplayer5425 4 ปีที่แล้ว

      @@tribo_indie e esse?:Assets\PlayerController.cs(5,15): error CS1040: Preprocessor directives must appear as the first non-whitespace character on a line

  • @evelontimoteo3848
    @evelontimoteo3848 4 ปีที่แล้ว

    To com um problema. Meu personagem ta andando sem animação, só com os sprites "idle", e quando coloco pra cima ele anda com o sprite "IdleDown". Não ta tendo transição da Blend Tree "idle" para a "walk".
    drive.google.com/drive/folders/1MxA0u6Qd_MfRfUYAdeJf6ag7xbPa8vUB

    • @tribo_indie
      @tribo_indie  3 ปีที่แล้ว

      Os parâmetros precisam ser passados com exatamente o mesmo nome. No seu script, você tá passando os parâmetros "velocidade" e "verticalIdle" com letra minúscula. Passe como "Velocidade" e "VerticalIdle" que deve resolver.

  • @kaio9637
    @kaio9637 4 ปีที่แล้ว

    muito foda

  • @MatheusHenrique-gd2qy
    @MatheusHenrique-gd2qy 4 ปีที่แล้ว

    cara eu tentei usar o photoshop pra inverter a imagem do boneco para a esquerda e ele ficou pelo menos 3 vezes menor que as imagens dele olhando para as outras direções, ficou super bizarro, sabe o que pode ser? me da uma dica ae

    • @MatheusHenrique-gd2qy
      @MatheusHenrique-gd2qy 4 ปีที่แล้ว

      @@tribo_indie vou tentar, valeu mesmo!!!

    • @MatheusHenrique-gd2qy
      @MatheusHenrique-gd2qy 4 ปีที่แล้ว

      @@tribo_indie cara nao deu certo, o que pode ser? quando abro o unity e add o sprite idle left, ele vem com um resolução bizarra e menor que a original. eu não aplico nenhuma mudança apenas inverto a imagem horizontalmente, pode me ajudar?

    • @MatheusHenrique-gd2qy
      @MatheusHenrique-gd2qy 4 ปีที่แล้ว

      @@tribo_indie deve ser algum problema com a resoluçao, quero muito uma ajuda..

    • @MatheusHenrique-gd2qy
      @MatheusHenrique-gd2qy 4 ปีที่แล้ว

      @@tribo_indie não acredito que era só isso kkk, fiz isso com os outros mas com esse não, valeu funcionou!!

  • @lucaslblanc
    @lucaslblanc ปีที่แล้ว

    "Fazer flip no personagem por código é complicado, prefiro fazer manualmente no photoshop", a complicação:
    if (moveHorizontal < 0)
    {
    spriteRenderer.flipX = true;
    }
    else if (moveHorizontal > 0)
    {
    spriteRenderer.flipX = false;
    }

    • @lucaslblanc
      @lucaslblanc ปีที่แล้ว

      Isso foi uma zoeira, a vídeo aula foi top kkkk

    • @tribo_indie
      @tribo_indie  ปีที่แล้ว

      @@lucaslblancufa!! kkkkk

  • @pedinbr1712
    @pedinbr1712 4 ปีที่แล้ว

    gente alguem me ajuda eu estou com um problema que esta aparecendo no console ,e tmb não aparece no script o speed e esta aparecendo essa mensagem aqui eu ja vi o video muitas vezes e ja fui em forum gringo mas eu não sei oq fazer alguem pode me ajudar?????? eu vou copiar o codigo e colar aqui pra alguem analizar e ver se aqui ta errado.
    Mensagem do console:
    The type or namespace name 'RigidBody2D' could not be found (are you missing a using directive or an assembly reference?
    script:
    public class playercontrole : MonoBehaviour
    {
    public float speed = 1.5f;
    public RigidBody2D playerRb;
    Vector2 movimento;
    // Start is called before the first frame update
    void Start()
    {
    }
    // Update is called once per frame
    void Update()
    {
    movement.x = input.GetAxisRaw("Horizontal");
    movement.y = input.GetAxisRaw("Vertical");
    }
    private void fixedUpdate()
    {
    playerRb.movePosition(playerRb.position + movimento * speed * Time.fixedDeltaTime);
    }
    }

    • @tribo_indie
      @tribo_indie  4 ปีที่แล้ว

      Opa! Acredito que seja apenas o B no seu RigidBody2D, que precisa ser minúsculo. "Rigidbody2D"

  • @EdsonGomes78
    @EdsonGomes78 4 ปีที่แล้ว

    Obrigado

  • @professorleandrowilker5623
    @professorleandrowilker5623 4 ปีที่แล้ว

    O meu ta andando na Diagonal :/ sabe como tirar?

    • @tribo_indie
      @tribo_indie  4 ปีที่แล้ว

      Não sei se já conseguiu resolver, mas vou responder mesmo assim.
      Nesse método eu utilizo um Vector2 Movimento para controlar a movimentação. Dessa forma, se utilizar X e Y ao mesmo tempo, ele anda na diagonal.
      Se você não quer esse comportamento, vai precisar separar em 2 variáveis, aplicando o movimento de horizontal e vertical separadamente.

  • @D-NNIK
    @D-NNIK หลายเดือนก่อน

    Seria bom se alguém podesse libera o script pra download

  • @MatheusHenrique-gd2qy
    @MatheusHenrique-gd2qy 4 ปีที่แล้ว

    ensina a colocar sua própria skin no personagem!!! valeu

    • @MatheusHenrique-gd2qy
      @MatheusHenrique-gd2qy 4 ปีที่แล้ว

      @@tribo_indie valeu, estou tentando baixar algum photoshop grátis pra inverter a imagem, tomara que de certo kkk

  • @keven6727
    @keven6727 3 ปีที่แล้ว

    alguém pode me ajudar e URGENTE! Eu quero usar essa logica das animações nos ataques do meu boneco, mas não sei como, alguém me ajuda pls!

    • @tribo_indie
      @tribo_indie  3 ปีที่แล้ว

      O que você precisa exatamente? A mesma movimentação mas com ataques?

  • @GustavoFerreira-om2hn
    @GustavoFerreira-om2hn 4 ปีที่แล้ว +1

    oi o seep e o player RB não aparacem. tá ai meu codigo
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Player : MonoBehaviour
    {
    public float speed = 5f;
    public Rigidbody2D playerRB;
    Vector2 movement;

    void Start()
    {
    }

    void Update()
    {
    movement.x = Input.GetAxisRaw("horizontal");
    movement.y = Input.GetAxisRaw("vertical");
    }
    private void FixedUpdate()
    {
    playerRB.MovePosition(playerRB.position + movement * speed * Time.fixedDeltaTime);
    }
    }

  • @todokybr
    @todokybr 3 ปีที่แล้ว +1

    Galera eu quero fazer um game top down nesse estilo só que com geração procedural o mundo e sobrevivência alguém pode me ajudar? Eu procurei uns vídeos no yt e achei mas n na unity o que me quebra se estiverem interessados eu vou fazer um game 2d estilo mine/ terraria top down