TOP DOWN SHOOTING in Unity

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

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

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

    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 года назад +376

    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

    • @null.zipped
      @null.zipped 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 лет назад +772

    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 5 лет назад +67

      R/whoosh

    • @aisforanimate4703
      @aisforanimate4703 5 лет назад +42

      *I've always wanted to say that*

    • @aidangalbraith1904
      @aidangalbraith1904 5 лет назад +32

      @@aisforanimate4703r/foundthemobileuser

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

      @@aisforanimate4703 r/itswooooshwith4os

  • @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

  • @silentminecrafter6234
    @silentminecrafter6234 5 лет назад +46

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

  • @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

  • @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.

  • @XtrminatR7
    @XtrminatR7 11 месяцев назад +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!

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

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

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

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

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

    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.

  • @forvicommits
    @forvicommits 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.

  • @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

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

    *_Thank you for tuning in at Brackeys_*

  • @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 :)

  • @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...

    • @LarryDoesGam1ng
      @LarryDoesGam1ng 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 :)

  • @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 :)

  • @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

  • @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.

  • @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.

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

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

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

    I like this new hairstyle man :)

  • @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!

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

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

  • @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!

  • @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!

  • @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 :(

  • @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! 💙💙💙

  • @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.

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

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

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

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

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

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

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

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

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

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

  • @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!

  • @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.

  • @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" 😂

  • @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

  • @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

  • @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

  • @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*

  • @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

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

    You're breathtaking, Brackeys!

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

      george floyd?
      can u look in the future

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

    Doesnt know why but that shooting looks really satisfying :O

  • @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

  • @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!

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

    Yet again, brackeys reads my mind.

  • @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.

  • @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.

  • @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.

  • @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.

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

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

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

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

  • @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.

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

    We miss you

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

      Can u say which version is this

  • @jokerblade6719
    @jokerblade6719 5 лет назад +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 ?

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

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

  • @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 3 года назад

      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!!

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

    This covered EXACTLY what I was struggling with!

  • @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

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

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

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

    brackey you are my best teacher

  • @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

  • @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

  • @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

  • @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

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

    As always, tutorial was great
    Thank you 😊

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

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

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

    Jason is personally bankrolling Brackeys!

  • @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

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

    if "Fire1" dosent work there is "Mouse0"

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

      Thanks but destroy(gameobject); does not work

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

    Yessss I was loooking for this for a long time

  • @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!

  • @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 😉

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

    Brackeys hair is now Keanu Reeves

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

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

  • @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.

  • @wizwizard7382
    @wizwizard7382 9 месяцев назад +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 7 месяцев назад

      Are the armored tanks assets free for you?

  • @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 10 месяцев назад

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

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

    Asbjörn, you are breath-taking

  • @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

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

    Hi! Thank you for the video. What is a "muscle flare"? ( 18:54 ) Google doesn't give much useful information on what that could be.

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

      He actually said "muzzle flare". Not too sure what a muscle flare is either, haha.

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

      @@Deeox2 Ah, that makes a lot more sense. I thought I misheard so I turned on the Closed Captions and they said "Muscle Flare" too. Thanks for clearing that up!

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

    Hey, could you tell me if this would work with 3D ?

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

    Man looks like the coolest Viking I've ever seen

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

    I have a problem, whenever I add the bullet script it only plays the animation but the actual bullet never comes out

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

      Yeah I have the same issue, actually I can see the bullet for a brief moment and if I shoot quickly while moving the mouse I see at bullet flying through. I think the bullet is colliding with itself or something...

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

      Hey I doubt you're still looking for the solution to this after 4 months, but it might help out someone else. If your bullet explodes as soon as it comes out of your gun, move your FirePoint slightly away from the player so the bullet doesn't touch the Player when it is instantiated, it worked for me.

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

      @@casachezdoom2588 Dude thank you. I honestly feel like an idiot for not thinking of that

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

      @@dooperGaming Glad I could be of some help!

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

    thank you so much for ALL of your videos they are a very big help!!!

  • @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!

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

    You are the best, Brackeys you helped me so much thank you, you are just the best.

  • @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

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

    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 7 месяцев назад

      Are the armored tanks assets free for you?

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

    How does this work? I have to do this in the update function to get this to work:
    var rawmouse = Input.mousePosition;
    rawmouse.z = 10;
    mousePos = cam.ScreenToWorldPoint(rawmouse);

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

      You should change the projection of the camera to orthographic (or choose make your project as 2D)

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

    That hair fits you so well!

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

    My "Player" does not follow to Cursor. But, he follow to camera, which stand still. Help! (p.s. sorry for my english)

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

      Try this in the update function (replace mousePos = cam.ScreenToWorldPoint(Input.mousePosition)
      var rawmouse = Input.mousePosition;
      rawmouse.z = 10;
      mousePos = cam.ScreenToWorldPoint(rawmouse);

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

      @@2dinunity10 Thank you!!!!!

  • @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