TOP DOWN MOVEMENT in Unity!

Поделиться
HTML-код
  • Опубликовано: 14 ноя 2024

Комментарии • 1,7 тыс.

  • @talmoshel8943
    @talmoshel8943 5 лет назад +583

    That breakdown idea could be AMAZING! Please make it!

  • @acetonyart
    @acetonyart 3 года назад +295

    if your Player is moving faster diagonally, write:
    rb.MovePosition(rb.position + movement.normalized * moveSpeed * Time.fixedDeltaTime);
    in Fixed Update :)

    • @lax9192
      @lax9192 3 года назад +6

      Thanks! That was a weird thing I didn't notice till you pointed it out.

    • @Nuan07
      @Nuan07 3 года назад +9

      If anyone gets stuck on this, it has to be in American, not standard English, normalised does not work.

    • @Skoaqua
      @Skoaqua 2 года назад +10

      @@Nuan07 he says normalized

    • @billywhizz09
      @billywhizz09 2 года назад +1

      ty for this tip

    • @albanfrangu9844
      @albanfrangu9844 2 года назад

      How can i remove diagonal movement ?

  • @leogcavalli
    @leogcavalli 5 лет назад +47

    Thanks to you, my life took a direction. I had no idea which profession to choose, totally unmotivated with my college. I want to graduate, but I don't see myself working in the area (Electrical engineering). After watching your videos, I found myself in game development and that's what I've been doing as a hobby for some time. I've never been so happy and ambitious. Thank you so much for teaching us for free.

    • @arnmazing3156
      @arnmazing3156 5 лет назад +5

      Same, I got an associate's in computer programming because I wanted to be a developer. At the time I thought an associates in programming is more practical than a bachelors in computer since I only really need to learn how to code. Learned how to code in static languages java, c#, c++, and c which made learning other languages easier. Most of the time I just read other people's code and is enough to understand what's going on without the need for explanation.

    • @Raylative
      @Raylative 7 месяцев назад

      That’s heart warming. !!!

    • @leogcavalli
      @leogcavalli 7 месяцев назад +1

      Well, it's been 4 years now, and I couldn't be better! Drop out of my degree and got deep into game development and programming. Managed to make a living out of it, paid for a huge wedding and a big house. All of it in 4 years, and this was the kick-off.
      There are places in the world where people don't have the freedom to chase their dreams. If life is giving you the opportunity to chase yours, go for it! Everything is gonna be alright

    • @theotherlucas
      @theotherlucas Месяц назад

      @@leogcavalli Thats fantastic :D hope you continue to do so well

  • @Highwind_
    @Highwind_ 4 года назад +269

    Timestamps for quick reference on animations.
    8:55 Animations
    12:41 The Animator
    14:20 Blend Tree

  • @Mando9854
    @Mando9854 9 месяцев назад +4

    Out of all the videos i've watched for top down animation, this is the simplest and most easiest to understand. Seriosly, it was apain releiver, thank you so much.

  • @tehslick94
    @tehslick94 4 года назад +219

    A simple way to flip the animation (For walking left):
    In animation window, click add property -> sprite renderer -> flip x

    • @TheStelzi
      @TheStelzi 4 года назад +2

      I run into the problem, that when i use the Animator with the Blend tree, that when i try to run right, it shows me the animation of running left - is this common with the mirror solution or did i mess smth up?

    • @ImInfenix
      @ImInfenix 4 года назад +7

      @@TheStelzi The solution is giving is only half true. By clicking it in inspector you don't change it according player input. What you can do however is to reference the sprite renderer in your script and use a condition to set spriteRenderer.flipX to true only when movement.x is negative. I think this should work:
      SpriteRenderer spriteRenderer;
      void Start()
      {
      spriteRenderer = Getcomponent();
      }
      void Update()
      {
      //Existing code from the video
      spriteRenderer.flipX = movement.x < 0.01 ? true : false;
      }
      Just complete the code with it and it should work :)

    • @TheStelzi
      @TheStelzi 4 года назад +2

      @@ImInfenix Thanks for your answer! I will try this approach as well :)

    • @yasg5922
      @yasg5922 4 года назад +4

      While this does work, it will only flip the sprite not the collider.

    • @pengy5771
      @pengy5771 4 года назад +1

      Thank you

  • @dylanbarnes1007
    @dylanbarnes1007 5 лет назад +1664

    I WOULD LOVE TO SEE GAMES BEING BROKEN DOWN, EXPLAINED, AND COMPARED!

  • @changedev.198
    @changedev.198 3 года назад +5

    I have to confess. I have watched hundreds of Brackeys videos. SO, I kept the video to play and tried to do it myself before this video finishes. And I DID!! Thank you so much for all this help. Yes you stopped RUclips, never means you don't exist. THANK YOU for everything!

    • @randtube401
      @randtube401 3 года назад

      Sad thing he already stopped RUclips :(

    • @TWOP
      @TWOP 2 месяца назад

      he came back, but does GoDot now.

  • @sumbuddy4088
    @sumbuddy4088 5 лет назад +187

    Yet again you post a video at the perfect time I needed one.

  • @Simon-tb6tn
    @Simon-tb6tn 4 года назад +110

    6:48 brackeys is metagaming he knows he'll make a video to cover topics that aren't a thing yet

    • @wilkieroyall3507
      @wilkieroyall3507 4 года назад +1

      @@DolphLOL jeez you need to chill

    • @TheDemopan3
      @TheDemopan3 4 года назад +1

      @@wilkieroyall3507 did someone delete a reply?

    • @coolbeans8556
      @coolbeans8556 4 года назад +3

      @@TheDemopan3 it would appear so

  • @ZeynTheOne
    @ZeynTheOne 2 года назад +11

    Love this, tutorial thank you for creating it! I recreated it in 2022 and the input system still works the same way. :)

    • @LocdnessMomster
      @LocdnessMomster 2 года назад +1

      thanks for this update, I was looking to see what changed

    • @Marlin64
      @Marlin64 2 года назад +1

      when I type `public Rigidbody2D`, visual studio doesn't seem to pick up Rigidbody2D as anything. I've created a Rigidbody2D in unity and it looks exactly like the one Brackeys made so I don't know what the issue is. I don't know if you'd be able to help since you only did it four months ago?

  • @kreyzgr5167
    @kreyzgr5167 4 года назад +12

    I recommend flipping the animations with code, this way you only have to write a few lines of code, and all animations (Walking, Attacking, Jumping etc) will face to the correct side without flipping all the images, its just faster and simpler

    • @frameberryy
      @frameberryy 3 года назад +5

      how can I do this please

    • @o_2731
      @o_2731 3 года назад

      @@frameberryy 21:05

  • @TjGaming_Jenske
    @TjGaming_Jenske 4 года назад +188

    Something I ran into: My player character kept on slowly moving down when no controls where pressed.
    Reason: In my project settings was gravity defined in de section Physics2D
    Fix: Go to Edit > Project Setting > Physics2D and change the value of Gravity from -9,81 to 0, Note that you only want to do this if you want to make a top down 2D game :)

    • @ulrikportal6585
      @ulrikportal6585 4 года назад +17

      Or you can change the RigidBody type to Kinematic instead of dynamic

    • @dexleo_
      @dexleo_ 4 года назад +3

      thank you so much! (:

    • @KlutzOfAMan
      @KlutzOfAMan 4 года назад +10

      He was trying to get away and escape

    • @КотюкГеоргий
      @КотюкГеоргий 4 года назад +16

      You can set Rigidbody2D Gravity Scale to zero

    • @ultimate_skye4550
      @ultimate_skye4550 3 года назад

      omg thank you so much

  • @MalteJonasson
    @MalteJonasson Год назад +2

    I watched so many videos and spent so much time but this was the only video that actually helped me. Thank you very much

  • @luigi7781
    @luigi7781 5 лет назад +7

    This channel inspires me to follow my dream to become a game developer. Thank you for your hard work!

    • @yoyo12345
      @yoyo12345 3 года назад +1

      Yes, how is it going??

  • @LaserGadgets
    @LaserGadgets 6 месяцев назад

    Doing this for every character and enemy is gonna be so much work, dayum!

  • @TheMaitreC
    @TheMaitreC 5 лет назад +6

    Of course we would like to hear about how a specific feature of a game is made! Please do it Brackeys!

  • @stuarthudson2909
    @stuarthudson2909 Год назад +1

    This was 22 minutes well spent, I learned here what I struggled to find elsewhere.
    If you watch just one video that explains movement, make it this one.

  • @matthewsterling8873
    @matthewsterling8873 4 года назад +3

    I'm only 9 minutes in, and I've already managed to make the kind of movement type I was looking for! I was so sure that it was going to be more difficult then it was, I guess I have been using an outdated method because this was much simpler! I wanted the player to be able to move slowly too, (using an xbox controller for input) and all I had to change was it to GetAxis from GetAxisRaw! THANK YOU SO MUCH BRACKEYS!!!

  • @dillonahchay6796
    @dillonahchay6796 2 года назад +2

    Thank you so much for this guide, this is my first time using unity and c# programing and this guide made it easy to do, even with small inconviences with the newer software. keep making these as it helps more than you think, great work

  • @DannyMakesStuff
    @DannyMakesStuff 5 лет назад +5

    Ive done a video about Forager like movement a while ago.
    This video is a nice addition and as always I love your video!
    Good work brackeys!

  • @ichigo765
    @ichigo765 Год назад +1

    its a good day when you find a brackeys tutorial on what you need

  • @vishwaanand8415
    @vishwaanand8415 3 года назад +6

    I wasn't able to make it work so I got so triggered but after 5+ hr of debugging, I found out that my movement preferences were messed up. I was so mad and I almost quit. NEVER GIVE UP GUYS!!!

  • @ForciblySquished
    @ForciblySquished 3 года назад +1

    This was SO, SO HELPFUL! As someone with literally no coding knowledge, I thank you very much for making this so easy!

  • @raegaer1960
    @raegaer1960 4 года назад +48

    If someone wanted to they could make an actual Professional Looking Game from this channel's Tutorials

  • @list_f3uille966
    @list_f3uille966 3 года назад

    You are a legend man you arent aware how much you help me learn to make games I've had an issue for so long and you helped me fix it thank you bless u man.

  • @MikeArcuri
    @MikeArcuri 3 года назад +3

    This was great! First time using blend trees and spritesheet animations in Unity, and I got it the first time with this lesson.

  • @kaiosouza1
    @kaiosouza1 2 года назад

    This is the best Unity tutorial ive ever seen

  • @kruth6663
    @kruth6663 5 лет назад +7

    Thanks for the video! Though would you please cover the player facing too? As in determining which direction the player would attack / interact on. Without it the player movement isn't really complete.

  • @evarofficial6424
    @evarofficial6424 5 лет назад +1

    Ive been searchig this for a long time, watching different vídeos and then you come and find a easier way. How the hell you do it? I admire youuu!!!

  • @nwoooyz
    @nwoooyz Год назад +11

    FULL PLAYER MOVEMENT SCRIPT for anybody who wants it :D
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class playermovement : MonoBehaviour
    {
    public float speed = 5f;
    public Rigidbody2D rb;
    Vector2 movement;
    // 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");
    }
    void FixedUpdate()
    {
    rb.MovePosition(rb.position + movement * speed * Time.fixedDeltaTime);
    }
    }

    • @nwoooyz
      @nwoooyz Год назад +2

      FULL SCRIPT LAST ADDITION
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class playermovement : MonoBehaviour
      {
      public float speed = 5f;
      public Rigidbody2D rb;
      public Animator animator;
      Vector2 movement;
      // 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");
      animator.SetFloat("Horizontal", movement.x);
      animator.SetFloat("Vertical", movement.y);
      animator.SetFloat("Speed", movement.sqrMagnitude);
      }
      void FixedUpdate()
      {
      rb.MovePosition(rb.position + movement * speed * Time.fixedDeltaTime);
      }
      }

    • @ethanethan9575
      @ethanethan9575 Год назад

      Am super new to unity and coding and am wondering if you could help me at all? - At 4 minutes he writes a 'public float', when I try to do this in unity 'public' blues out, but nothing comes up when I add 'float' (stays white). Any pointers of what I'm missing/ or done wrong would be hugely appreciated! probably a stupid question but im slow lol

    • @nwoooyz
      @nwoooyz Год назад

      @@ethanethan9575 I'm not very good with code either but I know a thing or 2 so could you reply with your script? I MAY be able to help.

    • @ethanethan9575
      @ethanethan9575 Год назад

      @@nwoooyz Thanks man! I managed to fix that part i think by installing a Studio package that I had missed - but had a similar issue 2 lines down with another 'variable' or something. Im now getting stuck into studio/c# tutorials because I think i might need to start there before working on player movement lol, appreciate the offer though

    • @nwoooyz
      @nwoooyz Год назад

      @@ethanethan9575 ofc anytime

  • @Disthron
    @Disthron 4 года назад +2

    Halfway through 2020 and this is still an awesome tutorial

  • @brokenmesh1447
    @brokenmesh1447 2 года назад +7

    if you want the camera to follow the player, just put it inside of the player. (in the hierarchy)

    • @mr_man5269
      @mr_man5269 2 года назад

      That wouldn't work for many different scenarios, if you're making a game where you need to flip the entire player game object instead of just the sprite then the camera will also flip

  • @gilgabro420
    @gilgabro420 4 года назад +7

    Starts at 1:48

  • @android272
    @android272 5 лет назад +21

    Definitely would like some breakdown videos.

  • @HitcH55
    @HitcH55 4 года назад

    Needed help, found Brackeys, followed the easy recipe. Job done. Now feeling very proud of myself. Thanks you SO MUCH!

  • @MXTGames
    @MXTGames 5 лет назад +9

    Awesome tutorial!) Also, I suggest to normalize movement vector, or your character will move faster diagonally.

  • @MasterAkiDraw
    @MasterAkiDraw 4 года назад +1

    This tutorial still works on 09/28/20! Thanks so much for this! Works great!

    • @souppdog1916
      @souppdog1916 4 года назад +1

      i went to the comments to see if it still worked THANK YOU

  • @vandal3136
    @vandal3136 5 лет назад +115

    Simple question, how would you update the player idle pose depending on the last direction they were moving in?

    • @arnmazing3156
      @arnmazing3156 5 лет назад +4

      You can set that in the animation window. You can set idle as the default animation state. So from entry a transition to idle animation state then a transition from any state to the idle animation.

    • @nautics9927
      @nautics9927 5 лет назад +3

      @@arnmazing3156 can you explain more, i made the transitions but for some reason it did not work?

    • @ayamajirou
      @ayamajirou 4 года назад +125

      @@nautics9927 I don't know if this is the best way but I created another state on the animator called 'idle' (the same way the 'movement' state).
      Also created 4 animations with the idle sprite each. On the idle state it's basically the same as movement state but changed the animations to the idle ones
      Deleted the transition from movement->player_idle and added new transitions from movement->idle and idle->movement with the condition of speed accordingly
      Changed the code to the one on the comment section
      void Update()
      {
      movement.x = Input.GetAxisRaw("Horizontal");
      movement.y = Input.GetAxisRaw("Vertical");
      if (movement != Vector2.zero)
      {
      animator.SetFloat("Horizontal", movement.x);
      animator.SetFloat("Vertical", movement.y);
      }
      animator.SetFloat("Speed", movement.sqrMagnitude);
      }

    • @nautics9927
      @nautics9927 4 года назад +4

      @@ayamajirou thanks! I'll try this rn

    • @nautics9927
      @nautics9927 4 года назад +4

      @@ayamajirou Alright it worked!!! thank you!!!

  • @AI_Jones
    @AI_Jones Год назад

    Thanks for the video Brackeys. I have a couple decently successful games which used your methods as a starting point and then expanded upon them. Your tutorials are legit.

  • @tobiasmercader8091
    @tobiasmercader8091 4 года назад +3

    Brackeys recomending a video that at that time didn't existed 🤯🤯🤯

  • @gloriousptr
    @gloriousptr 5 лет назад

    Breaking down games will be another thing that would give insights and will motivate beginner and experienced developers/artists. Would love to see that.

  • @harold5409
    @harold5409 5 лет назад +12

    Thanks for the video. Can you do a top down day-night cycle? Thank you very much Brackeys

    • @ChrischoBoardgaming
      @ChrischoBoardgaming 4 года назад +1

      In movies (I've heard), night footage is often shot during the day and is post-processed by overlaying a blue filter. Maybe this works in Unity, too -- by using a plane on top of the game world and animating the color of that plane...?

  • @Oxmond
    @Oxmond 4 года назад +2

    Yay! Awesome tutorial! The best top down animation lesson on the web! ❤️🤓👍

  • @eyemotif
    @eyemotif 5 лет назад +6

    that breakdown thing is a good idea!

  • @jnobull45
    @jnobull45 4 года назад

    I'm new to all of this and I think this video was truly awesome.
    I don't know anything about coding and I'm not sure that I would be able to learn it but I'm encouraged. Thanks for sharing.

  • @winterfallstudios7101
    @winterfallstudios7101 5 лет назад +5

    Breakdown stuff would be amaaaazing

  • @mysterious_monolith_
    @mysterious_monolith_ Год назад

    This video is amazing. Thank you!
    2:03

  • @strengle3395
    @strengle3395 5 лет назад +15

    @Brackeys Can you make a tutorial about Procedural Level Generation?

    • @isaacgejames
      @isaacgejames 5 лет назад

      church out black thrown prod he has a few good vids on that

  •  5 лет назад +1

    The gamedev breakdown is a really good idea! Please make it a series! :D

  • @thewaterleaf7929
    @thewaterleaf7929 4 года назад +16

    you could put *.normalized* after *movement* when you use it so that the player cannot go faster diagonally!

  • @modiddymo
    @modiddymo 5 лет назад +1

    +1 for breakdown videos. It would be awesome to see analysis of what makes certain games tick.

  • @legobumb
    @legobumb 4 года назад +13

    Loved this video! Just got one question! How would I do an idle animation for each direction (north, south, east west), and leave the sprite in that idle animation based on the last direction blend tree animation that was used?

    • @paulnoell1025
      @paulnoell1025 2 года назад +1

      I also was hoping for an answer on this

  • @willcummins263
    @willcummins263 3 года назад

    Me looking at every other video and you are the only person that can teach me.

  • @jacktjong1266
    @jacktjong1266 5 лет назад +3

    I think the movement is pretty easy to get down with games like these once you understand the basics of Unity. What I do still struggle with though is how to do the collision boxes. Pasting a ton of colliders over one another just seems messy and rickety to me, but I haven't found any way to make a nice and solid area that the player is allowed to be in yet... Also, when not using a rigidbody2d and creating your own movement, I still haven't found a good way to script collisions. Could you maybe make a video that goes more in-depth on making collisions/borders for your world?

  • @minimoonsstudio
    @minimoonsstudio 3 года назад

    Best teacher ever!

  • @Mikeul2GT
    @Mikeul2GT 5 лет назад +4

    You can also make a blend tree of idle state. So that it will face according to the movement.

  • @biswadeepdas981
    @biswadeepdas981 5 лет назад

    bro..finally i joined the jam..i am excited..though i am new to game development.but a special thanks to u.Your videos helped me a lot..

  • @arraygfx7967
    @arraygfx7967 5 лет назад +59

    For those who are wondering how you can stop the player from looking down every time he stands still, use an if statement, like this.
    if (movement != Vector2.zero)
    {
    animator.SetFloat("Horizontal", movement.x);
    animator.SetFloat("Vertical", movement.y);
    }

    • @gold5games115
      @gold5games115 5 лет назад +6

      Thanks for this, only a few days in to learning c#/unity, but this is simple enough to understand and I was wondering why it wasn't in the video.

    • @ubormaci5322
      @ubormaci5322 5 лет назад

      Thanks

    • @daltonhaglund949
      @daltonhaglund949 5 лет назад

      I don't quite understand where to put it in the code.

    • @daltonhaglund949
      @daltonhaglund949 4 года назад +4

      @@kingastro1508 Thank you so much. Finally making progress with my game, now!

    • @daltonhaglund949
      @daltonhaglund949 4 года назад +1

      @@kingastro1508 it's not the worst. I've started learning how to use tile pallets, rigid bodies and colliders in the meantime.

  • @aliexpress4830
    @aliexpress4830 3 года назад +1

    Rewatching Brackeys's old videos:)

  • @moulern
    @moulern 4 года назад +4

    Thank you for the help.
    Great explained and everything!
    If i should rate it i would give it a 5/5

  • @norklethefish5840
    @norklethefish5840 3 года назад

    brackeys yet again, saves the day

  • @oliverscott6913
    @oliverscott6913 5 лет назад +17

    Firstly, nice video
    Secondly, can you do a video on how to collab with your team for the upcoming game jam via github or unity or whatever

    • @deetvleet
      @deetvleet 5 лет назад

      Just use unity teams and have everyone join the project. Make sure not to work on the same assets at the same time, and always give appropriate names to your changes so you can track what's added.

    • @oliverscott6913
      @oliverscott6913 5 лет назад

      @@deetvleet Yeah but for the free collaborate version in unity, you can only have 3 people in your team, and the team sizes can be a max of 5 for this game jam so we wouldn't be able to use unity collaborate would we?

    • @zokaper801
      @zokaper801 5 лет назад

      @@oliverscott6913 Well, that's what happens when you don't pay (Also i know I'm late)

  • @tonyherrick7064
    @tonyherrick7064 2 года назад

    I own my own studio. Thank you for all of your advice on Unity, this will not be the last time you get thanks from me!

  • @kinopiko01
    @kinopiko01 2 года назад +5

    These timestamps are mostly for me for my interactive project (WARNING: THIS IS NOT AN OFFICIAL TIME STAMP, IT'S ONLY FOR ME TO HELP ME OUT WITH MY PROJECT):
    1:18 adding Idle animation into project
    3:07 Two step rule
    3:23 going through first step
    Player must have rigidbody2d component
    Player must have zero gravity scale to make sure they do not fall
    Must enable freeze rotation z to make sure they do not rotate randomly
    3:44 adding c script

  • @Garniy_Hlopchik
    @Garniy_Hlopchik 2 года назад +1

    Thank you! Blend trees are really useful in these cases) but I also made idle state a blend tree, too, which consists of idles for each side)

  • @tombusckull
    @tombusckull 4 года назад +4

    Would love to see projectiles, bosses, ect. like you did for normal 2d but for top down

  • @personalgamedevyt9830
    @personalgamedevyt9830 Год назад

    This is super cool! I am glad it's straight forward; yet very powerful!
    Thank you!

  • @sebinsuresh9656
    @sebinsuresh9656 5 лет назад +5

    There’s already a wonderful channel called “Mix and Jam” that kind of does game mechanics breakdown or cloning. But the more the merrier! Also you might make it simpler and more easier to see!

  • @MartinSparkes-BadDragon
    @MartinSparkes-BadDragon 3 года назад

    Excellent - I was trying to code this using individual transforms but this is much more elegant

  • @treybrady8972
    @treybrady8972 5 лет назад +8

    Can you do a tutorial of how to flip the character by script?
    I don’t have photoshop and even if I did, really don’t feel like importing it, flipping
    it, and then reimporting it into Unity.
    (Or just add it to a small video, because it’s probably to small for a full video.)

    • @philippsommer7820
      @philippsommer7820 5 лет назад +6

      in the controlelr script you do in a method that gets called when u get the input :
      if(Input.GetAxisRaw("Horizontal") < 0)
      {
      GetComponent().flipX = true;
      }
      else if(Input.GetAxisRaw("Horizontal") > 0)
      {
      GetComponent().flipX = false;
      }
      that should work, if not , try flipY instead of flipX

    • @treybrady8972
      @treybrady8972 4 года назад

      Thanks Philipp

    • @bairgamingdev1576
      @bairgamingdev1576 4 года назад

      @@philippsommer7820 Thanks! I was wondering the same thing as Cryob, i managed to flip the image in another program bu the image was muddy, this helped a-lot!

    • @Vindkast
      @Vindkast 4 года назад

      @@philippsommer7820 Thanks!

  • @midnightshutdown
    @midnightshutdown 3 года назад

    fuck this easily took me two hours to sort through every bug that came up throughout this but it was so worth it to see my custom animation work thank you brackeys

  • @allamir92
    @allamir92 5 лет назад +5

    Awesome tutorial! If only there was a code to stop diagonal movement! If somebody could help with that I would be forever thankful.

    • @scottdarcy6062
      @scottdarcy6062 5 лет назад +5

      I've not finished watching the video yet, but I got up to 8:55 and then added some really simple if functions to Update() **see the code below** it just catches if x or y movement are anything other than standing still limit the other. Should help you
      void Update()
      {
      // Input
      movement.x = Input.GetAxisRaw("Horizontal"); // left give -1 and right give us +1
      movement.y = Input.GetAxisRaw("Vertical"); // up give -1 and down give us +1
      if(movement.x != 0)
      {
      movement.y = 0;
      }
      if (movement.y != 0)
      {
      movement.x = 0;
      }
      }

  • @Nt249
    @Nt249 4 года назад

    one quick thing, from what ive seen sometimes the x axis controls are backwards, just add a - before input.getaxisraw("horizontal"). i spent hours trying to find what issue that was (since im pretty new to all this) and then i went t the official unity discord server, and they said to add a - before that bit, it solved everything. just saying this so the rest of you guys won't end up wasting hours

  • @AlvaSprite-The-Third
    @AlvaSprite-The-Third 2 года назад +3

    note: the input system is still working in 2021 so dont stop programming

  • @iDigvijaysinhG
    @iDigvijaysinhG 5 лет назад

    Yes yes, we really want games breakdown videos

  • @gamepadgroup5913
    @gamepadgroup5913 5 лет назад +14

    I'm going to enjoy this video... Although I just solved the problem myself yesterday...

    • @CaseyHofland
      @CaseyHofland 5 лет назад +2

      Then you found out Brackeys did it better and you felt stupid

  • @yasquin2907
    @yasquin2907 4 года назад +2

    how can anybody dislike this vid
    it is just impressive

  • @NeroZeroScorpion
    @NeroZeroScorpion 5 лет назад +5

    Could you do a isometric movement and look next? like in the Supergiant games, Hades and Bastion, i tried to look for guides ou this but most are outdated or confunsing and not pratical, the close to this i found are isometric movement point and click, and not WASD, there's pretty mush none guides for isometric shooters.

    • @CasualCosta
      @CasualCosta 5 лет назад

      If it's 3D, you usually just need to change the camera.

    • @deetvleet
      @deetvleet 5 лет назад

      My team made a 3D game emulating this style, we started by changing the camera angle to isometric and then converted the axis the player moves accross to match that of the camera.

  • @galdon898
    @galdon898 Год назад

    The best tutorial for Unity

  • @winterfallstudios7101
    @winterfallstudios7101 5 лет назад +72

    A tutorial series about third person melee combat with movement, parrying and some other stuff

    • @isaacgejames
      @isaacgejames 5 лет назад +2

      a bit much but would be cool I gues

    • @realprisec
      @realprisec 4 года назад +4

      yeah that's the type of stuff you learn yourself

    • @ChrischoBoardgaming
      @ChrischoBoardgaming 4 года назад

      ​@@isaacgejames Thought so, too, at first, but having watched one or two videos on this channel where we get shown impossible amounts of stuff (in each video), I can easily see Brackeys show us as much as @WINTERFALL STUDIOS asked for. ;)

    • @ChrischoBoardgaming
      @ChrischoBoardgaming 4 года назад +1

      @@isaacgejames Well, I guess, the original post was meant as a suggestion should Brackeys ever run out of content ideas.
      And let's add "enemy slicing routine" to the mix while we're at it ;)

  • @rain5600
    @rain5600 2 года назад +1

    Best Tutorial!

  • @dustinmetzger
    @dustinmetzger 5 лет назад +6

    Add me to the "yes please!" queue for breakdown videos. And if you're taking suggestions on topics, I'd love to see how you'd implement the npc movement calendar script employed in games like stardew valley.

  • @artisiole2idontknowwhythis250
    @artisiole2idontknowwhythis250 4 года назад

    watching this in the middle of the game jam

  • @timp
    @timp 5 лет назад +4

    Great video! Can we get a video about top-down movement on a grid? :)

    • @HAWXLEADER
      @HAWXLEADER 5 лет назад +2

      Easy, move your location by little snaps (grid resolution let's say 1 meter) and let the graphics follow that Target with a lerp or use something like DoTWEEN(recommended!)
      With dotween you do transform.DoMove(target, time);
      And you are done.
      I recommend checking out their site for documentation.

  • @goldentreesart
    @goldentreesart 3 года назад

    THANK YOU. Finally a movement tutorial with comprehensive techniques I can actually use haha

  • @CelestialAoiro
    @CelestialAoiro Год назад +3

    Great video! Thank you sm!

  • @macchiato_1881
    @macchiato_1881 2 года назад +1

    for people having problems with stuff this may help, put this in the Start() function of your movement script
    rb = GetComponent();
    animator = GetComponent();

    • @ninibupu
      @ninibupu 2 года назад +1

      Yeah, a better way to reference self components, rather than manually adding it with a public variable.

  • @BrianBakerCA
    @BrianBakerCA 5 лет назад +4

    I’d love for you to talk about how cities skylines works! Soooo much going on in that game. Traffic AI, weather, zooming in and out to different levels of detail smoothly etc...

  • @ShaneHoffa
    @ShaneHoffa 5 лет назад

    Definite YES for breakdowns!

  • @cessposter
    @cessposter 3 года назад +19

    I tried using Unity.
    I am psychologically scarred and will never be the same ever again.

    • @nhwd_10
      @nhwd_10 3 года назад

      if you want to make something in unity try something simple like a sprite that walks around

  • @PixlAnimations
    @PixlAnimations 2 года назад +1

    THANK YOU SO SO MUCH! :)

  • @rpgtogether7022
    @rpgtogether7022 5 лет назад +72

    Can we get a top down RPG tutorial?

    • @icedchqi
      @icedchqi 4 года назад +1

      bruh

    • @rpgtogether7022
      @rpgtogether7022 4 года назад +1

      @@icedchqi Thanks for replying to a 1 yo comment

    • @icedchqi
      @icedchqi 4 года назад +6

      @@rpgtogether7022 i dont discriminate by age of comment, I always be annoying no matter what

    • @rpgtogether7022
      @rpgtogether7022 4 года назад

      @@icedchqi "Discriminate" is definitely the right word there buddy. Also the later part makes 0 sense

    • @pedrogouveia4326
      @pedrogouveia4326 4 года назад +5

      @@rpgtogether7022 Discriminate is actualy
      the right word for the context.....look up the meaning

  • @smartishgd
    @smartishgd 3 года назад +2

    This helped so much, thanks! R.I.P Brackeys

    • @haddo8054
      @haddo8054 3 года назад

      why rip

    • @smartishgd
      @smartishgd 3 года назад

      @@haddo8054 He stopped making videos

    • @haddo8054
      @haddo8054 3 года назад

      @@smartishgd ah thats bad

  • @rhetthenderson5993
    @rhetthenderson5993 5 лет назад +37

    16 views, 15 likes.
    Good community.

    • @MrHakanYT
      @MrHakanYT 5 лет назад +1

      4k views 481 likes.
      .

    • @CaseyHofland
      @CaseyHofland 5 лет назад +5

      3276 views, 6 dislikes.
      3270 views.
      Don't mess.

    • @sgt391
      @sgt391 5 лет назад

      @@CaseyHofland 89.353

    • @lasagnapaul4661
      @lasagnapaul4661 5 лет назад

      98,815 views, 4.7k likes

  • @Grubble1
    @Grubble1 3 года назад +1

    THANK YOU

  • @Toopa88
    @Toopa88 5 лет назад +57

    Funny that I literally programmed movement one hour before you uploaded this video.

    • @triis8643
      @triis8643 5 лет назад +2

      For me it was thr opposite. That he uploads the video before I wantes to programm topdow movement

  • @francoislepron2301
    @francoislepron2301 5 лет назад +1

    Awesome as always ! Of course, in Top Down game, player movement are in 4 directions (Up, Down, Left, Right), but how Jump or Crunch can be added ? Of course, these are not a typical movements for Top Down games, but I would be interested in knowing how to achieve that if player needs to jump over an obstacle or slide below a bridge for instance. Many thanks, anyway.

  • @Kaldrin
    @Kaldrin 5 лет назад +3

    Wow nice tutorial, thanks!
    But I wanted to know how to have the character stay in an idle pose corresponding to the last direct he went instead of always returning to face the player

    • @sometimesiwonder14
      @sometimesiwonder14 5 лет назад

      In that case I would think you just wouldn't give it a "idle" animation. Giving it that idle makes it go back to that node when you're not moving.

    • @cyberwaffls3113
      @cyberwaffls3113 5 лет назад +1

      @@sometimesiwonder14 Well, then the walking animation would keep repeating, wouldn't it?

    • @Mars-zr5op
      @Mars-zr5op 5 лет назад

      I wanna know this too, I have followed this videos instructions as close as i can, but my sprite keeps snapping to the south facing sprite, i have discovered that how they are ordered in the blend tree caused the sprite to switch to either 1 or 2 directions before snapping to a direction.

    • @JTAGames
      @JTAGames 4 года назад +1

      Follow our Top Down Movement Tutorial and skip to 7:38! We explain how to set up a proper Idle blend tree as well as setting up your game for a future interaction feature.

  • @Boujonzu
    @Boujonzu 5 лет назад

    Loveee the breakdown idea!! Especially if it breaks down how you think they did certain features