So. I setup my TV with TH-cam with a search on "pixel art tutorials". I feel asleep and woke up about an hour later to your video where you were doing the jump and swirl. I'd never seen your channel until that moment. Very nice workflow.
Interesting reference note for those looking to add more detail: some games have 2 distinct rising animations (ex: Castlevania: Ritual of the Night). For stationary jumps, the pose is straight vertical, and for forward-moving jumps the pose leans heavily forward. It makes for a very dynamic look, and can be a cool way to highlight the actual movement of the character. All about the little things. (The top of the arc and the falling animations are the same regardless of movement)
I've watched all your animation videos. I can't get over how satisfying and complete your process is. It's amazing to see it come to life bit by bit. Your insights are always inspiring. Thanks for another great tutorial!
Super useful tutorial, I love it! I would like to add, USE REFERENCE. You can get amazing reference from filming yourself jumping! Try a few of them, jump normally as you would, with your knees to the chest, maybe with a hand up (like superman taking off) Then you can look up some parkour videos if you want some more interesting jumps. And lastly, look up at professional animation, see how those characters jump. Choose the parts that you like and keep them as reference when animating. Also look up the 12 principles of animation, they're simple and easy to remember. (but hard to master) And of course, this works for every action that you're trying to animate, not only jumps. One more thing, for some actions, you can repeat them while you're animating. For example you want to animate a character stretching. Stretch, animate a bit, if you didn't quite get feeling of the action, stretch again, and so on. Maybe it doesn't sound that useful, but it really is. And you can integrate everything with this amazing tutorial.
Thank you for this, It really helped me. And in general, you just help me a lot in not giving up, even when I can't seem to find a solution. I have one word: Inspiring. Thank you.
im new to aseprite, and i been going through all your videos . the one thing i notes is that a lot of your handling while drawing with a tablet is with your righthand , im lefty and its a little harder when it comes to rearranging my set up since im stuck with a right handed set up, also my tablet is not a small one, it a ep-pen 27 inch screen. but other than that , i am learning a lot of the software from you. and hope i can even worth with you at some point in the future. again love your videos. im on lesson 23 right now still watching the rest of the videos.
I really love your videos, didn't catch a stream yet, I don't plan on doing animation or jumps anytime soon, but it's still just so cool learning stuff from you!
I just wanted to say that I think your videos are fantastic - your explanations are clear and concise, and I've learned so much from them! I'm actually experimenting with the Animate Float curve that you demonstrated for jumping, and I've found that it really helps me fine-tune the height and timing of my character's jumps. However, I've been having some trouble with consistency: even if I hold down the jump button for the maximum amount of time, my character doesn't always jump to the same height. Do you have any tips for how to maintain more consistent jump height using this method? Thanks in advance!
If I understand you correctly, what you're describing has to do with sampling an animation curve consistently over time to get the same height. This mostly comes down to the strategy you use for resolving the curve for velocity and the sampling method. What I do is take the delta time between current and previous frame, and check the distance in the evaluated curve between them, distance / time = speed so that should be accurate as long as you're sampling every frame, which you do by using FixedUpdate() and fixedDeltaTime assuming you're using Unity. If it's done inside the Update loop the resolution of the curve will be more variable, and the final height will likely be inconsistent.
Jump is always hard because you gotta take into account not just the graphical animation but also the game engine mechanics. I love making manual animations but lately have been looking at breaking my pixel art apart and rigging it giving a bit more unique look. What are your thoughts on that?
I've seen it done before. Personally, it's not really my thing because it means the rigged components will most likely be rotating, and rotated pixel art isn't really authentic. To preserve that authenticity, you could try filtering the screen with a low-res texture so it's "re-pixelated" but then i'd probably say it's best to use a source artstyle that's closer to vector art. This way, you get clean vector graphics that are pixelated once and will always look good rotated. I used this technique for the bow in Arrowbound. It's just a clean vector shape that's being pixelated in real time. Also see the game "A Short Hike" for the same kind of effect over untextured 3D graphics.
this is what i was looking for. I want to be able to know how to make my game look and feel like it has tight controls rather than floaty or like the the character is trying to jump from a magnetic environment. Now i see how. :) (plus actual good physics )
Great video as always. Are you using the pixel perfect camera to handle the resolution changes? I've always wanted to learn more about resolution and how Unity handles it when looking at multiple devices.
Hello, thx for the great tutorial! I'm learning a lot :-) One question regarding the coding section. Which class is s_airborne and animator, a.GetAnimator() from. I can't find any with the members spriteList and Play(), playing :-(
@@vladv5126 except the people who invented the format specifically said it is pronounced jiff. So I consider that the idiotic 'correct' way of saying it. But as you said, it should obviously be a hard G and that is how I will pronounce it.
🤗Many helpful things! But am I the only one to feel that some fluidity was lost somewhere between the _blocked_ phase and the final shaded animation? 🧐
Can you someday go in detail about how you solved the "is Grounded" state for your character. My solution uses a separate collider for the feet, but when the feet don't touch anything, but the main collider does, my character gets stuck on edges. In short, this problem has a lot of edge cases and I'm curious how you solved it :)
Hey Adam a quick one. I have a jump animation done. My character does a small bend before jumping (anticipation). However When I jump. The animation happens midair instead of him bending his knees and then jumping. How can I fix this?
In this tutorial, the animation needs to map velocity to the frames. max positive velocity should be frame 0, and max negative velocity should be the last frame. This assumes that we have immediate upward velocity on frame one, but bending the knees is more of a "pre jump" animation, as we're still on the ground for that part. So I'd consider having this pre-jump animation play on its own, at a normal frame rate, then transition into the jump and apply the velocity.
Out of curiosity. You'd make me realy happy fi you reply please! :) What were your criterias when you were choosing a resolution for your game. Why is it 640x360 for you?
@@AdamCYounis But 640x360 is a resolution for mobile game or it fits also pc/ps/switch platforms well? Sorry for bothering you with that questions but its confusing and i havent found anywhere on yt a good tutorial about resolutions for pixel games. A bigger resolution screens would lose quality when adapted to bigger/smaller screens/game platforms?
@@fanartzone928 With pixel art, when you scale an image you use what's called "point filtering", so it stays crisp when being upscaled to higher resolutions. Most phones and TVs have similar resolutions these days, so it's not relevant. The pixel art is almost always multiple times smaller than the screen resolution.
@@AdamCYounis So its by principal better to have smaller game screen and if so it would scale to bigger ones rather than having a bigger game screen that would lose qualiy when downscaled to smaller monitor. I guess making a game in 1920x1080 is not a good idea unless a character is somewhere near 190+ pixels wide then?
@@fanartzone928 Yeah. It's not really a personal choice, pick any pixel art game made in the last 10 years, none of the art is natively 1080p. It's just super impractical, the pixels would be too small to appreciate, and yes, you would have to lose some when scaling down.
@@AdamCYounis Is that why I see that your animation sprite sheets that you drop on the scripts are actually scriptable objects? Would be great to see what do you bundle along with your animation spritesheets besides the per-frame hit boxes (which is a genius idea by the way). That said, I can’t get enough of your channel, myself I’m total beginner on pixel art, kinda stubborn on keeping it on tablet (Pixaki on iPad for now, to let it keep the ‘hobby’ feel) and man… I have spent the whole long weekend feeding on this. Thanks for your effort, becoming a patreon as we speak.
@@alejmc I store any other metadata that I think "belongs" to the animation. Markers for sounds to be played on certain frames, or for the animation to be cancelable after that frame. I also have a new curve system that lets me track motion within the sprite frame and convert it into velocity for the rigidbody.
So. I setup my TV with TH-cam with a search on "pixel art tutorials". I feel asleep and woke up about an hour later to your video where you were doing the jump and swirl. I'd never seen your channel until that moment. Very nice workflow.
Same thing but 4 hours xD
I just woke up with this video playing
You're really amazing at teaching, and at teaching pixel art in this case. Thank you so much for all of your videos.
Interesting reference note for those looking to add more detail: some games have 2 distinct rising animations (ex: Castlevania: Ritual of the Night). For stationary jumps, the pose is straight vertical, and for forward-moving jumps the pose leans heavily forward. It makes for a very dynamic look, and can be a cool way to highlight the actual movement of the character. All about the little things.
(The top of the arc and the falling animations are the same regardless of movement)
I think Celeste does this too
jump anims are so important, and easily underestimated. everything that gives you the feeling of physics, or gravity, makes a difference
I've watched all your animation videos. I can't get over how satisfying and complete your process is. It's amazing to see it come to life bit by bit. Your insights are always inspiring. Thanks for another great tutorial!
Super useful tutorial, I love it!
I would like to add, USE REFERENCE. You can get amazing reference from filming yourself jumping! Try a few of them, jump normally as you would, with your knees to the chest, maybe with a hand up (like superman taking off) Then you can look up some parkour videos if you want some more interesting jumps. And lastly, look up at professional animation, see how those characters jump.
Choose the parts that you like and keep them as reference when animating. Also look up the 12 principles of animation, they're simple and easy to remember. (but hard to master)
And of course, this works for every action that you're trying to animate, not only jumps. One more thing, for some actions, you can repeat them while you're animating. For example you want to animate a character stretching. Stretch, animate a bit, if you didn't quite get feeling of the action, stretch again, and so on. Maybe it doesn't sound that useful, but it really is.
And you can integrate everything with this amazing tutorial.
I like to number my legs and arms:
• Arm 1
• Arm 2
• Leg 1
• Leg 2
This way, I don't get confused even when they switch layers.
Thank you for this, It really helped me. And in general, you just help me a lot in not giving up, even when I can't seem to find a solution. I have one word: Inspiring.
Thank you.
im new to aseprite, and i been going through all your videos . the one thing i notes is that a lot of your handling while drawing with a tablet is with your righthand , im lefty and its a little harder when it comes to rearranging my set up since im stuck with a right handed set up, also my tablet is not a small one, it a ep-pen 27 inch screen. but other than that , i am learning a lot of the software from you. and hope i can even worth with you at some point in the future. again love your videos. im on lesson 23 right now still watching the rest of the videos.
This video was transformative for me! I can't believe I learned so much in one video. Thanks for this!
You are a great teacher. Thank you for making these video's! Starting to make my first game and it looks 1000% better. yes 1000%. Big thanks!
I really love your videos, didn't catch a stream yet, I don't plan on doing animation or jumps anytime soon, but it's still just so cool learning stuff from you!
You are the best pixel artist i've found so far... Thanks you Adam
this is stunningly educational
Один из лучших каналов по пиксель арт!
I just wanted to say that I think your videos are fantastic - your explanations are clear and concise, and I've learned so much from them! I'm actually experimenting with the Animate Float curve that you demonstrated for jumping, and I've found that it really helps me fine-tune the height and timing of my character's jumps. However, I've been having some trouble with consistency: even if I hold down the jump button for the maximum amount of time, my character doesn't always jump to the same height. Do you have any tips for how to maintain more consistent jump height using this method? Thanks in advance!
If I understand you correctly, what you're describing has to do with sampling an animation curve consistently over time to get the same height. This mostly comes down to the strategy you use for resolving the curve for velocity and the sampling method. What I do is take the delta time between current and previous frame, and check the distance in the evaluated curve between them, distance / time = speed so that should be accurate as long as you're sampling every frame, which you do by using FixedUpdate() and fixedDeltaTime assuming you're using Unity. If it's done inside the Update loop the resolution of the curve will be more variable, and the final height will likely be inconsistent.
@@AdamCYounis Thanks I will try it out! I am using playmaker in unity, but it should still use fixed update when you toggle the function.
I needed this I learn so much from these videos!
Dude! you're a beast!
Después de buscar por casi media hora un video sobre cómo animar un salto por fin encontré este, gracias me haz ayudado mucho.
Awesome!
You're awesome! Brazilian here
Jump is always hard because you gotta take into account not just the graphical animation but also the game engine mechanics. I love making manual animations but lately have been looking at breaking my pixel art apart and rigging it giving a bit more unique look. What are your thoughts on that?
I've seen it done before. Personally, it's not really my thing because it means the rigged components will most likely be rotating, and rotated pixel art isn't really authentic. To preserve that authenticity, you could try filtering the screen with a low-res texture so it's "re-pixelated" but then i'd probably say it's best to use a source artstyle that's closer to vector art. This way, you get clean vector graphics that are pixelated once and will always look good rotated. I used this technique for the bow in Arrowbound. It's just a clean vector shape that's being pixelated in real time. Also see the game "A Short Hike" for the same kind of effect over untextured 3D graphics.
Yes. This is the i want. Thank you
this is what i was looking for. I want to be able to know how to make my game look and feel like it has tight controls rather than floaty or like the the character is trying to jump from a magnetic environment. Now i see how. :) (plus actual good physics )
this is really helpful. thank you.
Kinda funny I’m working on a game atm when I got the notify for this 😆
Can you make a tutorial on the tileset workflow.?
Thanks🙏🏼
Great video as always. Are you using the pixel perfect camera to handle the resolution changes? I've always wanted to learn more about resolution and how Unity handles it when looking at multiple devices.
Hello, thx for the great tutorial! I'm learning a lot :-) One question regarding the coding section. Which class is s_airborne and animator, a.GetAnimator() from. I can't find any with the members spriteList and Play(), playing :-(
Thank you for saying "gif" the 'wrong way' but the way it 'should' be said. :D
Actually it's the correct way. The G stands for Graphical. Hard G.
@@vladv5126 except the people who invented the format specifically said it is pronounced jiff. So I consider that the idiotic 'correct' way of saying it. But as you said, it should obviously be a hard G and that is how I will pronounce it.
i like that you used the terminology short hop ala platform fighters
It's all about the schmovement.
Hey adam, can you make isometric pixel art tutorials? If you can't there is no problem but
I would like to learn isometric pixel art from you...
Praise the Bread
I like to rotate a little forward lean on jumps... it seems a little less stiff
🤗Many helpful things! But am I the only one to feel that some fluidity was lost somewhere between the _blocked_ phase and the final shaded animation? 🧐
what software do you use ?
to design the pixel art, levels, and what engine?
13:50 bro that sounded like "the beautiful people - Marilyn Manson" introduction hahaha
What is Helpers.Map in the sprite code. I don't see this anywhere in the Untiy API?
A função é:
public static float Map(float value, float min1, float max1, float min2, float max2)
{
return min2 + (max2 - min2) * ((value - min1) / (max1 - min1));}
Can you someday go in detail about how you solved the "is Grounded" state for your character. My solution uses a separate collider for the feet, but when the feet don't touch anything, but the main collider does, my character gets stuck on edges. In short, this problem has a lot of edge cases and I'm curious how you solved it :)
just use ray cast
I've got a question, where did the 1000/60 come from? I sorta got lost when he did that part.
A time stamp would be helpful. Simply type the time you’re referring to. For example scratching his ear at 11:38. TH-cam creates the link.
I was hoping for the dance you did at the end :(
Does anyone know what he did with the code, I reproduced it using blend tree in Unity but I feel like it's too much work when updating the sprites.
Hey Adam a quick one. I have a jump animation done. My character does a small bend before jumping (anticipation). However When I jump. The animation happens midair instead of him bending his knees and then jumping. How can I fix this?
In this tutorial, the animation needs to map velocity to the frames. max positive velocity should be frame 0, and max negative velocity should be the last frame. This assumes that we have immediate upward velocity on frame one, but bending the knees is more of a "pre jump" animation, as we're still on the ground for that part. So I'd consider having this pre-jump animation play on its own, at a normal frame rate, then transition into the jump and apply the velocity.
how do you implement unity intellisense in vscode? I have a mac and I wanna use vscode instead of visual studio so I'd like to know
dude you're so good at this, could u do a walk animation tutorial? that would be very helpful :O
I think it's like run, but slower
What program is he using in these presentations? This question was translated with google translator, ignore errors
Out of curiosity. You'd make me realy happy fi you reply please! :) What were your criterias when you were choosing a resolution for your game. Why is it 640x360 for you?
Because 640x360 scales to 720p, 1080p and 4k very naturally. 320x180 also works.
@@AdamCYounis But 640x360 is a resolution for mobile game or it fits also pc/ps/switch platforms well? Sorry for bothering you with that questions but its confusing and i havent found anywhere on yt a good tutorial about resolutions for pixel games. A bigger resolution screens would lose quality when adapted to bigger/smaller screens/game platforms?
@@fanartzone928 With pixel art, when you scale an image you use what's called "point filtering", so it stays crisp when being upscaled to higher resolutions. Most phones and TVs have similar resolutions these days, so it's not relevant. The pixel art is almost always multiple times smaller than the screen resolution.
@@AdamCYounis So its by principal better to have smaller game screen and if so it would scale to bigger ones rather than having a bigger game screen that would lose qualiy when downscaled to smaller monitor. I guess making a game in 1920x1080 is not a good idea unless a character is somewhere near 190+ pixels wide then?
@@fanartzone928 Yeah. It's not really a personal choice, pick any pixel art game made in the last 10 years, none of the art is natively 1080p. It's just super impractical, the pixels would be too small to appreciate, and yes, you would have to lose some when scaling down.
what version of unity is this?
What is Retrobox? Hit box manager? And how come I can’t find it?
It's a custom animation editor that I created to apply hitboxes to my sprite sheets. It's not available anywhere right now, sorry!
@@AdamCYounis oh cool! Np, was just curious.
@@AdamCYounis Is that why I see that your animation sprite sheets that you drop on the scripts are actually scriptable objects? Would be great to see what do you bundle along with your animation spritesheets besides the per-frame hit boxes (which is a genius idea by the way).
That said, I can’t get enough of your channel, myself I’m total beginner on pixel art, kinda stubborn on keeping it on tablet (Pixaki on iPad for now, to let it keep the ‘hobby’ feel) and man… I have spent the whole long weekend feeding on this.
Thanks for your effort, becoming a patreon as we speak.
@@alejmc I store any other metadata that I think "belongs" to the animation. Markers for sounds to be played on certain frames, or for the animation to be cancelable after that frame. I also have a new curve system that lets me track motion within the sprite frame and convert it into velocity for the rigidbody.
@@AdamCYounis alright! thanks for the pointers :-)
ooh new
You make courses in udemy ? I like to know
You are missing one important step in the animation. You squat before you jump.
Can my built character to join your game? 🤣