A Perfect Jump in Unity - A Complete Guide

Sdílet
Vložit
  • čas přidán 11. 09. 2024
  • In this video we show you how to setup perfect Mario-like jumping in Unity.
    SUBSCRIBE: bit.ly/2Js78lE
    ============
    SUPPORT: / pressstartclub
    In this video, we cover:
    0:40 - Using a Ground Layer to detect if player is touching the ground
    1:23 - Understanding How RayCasts work
    2:15 - Applying a Physics2D.Raycast to check for Ground Collision
    3:16 - Testing and Tweaking Ground Collision
    3:55 - Using Gizmos.DrawLine
    5:10 - Applying a vertical force for jump
    6:25 - Adding Input Control
    7:25 - Explaining Fall Multiplier
    8:00 - Modifying Gravity and Physics
    9:30 - Testing out our perfect jump
    10:00 - Button Delay
    10:45 - Adding a Jump Delay
    11:50 - Adding RayCasts to both sides of our collider
    13:20 - Setting up a Jump Squeeze Animation
    14:55 - Applying the Jump Squeeze for landing
    15:42 - Falling Animation
    16:26 - Final Product
    PART 1: Animation
    • 2D Character Animation...
    PART 2: Running
    • Super Mario - Running ...
    "Better Jumping in Unity With Four Lines of Code" by Board to Bits:
    • Better Jumping in Unit...
    COPY & PASTE CODE FROM THIS TUTORIAL:
    pressstart.vip...
    MORE TUTORIALS:
    pressstart.vip...

