TOP DOWN SHOOTING in Unity

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

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

  • @Danidev
    @Danidev 5 лет назад +1692

    Whoah hello there handsome are you new around here??

    • @gaslightingbruh
      @gaslightingbruh 5 лет назад +13

      Hej dani

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

      Im your fan

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

      Can i ask you something

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

      Dani can you pls help me about changing 2d characters on buttons. But that they are on diferent scene. Like you are on character scene and they are changing in game scene

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

      Pls help

  • @bloodyblue354
    @bloodyblue354 4 года назад +375

    IF YOUR CHARACTER IS ALWAYS LOOKING AT THE CENTER OF THE SCREEN (or some other fixed point) and not rotating towards your mouse cursor, change the camera to ORTHOGRAPHIC. By default the main camera seems to be set to PERSPECTIVE which adds a Z component into the mix which isn't handled by the code shown in this video.

    • @minimoose5119
      @minimoose5119 4 года назад +22

      omg thank you sooooooo much you just saved me from total failure in a game jam

    • @data-_-
      @data-_- 4 года назад +14

      This dident work for me :(
      Edit:I found the problem turns out i was just stupid

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

      Amazing LEGEND!

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

      Thank you

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

      Thanks so much man, was stuck on this for like hours

  • @juschu85
    @juschu85 5 лет назад +771

    There are rumors that those bullets that exited the screen without any collision are still flying around these days.

    • @Glori4n
      @Glori4n 5 лет назад +13

      Actually, they all get deleted once you leave the play test :)

    • @aisforanimate4703
      @aisforanimate4703 4 года назад +67

      R/whoosh

    • @aisforanimate4703
      @aisforanimate4703 4 года назад +42

      *I've always wanted to say that*

    • @aidangalbraith1904
      @aidangalbraith1904 4 года назад +32

      @@aisforanimate4703r/foundthemobileuser

    • @Max_G4
      @Max_G4 4 года назад +21

      @@aisforanimate4703 r/itswooooshwith4os

  • @silentminecrafter6234
    @silentminecrafter6234 4 года назад +46

    Brackeys is nice, easily understood, and his tutorials are great.

  • @bando81
    @bando81 4 года назад +34

    i had an issue and i figured it out without Brackey i am truly evolving

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

      great job man improvement doesnt come immediatly

  • @GoronTico
    @GoronTico 5 лет назад +862

    I miss a couple of brackeys episodes and suddenly he is jesus LOL

  • @sykoo
    @sykoo 5 лет назад +543

    AHHHH YOUR HAIR!! I was like "ah neat they hired a new guy at Brackeys!"

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

      Sykoo Hahaha same!!!!! Love your content Sykoo

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

      Breathtaking hair

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

      @@unlockener omg perfect joke for this scenario lol... now we just wait for Asbjörn to reply with "You're breathtaking", and our mission is completed bois

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

      When ur scrolling brackeys comments and you find golden unity channel 😍

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

      syko that is what i thought whie watching this video too. i gotta admit he does look good with this length of hair though. also love your videos too sykoo.

  • @Nat1Games
    @Nat1Games 10 месяцев назад +1

    this is the first thing i've been able to successfully get working on unity- thank you so much man.

  • @davidtimms4670
    @davidtimms4670 4 года назад +487

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class PlayerMovement : MonoBehaviour
    {
    public float moveSpeed = 5f;
    public Rigidbody2D rb;
    public Camera cam;
    Vector2 movement;
    Vector2 mousePos;
    // Update is called once per frame
    void Update()
    {
    movement.x = Input.GetAxisRaw("Horizontal");
    movement.y = Input.GetAxisRaw("Vertical");
    mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
    }
    private void FixedUpdate()
    {
    rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
    Vector2 lookDir = mousePos - rb.position;
    float angle = Mathf.Atan2(lookDir.y ,lookDir.x) * Mathf.Rad2Deg - 90f;
    rb.rotation = angle;
    }
    }
    this is for 2d movement
    and for me so i can come back in the future

    • @MandDmommy
      @MandDmommy 4 года назад +40

      Lemme just control c and control v

    • @esertekin9727
      @esertekin9727 4 года назад +20

      you didn't deleted the "// Update is called once per frame" and made everyone triggered.

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

      @@esertekin9727 @least there is no // Start is called...

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

      @@esertekin9727 lol I would edit the comment just it is on my other account

    • @Gamer-King69
      @Gamer-King69 4 года назад +6

      Thanks ur a legend , my script didn't work for some reason i just copy and pastet this and it works :)

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

    I love how genuinly excited Brackeys gets with something like a bullet shooting out.. he's probably written a similar script to that a million times but still acts like its the first time he has ever done it... ahhaaha love him

  • @zojirushi1
    @zojirushi1 5 лет назад +545

    Brackeys ur becoming John Wick :O

  • @mehmedcavas3069
    @mehmedcavas3069 5 лет назад +324

    Brackeys please make a video about clean code or solid solid principles :)

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

      Would be nice

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

      Most of them don't apply to unity, because the workflow is so different from a regular .NET app

    • @DAVIN-qu5yq
      @DAVIN-qu5yq 5 лет назад +1

      Would be awesome

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

      @@LeMustache Yes, the workflow is very different, but Clean Code is always welcome and SOLID can be applied. If you search a bit on youtube there are some videos on it. (Even tho I'm not a fan of OOP xp)

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

      @@rafaeldefreitas5689 True, but I still don't think unity projects would benefit much from SOLID principles. Doing a video how to create and manage a big project without making it an unreadable, chaotic mess would be much nicer, since they aren't many good tutorials on this out there. Quill18creates has some good videos on this, but they are usually part of some long series where he basically creates a game, not real tutorials.

  • @echelon5162
    @echelon5162 5 лет назад +22

    *_Thank you for tuning in at Brackeys_*

  • @XtrminatR7
    @XtrminatR7 10 месяцев назад +2

    I think the reason Brackeys is more popular than other unity youtubers is that not only he makes great tutorials, he also explains the code so even a 5 year old could understand. Great job brackeys!

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

    @9:23 you have to do -90f because for Unity the std 0 degree is to the right. and you later addForce to the up vector. if you use
    rb.AddForce(firePoint.right) you dont have to do -90. But beware you have to rotate the sprite in the prefab also to point to the right.

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

    i grew up playing gta2 and hotline miami was one of those games that made me wanna be a game developer. top down shooters will always have a special place in my heart :)

  • @ayushsagar8074
    @ayushsagar8074 4 года назад +49

    This is so sad because he stopped making vids now

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

      yeah he was one of thee best :(

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

      he was a good man

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

      RIP brackeys. They will forever be in our hearts. ✊😞

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

      @@animationspace8550 Thats cool and all but its not like he's dead or something. He has other things in life but true he will be in our hearts forever.

  • @DiogoSilva-js3rn
    @DiogoSilva-js3rn 4 года назад

    Hi! I'm Brazilian, and, to love your channel, many things are not found for my language unfortunately, but you do it so calmly, and step by step you can understand it without knowing anything about English, just knowing a little of a language ,the creation.

  • @Jalechah
    @Jalechah 5 лет назад +13

    i don't make 2D games, but i still end up learning tips and tricks from these videos that i can use. Thanks for another awesome, well explained video :)

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

    for anyone who came here just for the shooting tutor 10:01 no need to thank me we all needed it :D

  • @gregoryfenn1462
    @gregoryfenn1462 5 лет назад +51

    I like this new hairstyle man :)

  • @wizwizard7382
    @wizwizard7382 8 месяцев назад +1

    if when you fire the bullet doesnt show and it just does the hit effect immediately, make sure the player hitbox doesnt go in front of the fire point.

    • @darkshot3700
      @darkshot3700 5 месяцев назад

      Are the armored tanks assets free for you?

  • @AdamElMenshawi
    @AdamElMenshawi 2 месяца назад +3

    *Source Code*
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class PlayerMovement : MonoBehaviour
    {
    public float moveSpeed = 5f;
    public Rigidbody2D rb;
    public Camera cam;
    Vector2 movement;
    Vector2 mousePos;
    // Update is called once per frame
    void Update()
    {
    movement.x = Input.GetAxisRaw("Horizontal");
    movement.y = Input.GetAxisRaw("Vertical");
    mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
    }
    private void FixedUpdate()
    {
    rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
    Vector2 lookDir = mousePos - rb.position;
    float angle = Mathf.Atan2(lookDir.y ,lookDir.x) * Mathf.Rad2Deg - 90f;
    rb.rotation = angle;
    }
    }

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

    I've already done this a couple times but I still like watching your videos to see how others would do it!

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

    You can solve the "need to offset by -90°" problem by having your sprites start pointing to the right rather than up. 0° in screen space points to the right rather than up/forwards like a compass.

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

      its because you put -90 not - 90

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

      @Concrete thx

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

      @Concrete Mine are still flying 90 degrees in the wrong direction even though I rotated the firePoint :(

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

    You magnificent beast, thank you for sharing this wizardry! This sparked my interest in Unity one again. Nicely done, well put, amazing job!

  • @TimbavatiLion
    @TimbavatiLion 5 лет назад +28

    Next video is about Particle Effect Shooting? :D
    Create a Flamethrower-like particle effect at the end of the gun, give the particles a Collider... and set everything on fire!

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

      *unity's particle system*

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

      @@theindianyouwatch a great system for making particles

    • @-poison8075
      @-poison8075 3 года назад

      @@ThoonderClips *making particles*

  • @unscriptedlogicgames
    @unscriptedlogicgames 4 года назад +98

    Nobody:
    Brackeys: "Now if we save this and head back into unity..."
    Me: I'm a bout to witness some magic aren't I?

    • @croutqn4550
      @croutqn4550 4 года назад +9

      Haha can't relate more

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

    After bombing the recent GameJam I just signed up for Jason's course. I'm a little skeptical but if Brackeys recommends him then I'm all for it. Wish me luck everyone!

  • @animationspace8550
    @animationspace8550 5 лет назад +60

    1:41 *Top ten heroes Thanos was to afraid to fight*

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

    Can't not say that i feel like Brackeys is trolling us, uploading this right after the jam! Great video though!

  • @NO-pf2gp
    @NO-pf2gp 4 года назад +1

    This is the only tutorial I could find that actually does what I need it to do.
    Thanks!

  • @mikaxms
    @mikaxms 5 лет назад +44

    8:00 If you don't want to mess with angles and rotations, just do transform.up = direction.normalized

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

      I was wondering if someone was going to comment this
      I always use transform.up/right rather than the atan2 function just cause I feel like I can write my code in less lines (and it's been a while since I worked with trigonometry haha)

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

      I dont know but i think Atan2 is butter cuz it will return one angle transform.up change all angles

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

      where do i put this?

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

      It is easier to write but will mess up player directions.

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

    We miss you

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

      Can u say which version is this

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

    I've been waiting for this tutorial. Thanks Brackeys, please keep it up.

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

      Well about that last part...

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

    14:37 Really, really i spent a lot of time on this shooting feature, thank you so much! 💙💙💙

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

    Brackeys: **exists*
    Jason Weimann: *Allow Me To Introduce Myself*

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

    After watching like 10 tutorials, this one actually worked for me. I'm so happy I could finally make my character rotate 😭😭😭😭

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

    Instead of angle calculation, you can use
    transform.rotation = Quaternion.lookdirection(mausepos-rb.pos, vector3.forward);

    • @Alex-oy4qn
      @Alex-oy4qn 4 года назад

      where i must put it in
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class PlayerMovement : MonoBehaviour
      {
      public float moveSpeed= 5f;
      public Rigidbody rb;
      public Camera cam;
      Vector3 movement;
      Vector3 mousePos;
      // Update is called once per frame
      void Update()
      {
      movement.x = Input.GetAxisRaw("Horizontal");
      movement.y = Input.GetAxisRaw("Vertical");
      mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
      }
      private void FixedUpdate()
      {
      rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
      Vector3 lookDir = mousePos - rb.position;
      float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f;
      rb.rotation = angle;
      }
      }

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

      ​@@Alex-oy4qn
      private void FixedUpdate()
      {
      rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
      rb.rotation = Quaternion.lookdirection(mausepos-rb.pos, vector3.forward);
      }

    • @Alex-oy4qn
      @Alex-oy4qn 4 года назад +1

      @@gorkemvids4839 thx

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

    I like your videos because you explain what's happening and that's very useful for me as a beginner

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

    Well, I guess I don't mind my Unity teacher being the Lord himself. All hail Brackeys!

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

    My boy Brackeys is slowly but surely becoming the John Wick of Game Devs. Look at that mane 😎
    "People keep asking me if I've implemented a back button. I'm thinkin I'll implement a back button" 😂

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

    one of the best videos of yours! simple and complete not split in many parts!

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

    Bullet Code:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class bullet : MonoBehaviour
    {
    public GameObject hitEffect;
    private float effectDuration;
    void Start()
    {
    effectDuration = hitEffect.GetComponent().main.startLifetime.constant;
    }
    void OnCollisionEnter2D(Collision2D collision)
    {
    GameObject effect = Instantiate(hitEffect, transform.position, Quaternion.identity);
    Destroy(effect, effectDuration);
    Destroy(gameObject);
    }
    }

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

      Don´t you mean "Code Bullet"?

    • @coffinbonq
      @coffinbonq 9 месяцев назад

      my bullets do not destroy themselves on collision but the code is exactly the same as here, could you suggest an
      ything?

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

    Well, didn't think I'd end up inadvertently finding this by searching the *exact title* on Google a mere twenty minutes after it got posted.

  • @Fremdscham-uu3xv
    @Fremdscham-uu3xv 3 года назад +4

    9:37 "rb.rotation = angle" angle is red marked "CS0029"

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

    Bro i love you so much that I actually be watching the ad's

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

    Doesnt know why but that shooting looks really satisfying :O

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

    You're breathtaking, Brackeys!

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

      george floyd?
      can u look in the future

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

    brackey you are my best teacher

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

    Yet again, brackeys reads my mind.

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

    I don´t know what I would do without your videos. I´m sure, I couldn´t complete at least one game. Thanks.

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

    I didn't know john wick is making unity tutorials.

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

    when i was making the shooting code when i had just started out in unity i didnt know anything about what he was saying but now after me getting 3 months of experience... i find it really clever he played around with like the variables and using the "= sign" to reference to the bullet and get its rigidbody2d and transfer it to the player rigidbody2d im bad at explaining but in my head its a really cool thing to use references like this

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

    Lol i was just learning how to make a topdown game and could figure out the shooting lol....
    Perfect timing!
    Can you please make a 1 month jam?

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

      1 month is a lot

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

      Cus you can make a game in 1 day
      Wich can be a cube with physics and an enemy spawnere and your done
      lol

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

      1 month is too much. Even 1 week was pretty long so no, 1 month game jam is out of the question imo.

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

      Roleks And Mao dude he legit JUST SAID he is having trouble with something pretty basic. Ok well, not THAT basic but it's not exactly computer science either, meaning that Sir is probably a beginner. And usually, they need more time. I honestly think a 1-month jam would be good for beginners.

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

      @@zokaper801 nope, 1 month jam is too much even for a beginner. A week is alright, but 1 month is too much.

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

    Asbjörn, you are breath-taking

  • @nagybalint1474
    @nagybalint1474 5 лет назад +10

    when i got back form school i will try recreating something like this good work! +like :)

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

      @Yolo KFC Maybe he isn't a english native speaker? He misspelled one word and you are calling him a kid?? What if he is 19 y.o. lmfao

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

      @Yolo KFC Go back to school, kid.

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

      :)

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

    He has fully embraced the role as lord and savior of gamedev community.

  • @RealNachoyez
    @RealNachoyez 9 месяцев назад +2

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class PlayerMovement : MonoBehaviour
    {
    public float moveSpeed = 5f;
    public Rigidbody2D rb;
    public Camera cam;
    Vector2 movement;
    Vector2 mousePos;
    // Update is called once per frame
    void Update()
    {
    movement.x = Input.GetAxisRaw("Horizontal");
    movement.y = Input.GetAxisRaw("Vertical");
    mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
    }
    private void FixedUpdate()
    {
    rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
    Vector2 lookDir = mousePos - rb.position;
    float angle = Mathf.Atan2(lookDir.y ,lookDir.x) * Mathf.Rad2Deg - 90f;
    rb.rotation = angle;
    }
    }

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

    Well...this tutorial is WAY better than the one I was working on, with the same end result. I went the raycasting route. I am gonna attempt my dream game (GTA+NFS+CAR MECHANIC SIM) in top down 2D. You are the best, Brackeys! Awesome teaching skills!

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

      You can’t attempt your dream game with this crappy guy he dosent even teach you anything he just says hey retard do this

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

      @@TrashEntertainment_hehe That's okay! Everybody has their own style. It makes the world interesting! I've learned so much since this video from so many talented people!
      I just discovered Greg Dev Stuff. Thick Russian accent but amazing channel, check it out!

    • @7fuss6
      @7fuss6 Год назад

      have u start ur dream game ?

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

      How is your dream game going??

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

      @@redwaffle6717 I'm afraid I have lost most of my vision now and only JUST got a computer going again after quite some time. If I can still find my way around a game engine I just might start back up again lol Thanks for asking!

  • @devnyorm944
    @devnyorm944 5 лет назад +20

    NOTE : the character pack is no longer available, for me atleast

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

      You can buy it for 5$ but you probably searched for free assets, thats why it did not show up.

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

      @@apolion6197 I think they caught on to the high volume of free downloads coming from here and decided they'd adjust things according to supply & demand :)

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

      @@lozD83 yeah pretty smart move, but i still wont buy anyways.

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

    Brackeys you are reading my mind. i have been drifting in and out of game dev but this time i want to stick with it and whenever i start again i think of a cool game type to make you just upload a video on it. for example before i thought it would be fun to make a 2d game and of course you just made a video about it and now the same with top down shooting

  • @xXSuperLeagueSpieler_HDLPXx
    @xXSuperLeagueSpieler_HDLPXx 4 года назад +55

    *Its actualy fairly easy * (continues to speak in alien language)

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

      Reminds me of a fourth grade exercise that my teacher made us do.
      Try to explain to an alien how to make a peanut butter and jelly sandwich.
      She did literally everything we said. Literally.
      When someone said to put the peanut butter on the bread, she put the whole jar on top of the loaf.

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

      @@chaosmastermind That must have been fun

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

      @@sir_pheonez4048 It was extremely frustrating for the entire class to find the right words without her making a monkey paw mockery of it.

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

      @@chaosmastermind :| oh...

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

      Relay table

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

    your videos are just gold

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

    the armored soldiers pack thing isn't free anymore but thats cool i guess

  • @-VexyRS
    @-VexyRS 2 года назад

    This covered EXACTLY what I was struggling with!

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

    Can you please make *3d* game tutorials again?

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

    Even with brackeys gone from RUclips, the first thing that pops in my head whenever I encounter a problem is his name, he is basically the Jesus Christ of gamedev

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

    Hey Brakeys, can you do a tutorial on character selection? It would be really nice!

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

    float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg = 90f;
    show ing error The left-hand side of an assignment must be a variable, property or indexer

  • @jankkhvej434
    @jankkhvej434 4 года назад +37

    //I hope I saved you some time
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class shooting : MonoBehaviour
    {
    public Transform firePoint;
    public GameObject bulletPrefab;
    public float bulletForce = 20f;
    // Update is called once per frame
    void Update()
    {
    if(Input.GetButtonDown("Fire1"))
    {
    Shoot();
    }
    }
    void Shoot()
    {
    GameObject bullet = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
    Rigidbody2D rb = bullet.GetComponent();
    rb.AddForce(firePoint.up * bulletForce, ForceMode2D.Impulse);
    }
    }

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

      Absolute legend, my script didn't work but yours did, I must of spelt something wrong or something, thanks

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

      my hero

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

      i got 9 errors from this :/

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

      I fixed it was a simple mistake from me :)

    • @tsivilsඞ
      @tsivilsඞ 2 года назад +1

      @@heartloss3751 i am having issues too what did u do

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

    Thx for the video, Jason(unity college) is realy the man you need for advance to the next step in Unity after watching Brackeys.

  • @Alex-oy4qn
    @Alex-oy4qn 4 года назад +26

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class PlayerMovement : MonoBehaviour
    {
    public float moveSpeed= 5f;
    public Rigidbody rb;
    Vector3 movement;
    // Update is called once per frame
    void Update()
    {
    movement.x = Input.GetAxisRaw("Horizontal");
    movement.y = Input.GetAxisRaw("Vertical");
    }
    private void FixedUpdate()
    {
    rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
    }
    }

    • @72karts
      @72karts 4 года назад +2

      this helped thanks

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

      @ImJelli6117 Gone
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class playerMovement : MonoBehaviour
      {
      public float speed;
      public float jump;
      private float move;
      private Rigidbody2D rb;

      void Start()
      {
      rb = GetComponent();
      }

      void Update()
      {
      move = Input.GetAxis("Horizontal");
      rb.velocity = new Vector2(move * speed, rb.velocity.y);
      if (Input.GetButtonDown("Jump"))
      {
      rb.AddForce(new Vector2(rb.velocity.x ,jump));

      }
      }

      }

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

      I cant make a float even when i make it it does nothing nvm im just dumb

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

    Man looks like the coolest Viking I've ever seen

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

    Hi.. 👐there have been many updates to the Unity Engine lately so therefore could you make another MAKE YOUR OWN VIDEO GAME TUTORIAL with latest programming tips... Plz that would help a lot

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

    8:38
    The explanation why the y component comes first is the following:
    In trigonometry the tangent of an angle is the ratio of the y component to the x component of a line, y/x. It's like the slope the line makes:
    tan(angle) = y/x
    We got the x and y component, and we need to get the angle. To translate the slope to an angle we gotta inverse the tangent, aka use the arctangent. So what you actually do here is get the arctangent of the tangent of the angle, which actually is equal to the arctangent of the ratio:
    atan(tan(angle)) = atan(y/x)
    Aand cuz the y comes before the x in the ratio, it's atan(y, x) in unty.
    ...
    Probably

    • @darkshot3700
      @darkshot3700 5 месяцев назад

      Are the armored tanks assets free for you?

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

    Would be interested to see 2D melee combat covered. I tried doing it once and it was a bit of a mess... nice vid and hair :D

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

      brackeys did do that actually
      ruclips.net/video/sPiVz1k-fEs/видео.html

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

    Yessss I was loooking for this for a long time

  • @eyecandy3437
    @eyecandy3437 4 года назад +9

    There is small problem with movement code - moving in X direction is faster than horizontally or vertically. This should fix the problem, put this in FixedUpdate :
    float m;
    if (movement.x * movement.y != 0) // checking if input is X shape
    m = 0.707f; // when moving in X directions. sin45 = 0.707
    else m = 1f; // move speed normal
    rb.MovePosition(rb.position + movement * m * moveSpeed * Time.fixedDeltaTime);

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

      Or just normalize movement?

    • @joaoandrea.1954
      @joaoandrea.1954 2 года назад

      if (movement.magnitude > 1.0f)
      movement.Normalize();
      you can use this too, movement is a Vector2, the same as your code.

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

      @@joaoandrea.1954 you can just get rid of some lines and just use
      movement = movement.normalized;

    • @joaoandrea.1954
      @joaoandrea.1954 2 года назад

      @@Nugg3tNugg3t yep, your right, i figured It out a few days ago by debuging, however i have forgotten to update this comment. Thx for optimize it!!

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

    I love this video because I was thinking of making a game using these exact mechanics. Thank you so much.

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

    Don't mind me,i just doing a stamps for myself.
    2:56 - 4:57 player movement
    5:21 -10:23 - 14:46 Player aiming

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

      @Yolo KFC i said i just doing a stamp FOR MY SELF!!!!!!!!!!!!!!!!!!!!!!

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

      Lmao

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

    I was just wondering how to do this yesterday! Now this is super convenient. Great work, as always.

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

    // This has the same effect as his aiming code, but you're letting the engine handle the math instead. Assumes your sprite is facing up by default.
    Vector3 v = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    v -= transform.position;
    v.z = 0;
    transform.up = v;

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

      It causes wierd sprite flipping glitch when aiming directly up. Rather use brackeys method

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

      This is a lifesaver, I'm using cinemachine and couldn't get it to work right w/ the Brackeys method (forcefully considered the mouse to always be in the center). This method managed to fix the problem I was running in to. Kudos to you!

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

    Jason is personally bankrolling Brackeys!

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

    I need help, every time I try to shoot the bullet would only shoot up no matter where I would aim it

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

    Once again an amazing and useful video! Would love to see a video from you about the 2D Shadergraph that got introduced in 2019.2f
    Keep up the good work

  • @cheapgriffy3497
    @cheapgriffy3497 4 года назад +15

    if "Fire1" dosent work there is "Mouse0"

    • @gamer-lo7vl
      @gamer-lo7vl 3 года назад

      Thanks but destroy(gameobject); does not work

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

    I really dig the new style of yours with that hair!

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

    Great Tutorials as always bud, my explosion animation is playing twice before being destroyed however, not sure what i did wrong there.

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

      Steven Moore You might check to see if you have loop time on. If so turn it off then it will only play once. Idk if that’s your problem but good luck!

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

    Harikasın!! Sen en takıldığım işi çözmeme yardım ettin ya; Allah'ta senin yolunu açık etsin :))

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

      Amin

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

      @@aaaaaaaaaaaaaaaaaaaaaaaaa275 ben zaten kendi yolunu aç demediğim için; hakkın rahmetine ulaşacağın gün "Allah taksiratını affetsin" diye arkandan rahmet duasında bulunacakların dualarını ilettiği makam tüm dilleri biliyo problem yok hatta pek bi anlamı var 😉

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

    Brackeys: Only one that participates in own game jam.
    Also Brackeys: Makes video on topdown shooting.
    Me: Where’s the game jam video! : )

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

      I think many of the creators of the collaboration jam did join in as well. BTP did!

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

    out of curiosity is there a way to get a weapon to float around the player as a pivot point that rotates around the player based on the mouses position ?

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

    OMG!!! For the first time brackeys didn't deleted the two using tags😲😲

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

    Ok so- I was originally gonna just use a triangle for my model, but somehow I cant manage to make a triangle in unity 2d, so I struggled for a bit before deciding to just use the soldier you used from the unity store. Turns out it's no longer free, so now I'm struggling trying to find a free top down model that would work for this. Fun fact, there are none.

  • @what-mj3kw
    @what-mj3kw 5 лет назад +1

    That hair fits you so well!

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

    There is a problem: He set rb.rotation to a float, but rb.rotation is a Quaternion so that didn't work for me.
    Edit: I think its bc im in 3d

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

      Try quaternion.euler and put the angle in the axis your rotating around

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

    This video was extremely helpful, thank you!

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

    My character is moving back when ever i shot and my bullets come out at a -90 degree angle and i dont know how to fix it

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

      I fixed it all I had to do was change my gun point rotation to -90.

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

      @@jhosuarodriguez8243 Thanks!!

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

      My bullet is not showing

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

      Relja Margetic pls can you send me that code I don’t know where to change the gun point rotation

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

    if your using the new input system, in update
    void Update()
    {
    moveDirection = playerControls.ReadValue();
    mousePos = cam.ScreenToWorldPoint(Mouse.current.position.ReadValue());

    }
    and in fixed update change the - 90f to + 90f

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

    Hair looks good dude, almost as good as mine :P muahaha I made it to 1k subs. How many more before we can collab? lol