Awesome video, and enjoy your holiday break! Looking forward to 2020 Brakcyes! :D
@jansasinowski73195 жыл бұрын
What are you doing here dani haha
@Lazy44444 жыл бұрын
You are here because you are going to do a 2D melee combat game...(or you cant do that?)
@vuleproduction4434 жыл бұрын
Y e s
@crilein24254 жыл бұрын
Yes brakcyes, eeeh wait... BRAKCYES? 😂
@dvxv40164 жыл бұрын
@@jansasinowski7319 He likes to see Brackeys videos
@orange13045 жыл бұрын
"He gets hurt and he dies. Awesome!" Damn, that's quite awkward out of context.
@AbirHasanDipu5 жыл бұрын
Death is awesome. You should try it sometime.
@moric46775 жыл бұрын
@@AbirHasanDipu as you have tried before
@apersonthatsucksatnames11335 жыл бұрын
out of context at 18:22
@salesman43965 жыл бұрын
@@snekpliskin Police will find out that there are multiple people involved as the word "lets" is used. Run !!
@acid37194 жыл бұрын
1k th like:)
@BujGames785 жыл бұрын
This has an issue tough . The overlap circle gets triggered exactly the moment we press attack button , and if we have a longer animation , we will miss all the enemys we want to hit . This happened to me but it can be fixed using Animation Events and simply put all the attack code except the animation trigger in a new public attack function and then call it from the animation at the right time. And then , in our code we just trigger the animation when we press the attack button . A great tutorial tough ! Love it
@csdiabo4 жыл бұрын
This is actually a really good suggestion, thanks! :D
@paulwin90364 жыл бұрын
You can us IEnumerator
@IInathanwhyII4 жыл бұрын
how? pls help or show code.
@g4ble4 жыл бұрын
@@paulwin9036 For the timing? I think using Animation Events is easier to set up and use, because you can actually see the animation while setting the event.
@silverchariot63214 жыл бұрын
you just made my day thank you so much!
@mccheong72885 жыл бұрын
Hi, there are some in comment ask how to do combo attacks. So just thought to post my reply here (animator side only): There is actually a easy way to do that. In the animator, create an Idle State and your 3 attack States and a Boolean variable. Make each state a transition to Idle on condition the Boolean variable is False. Then also make transitions to link from one attack to another on condition the Boolean variable is True. Therefore as long as the State detect the Boolean is True it will play the sequence of attack. And if it detect a False, it will return to Idle state. However there are many ways on the input implementation side depending on your code. And also how the combo is execute like do the combo execute as long as the button is press 3 time or press on specific time or as long as button is depress. So I left it up to you.
@sharif475 жыл бұрын
Wouldn't it be better to use an integer instead? That way, you can make sure only one value for attack animation will be valid at a time. Also, how about using a blend tree? (Even though the main purpose of a blend tree is too blend animations.)
@filipstudeny5 жыл бұрын
@@sharif47 I wouldn't recommend using blend tree.Since most of the time you want the attack animation to be played fully and blending attacking animations does look terrible and can cause lots of problems. if you have hitboxes that depend on the lenght of the attacking animations. For example 2) Sword hitbox getting activated on the start of the attacking animation and disabling on the end of the attacking animation, using blend tree you would have to create a system that reads data from the animator and sends it back to the player so that the hitbox gets activated/disabled at the right time.
@ramiroghilino45464 жыл бұрын
Hey, i'm interested in making a combo with 3 attacks, wich is the code i shloud add to make it (I have the things of your comment already)
@AlecAndersonZx5 жыл бұрын
Wow the timing could not be more perfect I really needed this and all the other tutorials I found were low quality
@mattice90835 жыл бұрын
Ikr same. I'm working on a super Smash Bros game and just got working on the combat
@winterfallstudios71015 жыл бұрын
@@mattice9083is it a smash like game or a smash fan game?
@mattice90835 жыл бұрын
Meh more 2d fighter more similiar to towerfall but with sword combat and shurikens
@descar16265 жыл бұрын
"so, lets slice up some enemies" *slices himself*
@clivegrey85575 жыл бұрын
You think Brackeys is trying to send us some type of cryptic message??
@ZiRR05 жыл бұрын
slies?
@QS15975 жыл бұрын
You are your biggest enemy
@FreeD00M5 жыл бұрын
it was the view of the enemy...
@descar16265 жыл бұрын
@@FreeD00M oh, shit, I'm sorry, you're right
@DenVosReinaert4 жыл бұрын
The beauty of starting out in Game Development, the awkward struggle to figure out something as simple as this, being frustrated, and then just happening to stumble upon a video like this. This video is great and makes things so much simpler than what I was trying to do, thank you.
@spacebrain19444 жыл бұрын
Literally same fucking thing *just* happened to me. So funny
@agustinquindimil65946 ай бұрын
BRO, YOU SAVED MY EXAM PRETTY MUCH, THIS HELPS ME SO MUCH
@seaderwerks3046 Жыл бұрын
This took me way longer to figure out than it should of, but if you're having the issue where you can attack your enemy from one side, but not the other, its because the "attack point" circle is placed IN FRONT of your character. To fix this, move the attack point to the CENTER of your player model, and size the attack point around you. Where-ever that attack point circle touches, you can attack. hope this saves someone hours of googling and item searching. I only figured it out from watching another video. Hope this helps.
@madrain3941 Жыл бұрын
can you tell me what the other videos title was? I'm struggling with this tutorial also.
@seaderwerks3046 Жыл бұрын
@@madrain3941 The video didn't address anything specifically with this tutorial. It was showing something else and I just happened to notice that there was a gizmo wrapped over the center of the player and thats how I figured it out. You can write a script that rotates the attack point with the player that will help with the player attack from only the right or attacking 'behind' you.
@ariweizman9041 Жыл бұрын
holy thank you so much i was just struggling with that!
@migue4044 Жыл бұрын
But then you could attack enemies that are behind you right? Maybe theres a way to check wich side are you looking at, i have the same problem but didnt check if that would work or how could i do it, if you figured a better way to do it and you can tell me that would be really helpful
@seaderwerks3046 Жыл бұрын
@@migue4044 Yes! This was written when I was still learning more about this also. Eventually I found a way to make the attackpoint flip when the player does. So if the player was facing -1 then it would be facing the left, and if the player is facing 1, it goes to the right. Just plug them in with your Flip functions. You could also go to GPT and ask for a "offset" script that you can plug into your attackpoint gizmo and have it specifically positioned. so you can adjust the gizmos range on the X and Y.
@joachimg78725 жыл бұрын
Wow video came out exactly while I was having a problem doing this 😁
@2Asspie5 жыл бұрын
same lol
@brady13515 жыл бұрын
Hey brackets, your channel has got me obsessed with learning how to code, I’m trying to find time to do it and I will watch all your tutorials.
@idk-iu8vn4 жыл бұрын
Anakin Skywalker his name is brackeys
@CreepyUncleIdjit4 жыл бұрын
Definitely worth it, he is amazing at explaining how to create games of multiple genres in unity.
@qtnova69504 жыл бұрын
Brackets👏👏👏
@ryzenpeak4 жыл бұрын
@Fate I love how insults in game dev comments are like passive aggressive and almost inspirational, but in every other comments section its STFU STUPID. LOL
@The-Athenian4 жыл бұрын
No you won't lol
@shanesawyer33912 жыл бұрын
I’ve watched a lot of KZbin videos and series on scripting and Unity. This channel is by far the best, and most effective way to genuinely learn that I’ve come across.
@HectorMendoza20014 жыл бұрын
I see at least a few people asked about flipping the attack point. Since I bet moving the character to the left is just an X-flip of the animation, the attack point stays to the right of the player all the time (this being in my view a bug). My recommendation would be to do some vector math from the center point of the character while taking into account the direction the character is facing. You can easily store these vectors in a variable and tie them to your controls. This is not saying this video is not AWESOME and SUPER HELPFUL as everything else Brackeys does. THANKS BRACKEYS!
@calcite_dragon2 жыл бұрын
Great tutorial! Thanks! ...even though you're gone.
@BaronVonScrub3 жыл бұрын
Unless I completely missed something, I think there's something skipped over in the tutorial? Attack() is called on space being pressed, which should on that same frame immediately find the collisions and output the debug/damage. What is shown is a delay with the attack windup before the strike occurs, instead.
@LeooAi5 жыл бұрын
u guys can run the attack function in a animation event if u want timing with your attack animations but u have to to play the animation when u press the key and remove the attack function from there because its gonna run in the animation :D
@MinhocaMortifera5 жыл бұрын
Yeah, I make it too. 😁
@aquaarmour49245 жыл бұрын
This one of the only helpful comments in this brain-dead comment section.
@LeooAi5 жыл бұрын
Aqua Armour thanks 😅
@redtshirtgamingstudios21263 жыл бұрын
Brackeys: *Makes an if statement to prevent errors Unity's errors: You can't escape me that easily!
@lyamschuss87864 жыл бұрын
My Brain: See this! Me: But I'm not a game developer My Brain: Just in case...
@ПетърМихов-н9ю3 жыл бұрын
My brain: See this! Me: But I already created my own method of melee attacks and it works very well. My brain: Just in case
@stenty84643 жыл бұрын
funny thing that i don't understand almost everything in this video but i got the idea how it works
@viporal78983 жыл бұрын
@@stenty8464 way to go, smarty pant
@pumpkinpeen59373 жыл бұрын
why stop at one pant
@AhmedMohamed-zj1qc3 жыл бұрын
@@ПетърМихов-н9ю what is it
@VeNoM06195 жыл бұрын
Just a note, if you are doing 3d from a first person perspective, you don't want to sphere cast. Just a ray cast with a maximum distance, or simply attach a simple collider to the weapon you are using and check for collision on that as trigger only.
@narakko_xd7 ай бұрын
thanks man! I was trying to get it working for 1 hour in 3d
@fromagedecayenne17275 жыл бұрын
By far the best melee combat system tutorial i ever watched. Your videos are productive and very entertaining,please continue.
@PedroFerreiragm335 жыл бұрын
Your tutorials are so easy to follow that I'm pretty sure a baby could make a successful game with your tutorials alone 😃
@aurorapaisley74535 жыл бұрын
😆
@taylorheninger51965 жыл бұрын
Well I'm trying!!
@xXTheivesGuildXx5 жыл бұрын
Ehh. Honestly a baby would need to also have a computer which is pretty unlikely. And I don’t think a baby would understand most of the computer terms so you’re kinda wrong..
@Mikeul2GT5 жыл бұрын
@@xXTheivesGuildXx /woooshh
@VI.mp45 жыл бұрын
@KaiVideoSYT no it's r/woooosh
@hichambenriane6869 Жыл бұрын
Brackeys the master of unity
@donaldleow61195 жыл бұрын
Thank you very much for this video! I have struggled to make a melee combat work since forever and been stuck doing platform shooter games instead...this is a game changer for me!!!
@donaldleow61195 жыл бұрын
Just to add on, if there's a melee combo system that works with the method you used in this video, it would be great if you could post that as well!
@SidMakesGames5 жыл бұрын
I know right bro, melee combat just add another flavor to the game. Not just melee combat for Player but it's great to have enemies which actually attack player. I am covering the Enemy Melee Combat system on my channel. You might love it too
@satobi462 жыл бұрын
Blackthornprod and Brackeys have the best unity video tutorials!
@DrewofDonuts4 жыл бұрын
Make sure the Gizmos button in checked in the editor! I repeat, do not waste an hour trying to get OnDrawGizmosSelected to work because you didn't check the button and now you hate yourself because you ate half a cake to get through the stress!
@mralien95473 жыл бұрын
God bless you
@sureshchandrajain96143 жыл бұрын
Can you please elaborate ? I am stuck on that exact step. My player combat script simply isn't accepting the acceptpoint. If i drag and drop, it appears for a sec, and then it is again set to None. Pretty sure my gizmos button is set to on though.
@kaijuuking3 жыл бұрын
Jfc man, I've just wasted an hour trying to figure it out, I wish I see your comment sooner
@dhruvagrawal38564 жыл бұрын
If you were not there I would not have been able to make combat system for my game and I tried a lot making that on my own but failed then I came to your video that I remembered that you made thanks you are a saver and a god of game development THANKS A LOT
@andrinluthi95814 жыл бұрын
My death-animation from the Enemy does not stop
@kingofcode13234 жыл бұрын
Disable looping in the animator...
@alessandroiervo Жыл бұрын
Best melee combat video i've seen, very simple and intuitive.
@cinemacat41083 жыл бұрын
if you want to simulate the attack in physics you can make disable the collider of the melee and when you want the player to hit something in the animation add a key frame of enabling the collider and after that frame disable the collider this is a solution of many problems in the comment section :D But with this method you can't use brackey's health system you should use the OnCollisionEnter2D
@jozimastar952 жыл бұрын
9:00 if anyone cant chose .position just make it gameopj instead of transform or use attackpos.transform.position
@finnleyhauser5362 Жыл бұрын
So for the floor in my game I used a tileset with a box 2D collider which means whenever the enemy dies it falls through the floor anyway to fix this also whenever I attack the enemy I can swing as fast as I want and other than that this is a great video and has been tons of help.
@senkerog Жыл бұрын
Also using a tileset and had the same issue, this line before disabling the collider will keep the enemy in place GetComponent().isKinematic = true;
@gewsbahks6224 Жыл бұрын
@@senkerog Thanks!
@burkanaydn9944 Жыл бұрын
use "animator = GetComponent();" in update
@zjin_99Ай бұрын
this is awesome! this is exactly what i needed. so many other people used raycast or something else that basically only hit one enemy, which doesn't really accomplish what i want for slashing that may hit multiple enemies
@yoelmarquez50294 жыл бұрын
I see Dani in all the game development videos I watch lmao
@Syr3 Жыл бұрын
Brackeys is simply the best. Most educational videos on the platform
@goldenredstone045 жыл бұрын
I have been struggling with this all week and this explained exactly how to do it. Thank you!
@qhailashnikov5 жыл бұрын
Brackeys is closing to 1M subs yay
@jamesalbus79915 жыл бұрын
1:18 absolutely Quackers mate 😂
@andrewcgs4 жыл бұрын
1:10 DUCK TAPES! WHOO-OHH!
@eziostone11095 жыл бұрын
Geez Brackeys you make it look soo easy, I tried for *months* to do this with a little success in 3D and you make it in around a half hour :P Thanks man :D
@madpancake98915 жыл бұрын
I figured how to do it alone after like a month of making ambitious yet impossible to complete games so it's not this hard. Maybe you're not really working on it just launching unity for 10 minutes a week.
@emailakkont65204 жыл бұрын
@@madpancake9891 You're such a special little snowflake :-)
@beri41384 жыл бұрын
@@madpancake9891 Yeah? Well I got all the golden berries in Celeste. Get on my level.
@madpancake98914 жыл бұрын
@@beri4138 I'll never beat you, but I'll try senpai
@madpancake98914 жыл бұрын
@@emailakkont6520 yeah i was trying to make it sound funny, not smart-assy, kinda stupid as I've trashed Unity just after writing this comment.
@keithwilkes7069 Жыл бұрын
Ive been coding for two years... this is months of knowledge in a single video. Huh, wish i found this guy sooner.
@someone-js6pg5 жыл бұрын
Please do another beginner game series i'm not even a beginner and i want another one. it's just fun to do
@PhuocNguyen-xq2ub Жыл бұрын
I've just started to learn Unity and luckily seen these your videos, it's truly practical
@kseroxe2 жыл бұрын
From my expirience there are many other ways to create a melee combat in your game. Personally I just create animation, which activates and deactivates trigger around the sword/spear e.t.c. at the right moment.
@timurradman39992 жыл бұрын
You can't do that if it was a fighting game, different characters will have different triggers :) it's painful to set it in animations
@silversoulboy87064 жыл бұрын
The advertisments on these videos are the best
@celalozdemir85653 жыл бұрын
18:21 'He gets hurt and he DIES...Awesome!"
@willlacey76214 жыл бұрын
Recently found your channel, it has since really been helping me in Unity! Much thanks, Brackeys! :)
@theonetruedonut5 жыл бұрын
I would love to see a tutorial on tactics games (games like advanced wars or fire emblem)
@ZiRR05 жыл бұрын
Nice profile pic!
@theonetruedonut5 жыл бұрын
@@ZiRR0 thanks I drew it myself
@ZiRR05 жыл бұрын
@@theonetruedonut Mind telling me what program you used?
@theonetruedonut5 жыл бұрын
@@ZiRR0 Gravit Designer but I also recommend Inkscape
@ZiRR05 жыл бұрын
@@theonetruedonut Thanks!
@felipesuarez48202 ай бұрын
This guy is just amazing, men.
@quimtorra39815 жыл бұрын
Next one has to be "Melee Combat COMBOS in Unity", or something about attack sequence, because repeating the same animation over and over isn't really beautifull for the player. It would really help a lot Nice video btw
@deadrosas4 жыл бұрын
Quim Torra just need a static variable and attack based on that
@nutsquirrel844 жыл бұрын
Yeah i couldnt figured out combo system too. How can i check for second attack i couldnt find.
@beri41384 жыл бұрын
Blasphemous and Hollow Knight disagree
@birgerevan5 жыл бұрын
Pls, do a tutorial on the new ECS (DOTS), and the newmultiplayer packages
@aleef17355 жыл бұрын
I'd love to see a video on how to use the multiplayer system from the FPS Sample in a new project. I'd also pay for it.
@lethn29295 жыл бұрын
@@aleef1735 yes the new unity multiplayer stuff desperately needs looking at and some proper tutorials and documentation.
@corey67965 жыл бұрын
Yes
@xXTheivesGuildXx5 жыл бұрын
Birger E yes I need to figure out multiplayer for my game
@NANI-cp9mg5 жыл бұрын
Yes, please do this!
@ODCrab5 жыл бұрын
Made me feel better about my melee system. The script got a little more complicated when I tried to it compatible with all basic colliders and compound ones. The main difference is that my "hit point" tracks the weapon bone and it needs to be check every fixed update during the animation. I ended up combining it with a StateMachineBehaviour to confine the checks to the animation and cashing the collision log between checks to prevent redundant calls. I also made a pseudo "collision info" object to store some basic info that I use for effects and knock back. I was kind of worried that I was over complicating things. But I just couldn't figure out how to make something behave like a trigger but still get physics info I need with the built in system. I ended up learning a lot about StateMachineBehaviours. They are pretty cool and I never see anybody mention them.
@Exorion1er5 жыл бұрын
Most of the comments : "Next time show how to make a fully fledged game ready to be sold" *facepalm*
@SuperMinecraft5675 жыл бұрын
Well technically did that already... Many times.
@elektra815164 жыл бұрын
@@SuperMinecraft567 not really store-ready though, mostly prototypes
@elektra815164 жыл бұрын
Something like "Can you make an MMO RPG Battle royale tutorial please?"
@jjj77904 жыл бұрын
@@elektra81516 The tutorial video for a store-ready game is just going to be "Work on your game for potentially years in a repetitive cycle of feature implementation, getting feedback, and bug-fixing, until you run out of time or money."
@beri41384 жыл бұрын
CAN YOU MAKE A GAME LIKE BORDERLANDS 3 OR GTA 5 THANKS
@alejandrosanchezsalcedo70763 жыл бұрын
Thank you for the Alt+arrow keys shortcut!!!
@technotechmusic5 жыл бұрын
Your 2D series is very helpful, thank you. Please do more!
@parmesanzero7678 Жыл бұрын
This was a better tutorial and gave me a better understanding than much longer and more involved ones in how to use unity.
@Salmontres4 жыл бұрын
any chance of getting a combo system tutorial? Doesn't need to be complex, but I'd love to see how you tackle things like stringing together attack combos, but allowing for a chance to drop the combo if the keys are pressed too fast or something
@DZ_978 ай бұрын
i love Brackeys hes always got everything i need
@michaelmietz18003 жыл бұрын
Awesome video! This helped me a bunch! One question though: How do you make the attackpoint flip to the other side when you sprite fliX?
@InternationalConglomerate3 жыл бұрын
Set the localPosition on the transform to a negative vector2
@GameAdonis3 жыл бұрын
@@InternationalConglomerate in script or in editor
@InternationalConglomerate3 жыл бұрын
@@GameAdonis In script, you want to set it so that it will flip to the corresponding direction you are moving programmatically. Depending on how you do it you may need to put in some checks to make sure it isn't already on the correct side or it will flip back and forth constantly as you walk.
@evan738583 жыл бұрын
@@InternationalConglomerate I had this same issue, and what I wrote was attackPoint.localPosition = new Vector2(-attackPoint.position.x, attackPoint.position.y); but when I play test it as soon as a i start to move the attack point vanishes. help? 😅
@InternationalConglomerate3 жыл бұрын
@@evan73858 When it moves, double click the objects name in the hierarchy, should move your scene view to wherever it is. Likely it's a problem with the vector2 math. Could try changing attackPoint.position.x to attackPoint.localPosition.x as just from a glance I think that might be your problem. The position variable is going to be completely different from the localPosition variable so if you make it negative based off Position instead of localPosition it will be entirely different coords.
@n1nevite3 жыл бұрын
That cut in the start is very smooth!
@filipe_paixao4 жыл бұрын
just create a variable that can influence the attack rate, and that variable is influenced by the number of enemies killed. Then u get faster the more you kill. evolution is always the best thing in games.
@MrAronur Жыл бұрын
Watching this now in 2023, and it´s great help. Much love from an asspiring game dev from Norway
@throughdarkness4 жыл бұрын
Thank you so much for these videos, Brackeys! First time learner or unity and your information and presentation is easy for me to keep along with. really thanks a million!
@chiarab7574 Жыл бұрын
this is the best tutorial ive seen out there
@OutrageGames5 жыл бұрын
Very cool tutorial! I also use a similar technique in my melee combo system in one of my tutorials!
@telemonofficial69245 жыл бұрын
Oh hi there! :D
@OutrageGames5 жыл бұрын
@@telemonofficial6924 Hello! :)
@jk3rrr3 жыл бұрын
"You attack him 3rd time, he dies. Awesome!
@gamedev.11665 жыл бұрын
It is really really simple and easy to learn. thanks~
@comet_1952 жыл бұрын
aiidiasdwass
@adhhnory47422 жыл бұрын
つづき 15:53 敵のアニメーションの遷移から
@999-y8k5 жыл бұрын
Who’s Mee Lee?
@MehmetB.12317 күн бұрын
Mee Lee Sin
@Johnnys_Manager17 күн бұрын
chinese person
@emerymarks71393 жыл бұрын
I like how I watched this video despite 1. I'm not designing a video game. and 2. I don't have plans on designing a video game. But it really intrigued me, after going through a web development class, how similar the coding is.
@brockormond41315 жыл бұрын
Next show us how to make a 2D street fighter type character plz. Button combos and hit boxes etc
@ArnoldsKtm5 жыл бұрын
Every time you post a new video I have the urge to touch something in Unity again.
@StupidNSimplesns3 жыл бұрын
Same. Then I open Unity and realize I have no idea what I'm doing
@charKT-74615 жыл бұрын
The anime character 1 second after seeing enemy: 0:21
@xtragamez71953 жыл бұрын
if its naruto then its -6 seconds before seeing them lol
@fecoramirez5 жыл бұрын
I was searching for a melee tutorial in all your channel last week because of an urgency. Still really helpful.
@Victor-kt6qn4 жыл бұрын
Hope someone answers. Why is my enemy falling through the tiles when he dies? It plays the death animation but he just falls through.
@vigneshkrishnan56804 жыл бұрын
By any chance, is your collider set to be a trigger? In that case, the collision physics won't work
@thearonayne57314 жыл бұрын
Same problem here, did you find a solution?
@thearonayne57314 жыл бұрын
GetComponent().simulated = false; i ended up adding this to the void Die() method to disable gravity on the dead enemy model
@DarkGrisnak4 жыл бұрын
That's because you disable the collider when it dies. So if it is affected by some kind of gravity, it will fall through everything. I think a good way to avoid it would be to not disable the collider but instead change its layer and play with the layer matrix so the player won't interact with dead bodies. Putting it to background or whatever. I thought about it watching the video, hope it helps
@LURTZcz4 жыл бұрын
did you disable the script as in tutorial? You just need to disable correct component responsible for gravity.
@kitsunedotexe35874 жыл бұрын
took me so long to find a video to show how to make a health/damage system thats easy to understand, thank you!
@FlutterBros5 жыл бұрын
Love your content. I wish I could teach Unity like you. I try my best :)
@kingboba35285 жыл бұрын
Nice.
@boulderplayz67124 жыл бұрын
Man I love the way you work so hard on your videos, but put minimal ads!
@skyacaniadev22295 жыл бұрын
Is it OK to attach collider to the weapon directly? I'm in 3D.
@TheStriked5 жыл бұрын
I'm no developer, but I do think you need to ,so in order for the condition you gave to activate like in brackeys case display enemy hit
@haaly72455 жыл бұрын
Depends on the kind of combat system you want to make. Some games can be forgiving and say that an attack "hit" if a valid target is within a specific area. Others can be more punishing and check for actual collisions between the edge of the weapon and the target and the speed difference at the moment of the collision.
@SidMakesGames5 жыл бұрын
In general it is okay to attach collider to the weapon directly, no matter if you are in 3D or 2D. But it is not the best method to approach it. I always suggest to have hitbox on a separate child object as it gives you more flexibility and control over your hitbox. And you can easily make changes to it without messing the sprite or textures
@haaly72455 жыл бұрын
@@SidMakesGames that is the actual way they do it in SSBU. Edit: also you want to use primitives for your hitboxes because they're highly optimized.
@SidMakesGames5 жыл бұрын
@@haaly7245 I know right, that is the best method to approach it Also on primitives point, definitely, it is generally best to use primitives specially when you are creating a game like Street Fighter or SSBU where even mini-seconds matter
@foreignwarren73613 жыл бұрын
Thanks Brackeys!!! Now my zombie is killing my player!!! Please come back, we miss you too much!!!!!!!!
@jeykey71403 жыл бұрын
Had premade enemies (watched another tutorial by other creator) and my hits were not connection, in other words I was calling "attack()" method, but nothing was detected. Turns out you need a box collider 2D to make it work. Overall really good tutorial.
@PawzyPuppy Жыл бұрын
Been trying to get this to work for the better part of an hour. Thank you very much
@ThisIsE.R.C2 жыл бұрын
a tip on how to better the code is that, If you know how to use the IEnumerator method to make a pause before allowing the player to use the attack again. hope its not too confusing
@scottwarner9856 Жыл бұрын
That or create an isAttacking bool, and add it to the if condition: if (!isAttacking && Input.GetKeyDown(Keycode.Space)) { isAttacking = true; Attack(); } Then just add: "isAttacking = false;" to the end of the Attack() function, and you're set. This will make it so you cannot interrupt an attack animation with another attack animation, and eliminate the need to fine-tune a timer to your animation.
@ChooseKindness99995 жыл бұрын
I’ve been sitting here like: “Blackthornprod has tutorials on this! Sykoo has tutorials on this! GMTK even talks about it! Come on Brackeys!”
@CalamityVirus4 жыл бұрын
I love your videos. I found you when I first watched your "love is blind" game jam. I wish there was someone like you for Unreal as thats what I am being taught in college, but I enjoy your vids anyway
@albertvoiturier24832 жыл бұрын
I have an issue: the enemy keep playing death animation in loop even if I put ExitTime to 1 in the animator... Can someone help me please ?
@HomikiGaming2 жыл бұрын
I’ve hope someone will help because I have the same problem :(
@sogyshorts56629 ай бұрын
just disable loop
@nel99545 жыл бұрын
Exactly what I needed. For me it's probably your most useful video yet!
@iZahvi5 жыл бұрын
Awesome tutorial, this exactly what I was looking for and works like a charm. However since disabling enemy collider on death the enemy just falls through the ground. How do I get him to not fall through the ground and just lay on top of it like you have displayed in you video?
@iZahvi5 жыл бұрын
I figured something out, not sure if it's the best way to do it but I set the gravity on the enemy Rigidbody2D to 0 I'm hoping this wont effect anything when I go to create a patrol path for the enemy AI.
@DayOfCasual5 жыл бұрын
@@iZahvi it will make enemies killed in "air" not fall down.
@iZahvi5 жыл бұрын
@@DayOfCasual This is not too big of a deal for me as none of my enemies move along the vertical axis so they don't get caught in mid air except for my ghost but I have a death animation for him that he just shrinks until he disappears, though I may add other enemies later like bats that would not shrink before disappearing. Is there a better way to achieve having the enemy not fall through the floor on death before being destroyed?
@thenacho63543 жыл бұрын
@@DayOfCasual any other way to fix the problem?
@castlewhale47462 жыл бұрын
@@thenacho6354 This is a little late but if you specify what type of collider your attack will hit IE specifically box colliders, then you can give the enemy one box collider and one collider of another type and only disable the box collider when he dies, that way he doesn't fall through the floor once you disable his box collider. Not sure if it's the most elegant solution but it seems to work for me.
@FrostshadowStudios03104 жыл бұрын
This works great for my heavy action games. Thanks, man. I'm busy on a game that looks like Super Smash Brothers, just in a 3D environment, not 2.5D.
@whyisthismyrealname4 жыл бұрын
Quick question, would it not be better to determine your attack time with the animation length and/or speed?
@Ed-fs3xq3 жыл бұрын
It would be better
@FIREHIVE5 жыл бұрын
I can't belive it, I was just searching for a mele combat for my 2d game to implement it. And you posted this video, just on point.
@Futureblur5 жыл бұрын
Hey Brackeys! I really love your content and it always helped me!! Could you please make fps series (Hand + Gun animations) because the old series were old and the was a boring gun with no hand animations. It would be very nice! Thank you for everything!
@SzajKornik2 жыл бұрын
Night of Revenge has pretty cool combat
@andrejvicanovic35515 жыл бұрын
I like your "Whooo" 😀 and can you do a tutorial about 2D dashing, it would be nice!
@danivalentine12805 жыл бұрын
Assuming you're using rb.velocity for movement. I would think you would just do something like if(Input.GetKey(KeyCode.LeftShift)) { rb.velocity = force + sprintBoost; } If this isn't even close to what you wanted, I apologize haha
@danivalentine12805 жыл бұрын
force represents your current movement speed by the way. So however you set up your controller. And don't forget to multiply by Time.deltaTime
@andrejvicanovic35515 жыл бұрын
@@danivalentine1280 thank you for answer but i tried everything from rb.velocity to changing transform.position i just dont get it. I mean i will try, but thatnks!
@danteyema45005 жыл бұрын
Great idea👌
@danivalentine12805 жыл бұрын
@@andrejvicanovic3551 What you're looking for is a way to have a 2D character be able to move around, but then if you hold down a key to sprint? Maybe I'll make a tutorial for you if I get the time today.
@Mrityunjay73 жыл бұрын
I just want you to know that your videos have really helped me a lot Seriously
@landphin50674 жыл бұрын
I find it odd that he never brought up that this only works facing one way. The attack point doesn't move when facing the other direction...
@infernojoe4 жыл бұрын
it can actually work both ways! in Brackeys' 2D shooter tutorial, he mentions something about rotating the player. if the attackPoint is childed to the player, it rotates with the player! here's the 2D shooter tutorial: kzbin.info/www/bejne/rZyupJ9ngsuja68
@anirudhganesh77144 жыл бұрын
@@infernojoe you mean childed?
@infernojoe4 жыл бұрын
@@anirudhganesh7714 yes
@anirudhganesh77144 жыл бұрын
@@infernojoe well it does rotate but the tricky thing is it cannot track the sprite movement nor can you record animation for that I think. Haven't tried recording and moving the circle.
@meljerichoasakki20463 жыл бұрын
I found a way: use a blender tree in the animator, having a horizontal parameter already set, then use the left attack animations and the right ones as motions in this order. Disable the automate thresholds. If you want your default attack to be to the right, set the threshold right attack to 0.9
@TheRealKaiProton5 жыл бұрын
Fantastic, Ive had trouble understanding that Physics2D circle, command for a while, and you combined it with an array, and I still understood. Brilliant
@jantran53495 жыл бұрын
Well you can use. Debug.DrawRaycast thing to see where the hitbox is at.
@georgelucas70294 жыл бұрын
Thank you for the video Brackeys! I have only one issue though. The error "object reference not set to in an instance of an object" appears each time the attack button is pressed, inside the loop code: foreach (Collider2D enemy in hitEnemies) {enemy.GetComponent().TakeDamage(attackDamage);} Any suggestions to solve it?
@bonnyxavier76614 жыл бұрын
i'm getting this same problem, did u fix it?
@tiagoroquito86604 жыл бұрын
@@bonnyxavier7661 I had the same problem and it was because my "Enemy" script was actually named something else. I fixed it by changing what was inside the to what my "enemy" script name was
@mainchar_tv2 жыл бұрын
I know this is old but pretty sure there are people watching these vids even today. So, the comment above mine should fix the problem IF that is the problem you are facing but if not this might be it, for those who choose to group their enemies in a parent object and attach the script on it will also face the same issue. Attach your script to each enemy independently, hope that helps.
@federicofini75422 жыл бұрын
@@mainchar_tv I'm actually having the same issue: "object reference not set to in an instance of an object" I checked the scripts name and they are fine, and I don't have enemies grouped to a parent object. I'm literally banging my head against the wall...
@thegamerx18815 жыл бұрын
Happy new year Brackeys Enjoy the chrismas Stay happy
@RanonBentoPereira3 жыл бұрын
Could someone help me? :D When i press the attack while walking, the animation freezes and don't back to normal. Seems like a conflit between 2 keys pressed at same time. How do i solve it?Like, presse attack while walking and after release attack key, keep walking? Thank you!
@timq163 жыл бұрын
This helped me a lot! Thanks so much. You won’t be forgotten
@aisforanimate47035 жыл бұрын
I feel like every video he's like "hmm, I wonder what weird thing I can do with my hair today?"