Komentáře • 177

  • @Kyle-if5gd
    @Kyle-if5gd Před 4 lety +57

    This series is the best unity tutorials I've ever seen

  • @maestrogeicho
    @maestrogeicho Před 3 lety +6

    This is one of the best tutorial series for unity I've ever seen.

  • @konarkpahuja5047
    @konarkpahuja5047 Před 2 lety +1

    these tutorials are a godsend. did you/he ever make the wall jump tutorial?

  • @vonvetur
    @vonvetur Před 4 lety +2

    I had some issues with jumping so I started to look at random jumping tutorials, and basically all I needed was to reset the y velocity to 0 on jump. Thank you for that.

    • @n1k000z
      @n1k000z Před 3 lety

      yea but can anyone tell me why did he do that i mean we never applied any kind of y velocity before did we?

    • @donglesband
      @donglesband Před 2 lety

      @@n1k000z It's so you always get the same velocity no matter how fast you spam the jump button. It can cause inaccurate physics predictions like the jump being executed twice, making you jump extra high sometimes.

  • @smartandfunny6140
    @smartandfunny6140 Před 4 lety +13

    How can you not subscribe to this Channel?
    Great Tutorial as always!

  • @dr.zitrone312
    @dr.zitrone312 Před 2 lety

    I think i never subscribed after just one video. But halfway through the video you convinced me. 10/10.

  • @Matdif
    @Matdif Před 2 lety +11

    When you add drag to a rigid body this effects both dimensions in Unity2D. As in rb.drag is altering our jump height. If you stay still (x direction) while jumping your jump is dampened. When you are moving while jumping it is not so the jump is higher. I changed the application of rb.drag to call a method instead.
    private void ApplyHorizontalDrag()
    {
    rb.velocity = new Vector2(rb.velocity.x * Mathf.Clamp01(1 - dragConstant), rb.velocity.y);
    }
    This applies the drag only in the x direction leaving the jump unchanged. I replaced the rb.drag = linearDrag with a call for this method in fixed update. The else part of the statement is not needed since this is applied each time and does not change the drag and therefore does not need to be changed back. I used dragConstant = .9f so far but lowering it gives you a softer stop when turning and such.

  • @LukSilva12
    @LukSilva12 Před rokem +1

    God, you're really teaching us how to do things profissionally. Really liked your videos and the way you teach. Became sad when I saw the last video you uploaded was 2 years ago. You haven't even finished this 4 parts tutorial ;(. Where are you?

  • @TheNjyon
    @TheNjyon Před 4 lety +3

    This kind of ground detection works fine for fast and easy prototypes. The problem with this one is obviously when u stand on an edge u will be in the falling state without falling. Sure u can add 2 more RayCasts to be safe for the most parts but if you want it 100% accurate u should sweep ur component. Unity provides u with a Box, Speher, Capsul ... Casts. That should work great for "most" cases

    • @IDontReadReplies42069
      @IDontReadReplies42069 Před 3 lety

      lol, or you can literally just add two more raycasts, one for each edge of your player. It's not that hard

  • @VEOdev
    @VEOdev Před 2 lety +2

    For the ground check it is better to use a sphere cast and not a line cast
    Also for the short jump you can just put Y velocity to 0 when you release the jump button so the character will fall down as soon as you let the key

  • @chino1moreno
    @chino1moreno Před 3 lety

    Thanks so much dudeeee! One of the best tutorails ive seen, cant wait to watch more

  • @marhola100
    @marhola100 Před 4 lety

    This is the first jump tutorial that has worked for me. Thank you!

  • @sync3471
    @sync3471 Před 2 lety +1

    Thanks for giving me a Jump Start

  • @rachitvasudeva7538
    @rachitvasudeva7538 Před 3 lety

    Probably the best jump guide ever💯

  • @Zayther
    @Zayther Před 4 lety +9

    What happened to the wall jump tutorial? Your channel is amazing so underrated

    • @bungercolumbus
      @bungercolumbus Před 4 lety

      in production

    • @Zayther
      @Zayther Před 4 lety

      @@bungercolumbus Wait how do you know? He hasn't posted in a long time ;(

    • @AITakesYourJob
      @AITakesYourJob Před 3 lety

      still in production? :D

  • @Take22952
    @Take22952 Před rokem

    Honestly, I love watching unity game devs making devlogs and tutorials so much, even though I don’t use Unity.

  • @seighart90
    @seighart90 Před 3 lety

    one thing i notice that using this code, if you have a running start you'll jump much higher than from a standing start because the force is stacked. This could be a cool feature if that's what you intended

  • @LowPolyOne
    @LowPolyOne Před 4 lety +1

    Thank you a lot, my dude! It's a very informative and useful tutorial.
    My respects to you!

  • @zacharyheesaker5295
    @zacharyheesaker5295 Před 2 lety

    This is such a great tutorial on character control! Thank you!

  • @JorgeVerdu
    @JorgeVerdu Před 4 lety +2

    subscribed! Can't wait for the wall jump one :D

  • @JackieCodes
    @JackieCodes Před 3 lety

    really great tutorial, quality content 🤙

  • @user-uu2qp8hc7d
    @user-uu2qp8hc7d Před 3 lety

    Thank you very much bro you have helped me a lot, people like you should be more !! I thank you from the bottom of my heart!!!

  • @danieljayne8623
    @danieljayne8623 Před 3 lety +2

    "Start Quarantine" - TRIGGERED :D

  • @jluis220690
    @jluis220690 Před 4 lety

    Amazing bro the best jump tutorial, watching from mexico

  • @studioprimitive
    @studioprimitive Před 3 lety

    This helped greatly with my character's jump. Thanks!

  • @smokinglife8980
    @smokinglife8980 Před 2 lety

    Also if you don’t want to be limited to certain layers to walk on just don’t use a layermask or have a layermask helper script that gets all the lays except what you specify

  • @marksimpson4310
    @marksimpson4310 Před 4 lety +1

    Great tutorials. I would love to know when you'll release a wall jump tutorial.

    • @Charles-Darwin
      @Charles-Darwin Před 4 lety +2

      Couldn't you do another raycast horizontally and have it interact with a wall layer.

    • @Prox_C
      @Prox_C Před 4 lety +3

      @@Charles-Darwin Pretty much this. Halt velocity and have a bool for IsWallJumping. limits inputs to what you want while latched on and set a new animation frame to show collision with wall surface. add impulse at an angle something like 60deg away from wall when jump is pressed and you're done.
      fixed wall hold vs sliding down would be design choices but the slide down wall can be achieved with a low gravity multiplier.
      Finish up by wrapping the input in a countdown that drops the character if no 'jump' input is made in time, resulting in the character letting go of the wall. Hope this helps anyone who comes across it.

  • @СергейКоваленко-п2я

    I want to see as a following to this useful video how you cope with the issue of the slope when the player slides down when staying at the slope and when the player is jumping at the slope when going up and down. This is a very common problem I think, but it`s hard to find good information about it.

  • @hatoving
    @hatoving Před 4 lety +6

    The jumping works fine for me, but when the player reaches the ground, the gravity scale snaps from 5 to 0 quicky, where it stops the player for a millisecond and then walks normally. Any fix to this?

    • @victorlecam1813
      @victorlecam1813 Před 4 lety

      Same problem here. Someone ?

    • @uba754
      @uba754 Před 4 lety

      Same problem too, went back to double check everything and seems identical.

    • @McCooler
      @McCooler Před 4 lety +3

      I've solved this adding a material with no friction to my player collider... don't know if this is the correct aproach

  • @ggiillii2813
    @ggiillii2813 Před 3 lety +1

    Help
    My falling animation only plays when I hold the down key or "S" and only stops when I press the up key or "W".

  • @maxrdev703
    @maxrdev703 Před rokem

    Wow, I haven't even finished the video yet but this is amazing. You explain everything perfectly and lay out the videos perfect for beginners. You deserve so much recognition, keep up the amazing work.

  • @chaseums0967
    @chaseums0967 Před 2 lety

    "This next part might be a little overwhelming, so I'll explain it slowly." *proceeds to blast through the entire rest of the video*
    Regardless, very informative and you do explain what you're doing. Maybe just too much all at once for my brain to handle, LOL. It's a me-problem.

  • @DecrareOld
    @DecrareOld Před 4 lety

    I subscribed to you today. you can explain everyrhing i need really good

  • @SageNode
    @SageNode Před 4 lety +1

    a problem with your set up is that vertical is only detected to activate the falling animation when you press down the S key. but why would the player be holding down the S key just so we can see the animation play.
    The fall animation should play when you are falling without having to hold down the S key.

  • @SageNode
    @SageNode Před 4 lety +2

    the Jump Delay you put in, is that basically coyote time?

  • @sav-ke4sf
    @sav-ke4sf Před 4 lety +2

    best tutorial, thx

  • @victorlecam1813
    @victorlecam1813 Před 4 lety +7

    Hello everyone ! does anyone knows why my character loses X velocity when landing ? Except from this problem, it all works pretty good. Thank you for the videos !

    • @uba754
      @uba754 Před 4 lety

      Having the exact same problem I think. As soon as the character lands after a jump they pause for a brief second before continuing to move.

    • @torbrandt5546
      @torbrandt5546 Před 4 lety +1

      I had the same problem, and fixed it by applying a Physics Material 2D to my ground object with a Friction of 0.01 and Bounciness of 0.

    • @uba754
      @uba754 Před 4 lety

      @@torbrandt5546 It seems to have helped a great deal. Hard to say if it is 100% fixed for me but definitely better!

    • @torbrandt5546
      @torbrandt5546 Před 4 lety

      ​@@uba754 Nice! But yeah the physics can be really confusing, and sometimes it's hard to know where to look for a solution, or even tell what the problem is exactly.

  • @WakeTheShark446
    @WakeTheShark446 Před 3 lety +4

    Great video! One issue I've encountered however is that on impact to the ground, the character dips into the ground ever so slightly before popping back out and interrupts the player's velocity. I'm currently using a box collider for my character but also tried an edge collider like how you have it on yours to an even worse effect. Is there a fix to this?

    • @andrew_ceco
      @andrew_ceco Před 3 lety +7

      Hey friend, I'm probably too late to be totally helpful HOWEVER...
      I've found that the player is going to dip into the ground no matter what, but going to your RigidBody 2d settings and changing your Collision Detection to continuous should help with it to some degree

    • @pagoda_dimensionale9761
      @pagoda_dimensionale9761 Před 3 lety

      same, have you discover the problem?

    • @private3946
      @private3946 Před 2 lety +1

      Set your Collission Detection to Continuous or try setting interpolate on extrapolate/interpolate in your Rigidbody2D settings

  • @karacter3369
    @karacter3369 Před rokem +1

    for some reason the character slows down when hitting the floor, almost stopping, i wanted it to keep it's previous velocity...

  • @MariWeiss28
    @MariWeiss28 Před 2 lety

    thanks, come back man pls.

  • @mouradeid5457
    @mouradeid5457 Před 4 lety +1

    So I copied the script, I noticed that when I move horizontally then jump the character jumps higher than when it jumps while standing still, I tried several methods like clamping y velocity, using a targeted height and stop and it and others, none of them gave me that elegant result, any idea how can I fix this?

    • @efn5520
      @efn5520 Před 4 lety

      Someone said
      If(rb.velocity.x > 5) {
      Whatever you want
      }
      But I don't know if it works because i don't know what to write in Whatever I want

  • @cools7uff
    @cools7uff Před 3 lety +1

    How do I fix the hang time before the character falls after holding space

  • @Charlie59876
    @Charlie59876 Před 2 lety +1

    Does anyone know why my player slows down when i jump?

  • @danielgarcia-je9lc
    @danielgarcia-je9lc Před 3 lety

    Great job!

  • @HoisinDuckWrap
    @HoisinDuckWrap Před 2 lety

    i copied the code from the description and got error Parameter 'onGround' does not exist.
    UnityEngine.Animator:SetBool (string,bool)
    leshen.PlayerController:Update () (at Assets/_Scripts/PlayerController.cs:51)

  • @smokinglife8980
    @smokinglife8980 Před 2 lety

    Regular ray cast are not good for ground detection and stuff. 1. Walk to the very edge of a block or something you will not be grounded and there is one more problem I just forgot. I would you a sphere cast and box cast it’s will cover more thank just a single line so ground checks are more accurate imo

  • @Space_Masters
    @Space_Masters Před 4 lety +6

    Great tutorial, but I feel I must point out that it's pronounced "Co-Routine" not "Quarantine"

  • @uba754
    @uba754 Před 4 lety +2

    My code and scene is identical but my character very briefly pauses when they hit the ground after a jump. Any idea why? Would love to fix this. Fantastic tutorial though really!

    • @SageNode
      @SageNode Před 4 lety

      would also like a solution for this

    • @uba754
      @uba754 Před 4 lety +4

      @@SageNode Many of us in the comments have been using a physics material 2d to kind of fix this. I don't think it is perfect but its the best solution so far. Add the material to the ground plane with friction set to 0.01 and bounciness at 0. Have also read something similar but with the material on the player but I haven't tested it yet.

    • @SageNode
      @SageNode Před 4 lety +1

      @@uba754 works like a charm. thanks

  • @tylermaxwell7599
    @tylermaxwell7599 Před 4 lety +1

    As soon as I added jumping i started sliding on the ground again after moving instead of coming to a halt like in the last tutorial

  • @user-tt3sv7bt7x
    @user-tt3sv7bt7x Před 2 lety

    I have a problem when i jump left or right, i get drag/magnetized to the closest wall how i can fix this?

  • @nightstech7499
    @nightstech7499 Před 3 lety

    OMG you are a life saver thanks alot :)

  • @Yamam100
    @Yamam100 Před 3 lety

    great tutorials

  • @TheWgaffa
    @TheWgaffa Před 3 lety +2

    Not sure what I'm missing but when my character lands it gets "stuck" for a short moment when landing. But your character seems to go at the same speed after landing.

    • @kamiieel
      @kamiieel Před 3 lety

      i have the same problem i dont know what makes it do that

    • @bambonats2250
      @bambonats2250 Před 3 lety

      You could try setting the "Collision Detection" of your character's Rigidbody2D (I assume you are also making a 2D game) to Continuous. This stopped that weird "sinking in" thing when you land. Hope this works out for you too

    • @TheWgaffa
      @TheWgaffa Před 3 lety

      Thanks, I got it to work and it indeed seemed to be Collision Detection needed to be set to Continuous

  • @fettigerburger9258
    @fettigerburger9258 Před 3 lety +2

    When I just run my player stops moving randomly, and I have to move in the other direction to move again

    • @andrew_ceco
      @andrew_ceco Před 3 lety +2

      Hey, I'm probably waaaay late for this, but you're getting stuck on tile colliders. The best solution for me was:
      1. Create a new Physics Material with Friction set to zero
      2. Attach to the Edge Collider 2D
      If this STILL isn't working, then:
      3. Go to your RigidBody 2D settings
      4. Change Collision Detection to Continuous
      As a note, other people have suggested adding a Composite Collider to your tilemap / ground layer, but that solution didn't work for me for some reason haha Hopefully all this info helps you, or some stranger in the future :)

  • @kaiser9321
    @kaiser9321 Před 4 lety

    I don’t understand why you would make IEnumerators for your sprite squeezing when you could make separate animations for them and store them in a separate layer in your animator

  • @juanchoavid123
    @juanchoavid123 Před 3 lety

    Hey, Excellent video, if you still answering, i normally use circle or sphere overlapping for detecting ground, I have seen people, like your case that use raycasting, is there any difference? like performance difference? or it doesn't matter in this case?

  • @BoltGoesPro
    @BoltGoesPro Před 2 lety

    Hey I have a question, so when you hold left or right, it makes you go higher when you jump, why is that?
    Edit: I figured out why, Am looking for a fix, it's because when you are holding down another button along with jump it acts like it cancels it out?

  • @jacksonisaac9686
    @jacksonisaac9686 Před 4 lety +1

    What about for 3d?

  • @林厚廷
    @林厚廷 Před 4 lety

    I have a question, set the collision detection to continuous is a good way or not, I know that this setting may use more resources.

  • @vstechvideos9373
    @vstechvideos9373 Před 3 lety +1

    Just a quick doubt, why not use an Empty GameObject with a box collider2D at the bottom of the character to check if the character isGrounded? Raycasting is Wayyy Complicated.

    • @IDontReadReplies42069
      @IDontReadReplies42069 Před 3 lety

      hows it complicated? Unity literally did it all for you, you just have to implement the function

  • @yesgames7753
    @yesgames7753 Před 3 lety

    Omg this is so good!!!!!!!!!!!!!

  • @evonescent5451
    @evonescent5451 Před 2 lety +1

    Suggestion:
    bool DirectionChanged => Mathf.Sign(HorizontalAxisValue) != Mathf.Sign(rb.velocity.x);
    Instead of:
    bool changingDirections = (HorizontalAxisValue > 0 && rb.velocity.x < 0) || (HorizontalAxisValue < 0 && rb.velocity.x > 0);
    🙂

  • @SageNode
    @SageNode Před 4 lety

    I like having the squish feature on my jump, but i also want my actual jump animation to play as well, how do I get that to work with this squeeze

  • @ruijiang6274
    @ruijiang6274 Před 4 lety

    Is there any difference between using two Raycast and using a single Boxcast?

  • @avve558
    @avve558 Před 4 lety +1

    Great video. You earn more subs then you have! :)

  • @HenriqueAzevedoarts
    @HenriqueAzevedoarts Před 3 lety

    could you share the project?

  • @darick9637
    @darick9637 Před 4 lety

    You can make a video about Power Ups?

  • @jestarok
    @jestarok Před 4 lety

    did he ever publish part 4 of this tutorial

  • @donglesband
    @donglesband Před 2 lety

    You saved me from glitchy physics hell

  • @TackleProd
    @TackleProd Před 3 lety

    There is a bug in the code... When standing still, the Linear drag is applied. So when I jump, I cant really jump that high. (The drag changes to 0 when already in the air, but then its too late)
    However, when running, the drag is 0, and I can jump really high...
    I dont know how to fix this yet, Ive tried a lot of things...

    • @memoal-said5111
      @memoal-said5111 Před 3 lety +1

      I got the same problem but I found out the source of the problem. It's the linear drag, that part of the code that's supposed to prevent the player from sliding when it changes directions. Sadly, I don't know the solution but at least the source of the problem was found.

    • @TackleProd
      @TackleProd Před 3 lety

      @@memoal-said5111
      Toshi
      1 second ago
      Actually I found a better solution that doesnt mess with drag at all, but still gives that smooth movement.
      void MoveCharacter(float dir)
      //Dir is the control stick's input. 1 for right, -1 for left and all that.
      {
      Vector2 targetVelocity = new Vector2(dir * stats.maxSpeed, rb.velocity.y);
      //I have my maxSpeed in another script, but whatever.
      // And then smoothing it out and applying it to the character
      rb.velocity = Vector3.SmoothDamp(rb.velocity, targetVelocity, ref stats.m_Velocity, stats.m_MovementSmoothing);
      //SMOOTH DAMP is the key! My Stats movement smoothing is set to 0.05f. Works both when accelerating and stopping.
      }

    • @memoal-said5111
      @memoal-said5111 Před 3 lety

      Believe it or not. I actually solved this long ago but forgot about this post. My solution was just to use a boolean to check when the player jumps or not and it works. Without that boolean, the issue occurs and I'm surprised that fixed it. XD

  • @Litefeather_
    @Litefeather_ Před 2 lety

    Wait where is the wall jump video?

  • @YehielCertner
    @YehielCertner Před 4 lety +1

    Hi, Great tutorial and a great channel!
    I implemented the jump and it works great, i want to implement a Platform Effector to some of my platform tiles but theres a problem since the raycast is touching the platform from below when jumping and it thinks the player touched the ground so it would go all up the platform in some heights, tried shortening the raycast but it doesn't work , any suggestions will be very helpful :)

    • @joshuabadgett7987
      @joshuabadgett7987 Před 4 lety

      Did you figure out how to fix this? I'm having the same problem.

    • @YehielCertner
      @YehielCertner Před 4 lety

      @@joshuabadgett7987 didn't find a solution for it...probably gonna skip on effectors or if i'm brave enough ill change the raycast method to something else, either a collider box at the feet or the first method in this tutorial : czcams.com/video/CLxXkSIaOAc/video.html

    • @smallbeanmusic2187
      @smallbeanmusic2187 Před 4 lety

      Joshua Badgett make sure you * by ground length and not ground layer , that's what I accidentally did

    • @YehielCertner
      @YehielCertner Před 4 lety

      @@smallbeanmusic2187 ??

    • @smallbeanmusic2187
      @smallbeanmusic2187 Před 4 lety

      Yehiel Certner if you can't change the length it's because (probably) you multiplied (in your script) by ground layer and not ground length .
      If you didn't make this mistake then just try checking the video again

  • @lucas90gs
    @lucas90gs Před 3 lety

    My character loses x velocity when he hits the ground after a jump. This feels like he is dragging a bit after every jump. What can be causing it? Did you change the physics material of your tiles?

    • @dylanfoster186
      @dylanfoster186 Před 3 lety

      i think what is is causing is is the increase of drag when the player is grounded

    • @matthewmartin4604
      @matthewmartin4604 Před 3 lety +1

      Changing the physics material is what worked for me

  • @serpaolo7413
    @serpaolo7413 Před 4 lety

    When I run on the edge of platforms it "triggers" the squeeze animation, even though I wasn't even jumping, only running back and forth. Am I the only one with this issue? Any thoughts why?

    • @todd345
      @todd345 Před 4 lety

      are you still haveing this problem or did you fix it

  • @Linkforce98
    @Linkforce98 Před 2 lety

    Hey, nice Tutorial. I use your Script. The movement worked. But the Jump don't

  • @TheCrippledWerewolf
    @TheCrippledWerewolf Před 4 lety

    Now explain to me how to make a Bubsy 3D style jump and you will truly have become the master.

  • @SageNode
    @SageNode Před 4 lety +4

    once again you rush and skip showing the animation transitions at the end of this video just like you did in the first video..... man

  • @voidling2632
    @voidling2632 Před 4 lety

    9:33 nope... its actually the opposite, holding jumbutton = short jump and tap long jump... looks pretty much like in this video:
    rb.gravityScale = gravity;
    if (rb.velocity.y < 0) {
    rb.gravityScale = gravity * fallMultiplier;
    }
    else if (rb.velocity.y > 0 && (Input.GetKey(KeyCode.Space) || Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.W))) {
    rb.gravityScale = gravity * (fallMultiplier/2);
    }

    • @VickoProject
      @VickoProject Před 4 lety

      Omg thanks🔥🔥🔥 im having trouble with that and i just search it for a long time, and u juts get the answer, thanks a lot😂🔥

  • @ZodakZach
    @ZodakZach Před 3 lety

    The ray cast method to see if you’re grounded isn’t very good because u won’t be able to jump if your character id more than half way off a ledge u should really use boxcast

  • @rodrigofierro2212
    @rodrigofierro2212 Před 4 lety

    Guys, I need help. The part where the player has high jump and low jump isn't working. My code is the same as in the tutorial, but for some reason, when I press "jump" it only goes so high, no matter if I hold or just tap the button.

    • @efn5520
      @efn5520 Před 4 lety

      Use a tutorial called better jumping it will work

    • @todd345
      @todd345 Před 4 lety

      ya use blackthorn prod

  • @efn5520
    @efn5520 Před 4 lety +1

    Can Anyone help me i jump higher when i run than when i stand still

    • @todd345
      @todd345 Před 4 lety

      just do
      if (rb.velocity.x > .5){
      whatever you want
      }

    • @efn5520
      @efn5520 Před 4 lety

      @@todd345 i don't know what to write after that

    • @todd345
      @todd345 Před 4 lety

      @@efn5520 in "whatever you want" just make jumpSpeed go up by 1 or what ever you want.

    • @efn5520
      @efn5520 Před 4 lety

      @@todd345 My jump also got smaller when i stand still

    • @memoal-said5111
      @memoal-said5111 Před 3 lety

      I actually had the same issue as you did. My solution was to use a new boolean called "jumped" and set it to false. I added that boolean to the code that handles linear drag to stop the character from sliding. It's this piece of code you should have in your script if you followed the video fully.
      Void modifyPhysics() {
      ...
      If(Mathf.abs(direction.x) < 0.4 || changingDirection)
      ...
      Change the if statement to this instead:
      If ((Mathf.Abs(direction.x) < 0.4f || changingDirection) && !jumped)
      The jumped boolean turns true whenever the player pressed down the key that makes the character jump and the book turns first if the player touches the ground again.
      Also, add the bool inside your key press code that has the function Jump() BEFORE it so it works.
      I hope it works for you like it has for me.

  • @user-px4zh3dr2x
    @user-px4zh3dr2x Před 3 lety

    9:08 don't use input.getkeydown instead of input.getkey or input.getbutton why i don't know but this took 2 days from me

  • @draggmaste
    @draggmaste Před 3 lety

    Hey! Great tutorials! But one thing, I've tried this tutorial now from scratch acouple of times. My character seem to jump the same distance, no matter how hard or light I press the jump button... Don't know if there's something I'm missing :(

    • @lerougeun4099
      @lerougeun4099 Před 3 lety

      Hey i got the same problem here did you find a solution ?

    • @lerougeun4099
      @lerougeun4099 Před 3 lety

      ok i found a fix don't worry !

    • @draggmaste
      @draggmaste Před 3 lety

      @@lerougeun4099 I didn't find one :o Would you care to share?

    • @daniellete9049
      @daniellete9049 Před 3 lety +2

      @@draggmaste Make sure youre using GetButton instead of GetButtonDown when setting up the gravityScale and fallMultiplier. That did it for me

  • @TackleProd
    @TackleProd Před 3 lety

    The linear drag is 0 when running, and 4 when standing still. When jumping, the height of the jump is affected by the values I mentioned. I don't know how to fix this problem.
    When standing still, I cant jump that high. only when running, I get max jumping potential. Anyone else getting this problem and know how to fix it?

    • @AnimusBehemoth
      @AnimusBehemoth Před 3 lety

      I had that problem before I made the changes to 'modifyPhysics' that includes changing the rigidBody gravityScale and drag values.

    • @TackleProd
      @TackleProd Před 3 lety

      @@AnimusBehemoth Can You please share your code on how you fixed it? :)

    • @TackleProd
      @TackleProd Před 3 lety +2

      Actually I found a better solution that doesnt mess with drag at all, but still gives that smooth movement.
      void MoveCharacter(float dir)
      //Dir is the control stick's input. 1 for right, -1 for left and all that.
      {
      Vector2 targetVelocity = new Vector2(dir * stats.maxSpeed, rb.velocity.y);
      //I have my maxSpeed in another script, but whatever.
      // And then smoothing it out and applying it to the character
      rb.velocity = Vector3.SmoothDamp(rb.velocity, targetVelocity, ref stats.m_Velocity, stats.m_MovementSmoothing);
      //SMOOTH DAMP is the key! My Stats movement smoothing is set to 0.05f. Works both when accelerating and stopping.
      }

    • @TackleProd
      @TackleProd Před 3 lety

      Forgot to say, the value of ref stats.m_Velocity is vector3.zero.

    • @AnimusBehemoth
      @AnimusBehemoth Před 3 lety

      @@TackleProd That looks like an awesome solution! I'll have to try that

  • @ibrahemrafee2397
    @ibrahemrafee2397 Před 3 lety

    great tutorial but how can I make him do double jump ??

    • @QvsTheWorld
      @QvsTheWorld Před 3 lety +1

      Add propterties extraJumpTotal(starts at 0) and extraJumpMax(1 for a normal double jump and 2 for triple jump). Then, where you check for jumpTimer && onGround add and else if to see if you have extra jumps left.
      if(jumpTimer > Time.Time && onGround){
      jump();
      }else if(extraJumpTotal < extraJumpMax ){
      jump(); //

  • @YourBoyDonald
    @YourBoyDonald Před 3 lety +1

    I LIKED THIS VIDEO AND HE GOT 1K LIKES FIRST IT WAS 999

  • @SageNode
    @SageNode Před 4 lety +1

    What happened to see you next week!?

  • @BoltGoesPro
    @BoltGoesPro Před 2 lety +1

    BTW GUYS, do not use a raycast, use a boxcast, it's similar to a raycast but it simulates a box so if you are still touching the ground but off the edge you will still be able to jump!!!!!

    • @emredesu
      @emredesu Před 2 lety

      Thanks for the suggestion, that's much easier than writing complex code for 2 raycasts!

    • @BoltGoesPro
      @BoltGoesPro Před 2 lety

      @@emredesu :) I have code and stuff always willing to help people if you have questions

    • @emredesu
      @emredesu Před 2 lety

      @@BoltGoesPro I appreciate it! No questions for now, but I'll let you know if I have any c:

    • @BoltGoesPro
      @BoltGoesPro Před 2 lety +1

      @@emredesu okay :)

    • @BoltGoesPro
      @BoltGoesPro Před 2 lety +1

      @@emredesu I've had to fix many people as code online to use it efficiently.
      So if you ever want me to check it out, I like helping everyone: D

  • @dadosvk2854
    @dadosvk2854 Před 4 lety

    Please help me, how to make my own pixelart in some online app? ....

    • @janinmarquez-medina6265
      @janinmarquez-medina6265 Před 4 lety

      I would use Medibangpaint. I have photoshop and ClipStudio Paint and it its just a nicer free program in case you're still looking for one.

    • @dadosvk2854
      @dadosvk2854 Před 4 lety +1

      @@janinmarquez-medina6265 Thanks ♥️

  • @forgost1254
    @forgost1254 Před 4 lety

    u'r cool

  • @marmikemp3767
    @marmikemp3767 Před 3 lety

    Nice but please use dark mode😭

  • @s4shrish
    @s4shrish Před 4 lety

    14:32 "Since this is a QUARANTINE"
    Well, he's a fortuneteller with futuresight as well.

  • @QuacIsHere
    @QuacIsHere Před 4 lety

    'Parameter onGround does not exist'

  • @linzenmeyer
    @linzenmeyer Před 2 lety

    This uses the OLD input methods.

  • @chosenvan
    @chosenvan Před 4 lety

    hi there. first of all, thanks for this great tutorial. its very very useful for me.
    And second, I realised that you used a few second part of brackeys video at 1:30 but at the end of tutorial you didnt thank to him :)
    just reminding ;)
    thanks again for tutorial...

    • @abelhernandez9405
      @abelhernandez9405 Před 4 lety +3

      Those are all FREE STOCK ASSETS from the Asset Store. Why the fuck would he need to thank Brackeys?!

  • @SageNode
    @SageNode Před 4 lety

    play the speed at 0.5 from 16:25 and he sounds drunk