I'm 12 y.o. kid form Russia. I can say with confidence that there are good videos from Russian-language channels on the topic of parallax background does not exist from the word at all, and your video helped a lot.
Dude, your tutorials are the best thing I’ve seen on game development. I’ve learned so much from just this one video. Thank you so much for giving this away for free. It is top notch quality instructional videos.
Perfect! To add to this, you can set repeatable textures in the inspector/game hierarchy. Meshtype - > Full Rect, Wrap mode - > Repeat + Sprite Renderer Tile Mode -> Continuous, Draw Mode - > Tiled, Size - > x/y. Some tutorials do spawning for repeatable which might be necessary depending on your game but for me wrap mode was fine.
Hey Adam, what a great tutorial. The explanation of how it works and how you got all the values it's amazing . We are not just simple copying and pasting , we are learning how this works under the hood . Thanks a lot!
Parallax is literally one of my favorite visual phenomenons )yes I give it that much praise)! And in games it does such an incredible job making a flat world feel alive! Loving these longer form videos!
Beautiful video, I especially like it when you explain not only the look of things but also the natural logic behind the system itself. Thanks as always for great content!
I dont usualy comment on those youtube tutorials, I dnt even know if creator is even active or care to read this, But I was scouting for a paralax tutorial and been searching for few hours and that was is sofar the best one. Explains from my pov so I know what i want to create and how actualy create it. Thank you. 🎉
One of the things that made me into pixel arts is your videos. It's really incredible how you made these videos for us. I hope one day i can give you my improvement by watching your videos. Much much thanks!
Hey! I made some pretty simple pixel art, broke it up into 5 layers on Krita, and got an awesome parallax effect for a project in my Unity class! Great video, appreciate your work!
I normally don’t make comments on youtube, but in this instance I hard too, I love the work that you do, been a programmer, and getting paid to do so, I’ve always found drawing difficult as my brain does not think the way an artist does, an artist can be a programmer but not the other way around, now in my middle+ 40’s “birthday today” and looking for an artist to work with over 25+ years in the UK.I have released games but I find myself finally having a go at drawing, not good but trying, you are a young Bob Ross, I love the long tuts that explain why and how, as I’ve not gone to art class.
Hey Jason, actually I would venture that it is more about practice ... If you spend as much time practicing art as you probably did programming... my bet would be that you could create a thing or two 😉 I'm also a programmer by nature but try to get a grasp of artwork and yes it is a struggle when you're not used to it. I once had a collegaue mention that if he had spend the gaming time on learning russian instead... he'd probably be fluent by now 😊 Oh and happy birthday 😊
I love this video. I already knew how to do horizontal parallax, but still learned something thanks to the depth you went into. Never knew what the clipping plane did, and didn't know about calculating the camera size based off PPU. Thanks man.
Thank you so much for explaining the theory behind the parallax values and how to implement them efficiently without hard coding numbers till its right.
Just stumbled on your channel and already followed the first couple of videos. Just want to say that this is some quality stuff. I followed some courses but they don't add much more than "how to make a tree", no theoretical background that give you some true understanding. Thanks for this. Will become a Patron for sure.
That's a nice tutorial, but I've been wondering about something: Wouldn't it be far less complex and computing hungry to do a layer based parallax effect? Is there any reason why one would choose to use the distance of an orthographic camera instead of layers?
Thanks for the great video! I wanted to highlight a subtle issue I had with the script when making my own version in Unity. It may only be an issue depending on how the camera works in your game engine. For me, any time my player moved, the parallax background positions were one frame behind. Not a huge problem, but when the player started or stopped movement, the background movement was a bit delayed/jittery looking and it wasn't great especially if you spam the player to move quickly left and right. The reason for this was that my camera position only got updated in LateUpdate() (which seems to be the right time, after everything else is done), so every time the camera position was referenced in the parallax script (seems like properties get updated during Update() time), such as calculating the current travel, the camera position was one frame behind. I got around this by using the player position as the reference for where to move the parallax backgrounds instead of using the camera position as the reference, and in the parallax script, doing all calculations from LateUpdate() to ensure that the player position for the current frame was updated before the parallax script referenced them. My player uses physics so all those updates were happening in FixedUpdate(), but I set the rigidbody to interpolate mode so that the character position gets updated every Update() frame. Not sure it's the right solution all the time, but when doing anything with the current frame and accessing fields across different game objects/scripts, make sure to be careful about the timing of things, it doesn't seem easy to specify that one script should run before another one for each frame.
Dude you're amazing, thanks for the video, watched it all the way through, I loved the way you explained step by step sparing no detail, thank you soo much
Thanks for the tutorial! Really good stuff. I was wondering how you change only one color using your brush, while ignoring others, preserving the object's shape (e.g. 23:42).
Great! In 46:50, line 18, it seems that could result in a division by 0 and an error, as you had setup the near clipping plane of the camera to 0. Good one, more like this!
I dont really need that at the moment but i just couldnt stop watching. I clicked because i was surprised. isnt it a bit too long for just explaining parallax ? well it could have been shorter sure but the way you took tout time and didn t rush the explanations is what kept me curious the whole time. That and the fact it was fascinating to see the whole thing grow more beautiful second after second
Is is simpler to just scroll the uvs. And set your texture wrap mode to repeat. Then as you camera move you just scroll the uv relative to whatever speed you want.
Hi, ur tutorial is extremely useful especially for newbie like me (im from different background than computer science and art design). While following ur tutorial, i found a problem which is what if the subject jump? In that case, should we make the height of the background higher than the camera screen and high enough with the highest terrain?
I actually used something kind of similar to what you did as a trick for the snow on the trees, when I did a rusty sword I took all the normal metal colors, my rust colors and arranged them in the shading ink so I can just paint over something and it becomes rusty, would also work with this of course!
Just played Remember Apollo. You're evil man. I thought it would just be a fun little jaunt to see how Arrowbound started, but NOOOO, you just had to go there... ;)
the art side of the video is more interesting than the unity use of it due to the multiple tools used to set it all up just get me confused so i going to stick with animation without unity maybe find out about movie type set up off my iPad pro in layers to what works best for me.
this tut is so good but i have 1 problem so on cinemachine 2D camera parralax background sprites is jittering when player is moving how can i fix this ? pls help
I really like the color palatte you're using here. Can you recall which one it is? Or where I could get it? It's not the one that loads by default in Aseprite.
Hi Adam, and others, I have a question. Some time ago I made a simple game with a scrolling background and in front my character was swinging from a rope. I had the character's sprite rotate while swinging such that its head was always pointing towards the rotation Pivot. Only when I added the background, the game was getting jittery. Then when I added pixel perfect camera my character Rotations were getting weird (I think because the pixels were snapping). Any tips on how to solve this? thank you! PS. Terraria has scrolling backgrounds, and on attack animations the arm+weapon simply rotate, so I know its possible somehow.
Great vid! The only issue I have with my Parallax is the camera moving on the Y Axis. (I'm very new to coding). When my player jumps the camera moves up too, and I would like it to follow the player only on the X axis. It's probably a simple fix but I'm currently at a loss.
Hey great video, but what I always wondered was how you would go about if u wanted to add vertical scrolling aswell? How would you set up the sprite/canvas size for the background? Because you had to extend the resolution of for examplr 320x180 right?
This . Is. Amazing. You did it so fast that looked so easy... Im looking for an animation like this but woth city scape background and alternating backgrounds.
Firstly as always, it was a very detailed and easy to follow tutorial but despite that for some reason my furthest away image follows me just fine but the closer ones get left behind when descending, I know you only covered horizontal but I wondered if you might know why this is? (all the background layers have the script with the player and camera values set)
I have only one question. What should I do, when I want my player to jump? The background will not be cutted perfectly to the sceene when camera follows player horizontaly too.
how did you do to paint these specific parts of the mountain with highlights without invading the darker outline? look like you do it in diferent layers but you paint in the same one
Your like to dislike ratio, at the time of the writing, is infinite!! which is pretty darn good in my opinion haha. I also think its well deserved! EDIT: I guess its actually undefined... But infinite sounds better
Umm no idea what's wrong Unity says "error CS0102: The type 'Parallax' already contains a definition for 'parallaxFactor'" but "Vector2 parallaxFactors" just disappears on the video and if I remove from the code more errors pop out. Any idea of what's going on?
3 ปีที่แล้ว +1
Please, what's the name of that software to see the references and take the notes?
You're right! This actually caused an error in the first version of the script, which I've since changed to specifically deal with that case. Usually in Unity projects, the camera defaults to a z-position of -10 because you'd place scene objects at 0, but it's not unheard of for camera pos to be 0.
This is a fantastic video. I have a question though, if you ever see this. I did just as you said with the camera, set the size to .9 and boy does that blow my tileset up! I don't know if this is a quick fix in some setting with the grid I mentioned, or if I need to readjust my tileset. Thanks again for all your help!
This is dependent on your reference resolution for your art. 0.9 would be appropriate for 320x180 (low res). So if your tiles are up to 16x16 then it should be fine. You want to check your tile sprites PPU (pixels per unit) and maybe the tile grid size and scale in unity, if you're using it.
how are you drawing behind colors when on the same layer? is there a shortcut for that or some setting in aseprite that i dont know about? great vid, thanks.!
I'm 12 y.o. kid form Russia. I can say with confidence that there are good videos from Russian-language channels on the topic of parallax background does not exist from the word at all, and your video helped a lot.
Dude, your tutorials are the best thing I’ve seen on game development. I’ve learned so much from just this one video. Thank you so much for giving this away for free. It is top notch quality instructional videos.
Perfect! To add to this, you can set repeatable textures in the inspector/game hierarchy. Meshtype - > Full Rect, Wrap mode - > Repeat + Sprite Renderer Tile Mode -> Continuous, Draw Mode - > Tiled, Size - > x/y.
Some tutorials do spawning for repeatable which might be necessary depending on your game but for me wrap mode was fine.
Nice to see my name throught the entire video... Great vid as always!!
I upvote your videos before even watching because I know you won't fail to deliver. This kind of quality content deserves more views.
"upvote" sus
Your videos have helped me improve more than any other resource I've come across. Thank you!
Yes! I was really hoping you'd make a tutorial on this! I absolutely love parallax in games! :)
@Thomas Rodriguez :D
Hey Adam, what a great tutorial. The explanation of how it works and how you got all the values it's amazing . We are not just simple copying and pasting , we are learning how this works under the hood . Thanks a lot!
Parallax is literally one of my favorite visual phenomenons )yes I give it that much praise)! And in games it does such an incredible job making a flat world feel alive! Loving these longer form videos!
Beautiful video, I especially like it when you explain not only the look of things but also the natural logic behind the system itself. Thanks as always for great content!
I dont usualy comment on those youtube tutorials, I dnt even know if creator is even active or care to read this, But I was scouting for a paralax tutorial and been searching for few hours and that was is sofar the best one. Explains from my pov so I know what i want to create and how actualy create it. Thank you. 🎉
One of the things that made me into pixel arts is your videos. It's really incredible how you made these videos for us. I hope one day i can give you my improvement by watching your videos. Much much thanks!
Respect... You're eloquent and knowledgeable, with the right mix of charisma and modesty. I can see the quality in everything you do.
Hey! I made some pretty simple pixel art, broke it up into 5 layers on Krita, and got an awesome parallax effect for a project in my Unity class!
Great video, appreciate your work!
i really enjoy the indepth scientific/mathematical explanation at the beginning :)
I normally don’t make comments on youtube, but in this instance I hard too, I love the work that you do, been a programmer, and getting paid to do so, I’ve always found drawing difficult as my brain does not think the way an artist does, an artist can be a programmer but not the other way around, now in my middle+ 40’s “birthday today” and looking for an artist to work with over 25+ years in the UK.I have released games but I find myself finally having a go at drawing, not good but trying, you are a young Bob Ross, I love the long tuts that explain why and how, as I’ve not gone to art class.
Hey Jason,
actually I would venture that it is more about practice ... If you spend as much time practicing art as you probably did programming... my bet would be that you could create a thing or two 😉 I'm also a programmer by nature but try to get a grasp of artwork and yes it is a struggle when you're not used to it.
I once had a collegaue mention that if he had spend the gaming time on learning russian instead... he'd probably be fluent by now 😊
Oh and happy birthday 😊
I love this video. I already knew how to do horizontal parallax, but still learned something thanks to the depth you went into. Never knew what the clipping plane did, and didn't know about calculating the camera size based off PPU. Thanks man.
Thank you so much for explaining the theory behind the parallax values and how to implement them efficiently without hard coding numbers till its right.
Oh you did a tutorial on background Parallax, thanks so much Adam I was really looking forward to this :D
the best tutorial ever!! thanks dude, Brazil here!!
Your enthusiasm and enjoyment of the process is so fun to watch :D
for someone currently studying game dev at university these videos are a game changer
badum tss
i can say without any doubt you are the best pixel artist out there indeed
I’m new to pixel art and all your videos are so fun and easy to understand 😭 I could also listen to your voice for hours 😭
every time i see a new thumbnail i open it in another tab. every video seems like there's gonna be some valuable info in it!
Thank you so much! i have been searching tutorial like this 2 weeks for now + its well done and easy to understand! You earned my sub m8
I love how you explain the concepts. Subbed.
Just stumbled on your channel and already followed the first couple of videos. Just want to say that this is some quality stuff. I followed some courses but they don't add much more than "how to make a tree", no theoretical background that give you some true understanding. Thanks for this. Will become a Patron for sure.
You make it look so simple and easy to create the art… then I tried myself. It’s hard! Love the video..
I love your videos. The energy, the music, the palette...an easy subscribe!
Amazing content! Definitely like the new video style!! keep it up
That's a nice tutorial, but I've been wondering about something:
Wouldn't it be far less complex and computing hungry to do a layer based parallax effect?
Is there any reason why one would choose to use the distance of an orthographic camera instead of layers?
really reaaaaaaaaaaaly deserve the subs and the likes
piece of art
Thanks for the great video! I wanted to highlight a subtle issue I had with the script when making my own version in Unity. It may only be an issue depending on how the camera works in your game engine.
For me, any time my player moved, the parallax background positions were one frame behind. Not a huge problem, but when the player started or stopped movement, the background movement was a bit delayed/jittery looking and it wasn't great especially if you spam the player to move quickly left and right.
The reason for this was that my camera position only got updated in LateUpdate() (which seems to be the right time, after everything else is done), so every time the camera position was referenced in the parallax script (seems like properties get updated during Update() time), such as calculating the current travel, the camera position was one frame behind.
I got around this by using the player position as the reference for where to move the parallax backgrounds instead of using the camera position as the reference, and in the parallax script, doing all calculations from LateUpdate() to ensure that the player position for the current frame was updated before the parallax script referenced them. My player uses physics so all those updates were happening in FixedUpdate(), but I set the rigidbody to interpolate mode so that the character position gets updated every Update() frame.
Not sure it's the right solution all the time, but when doing anything with the current frame and accessing fields across different game objects/scripts, make sure to be careful about the timing of things, it doesn't seem easy to specify that one script should run before another one for each frame.
Dude you're amazing, thanks for the video, watched it all the way through, I loved the way you explained step by step sparing no detail, thank you soo much
The Bob Ross of pixel art ❤
Great explanations, by far the best tutorial on unity I've seen so far!!!!!
your channel is priceless and your game looks amazing! props from a fellow game designer!
This is so interesting ! Well done
i loved this tatorial. Its so detailed step by clear thought process. Thanks you so much
Thanks for the tutorial! Really good stuff. I was wondering how you change only one color using your brush, while ignoring others, preserving the object's shape (e.g. 23:42).
Awesome as always! You are my new Bob Ross
Great! In 46:50, line 18, it seems that could result in a division by 0 and an error, as you had setup the near clipping plane of the camera to 0. Good one, more like this!
I dont really need that at the moment but i just couldnt stop watching.
I clicked because i was surprised. isnt it a bit too long for just explaining parallax ?
well it could have been shorter sure but the way you took tout time and didn t rush the explanations is what kept me curious the whole time.
That and the fact it was fascinating to see the whole thing grow more beautiful second after second
This is very cool. What software is that?
Incredible! One can tell when there is love at work :)
I'm loving this thank you!
Cool tutorial! Thank you!
Very cool, Adam!
Thank you for this! Love the script!
Digital Bob Ross right there ;-) good job m8, and thx for sharing
thank you Adam, very cool
Saw that on Reddit and it got really good!
Cool gaming animation bro. And you have a new subscriber here!
Your pixel art is VERY good
Very useful video in all parts.
Was hoping for a background tutorial and you did one better
THIS IS JUST BASIC KNOWLEDGE seen in a viewpoint.
Great video! Wish it was easier for me to learn C#. It's the only thing holding me back!
Excellent video!!! Thank you!
Is is simpler to just scroll the uvs. And set your texture wrap mode to repeat. Then as you camera move you just scroll the uv relative to whatever speed you want.
Beautiful
excellent video dude thanks
Hi, ur tutorial is extremely useful especially for newbie like me (im from different background than computer science and art design). While following ur tutorial, i found a problem which is what if the subject jump? In that case, should we make the height of the background higher than the camera screen and high enough with the highest terrain?
I think more I will wait that more tutorials you will create and better my game will be :D
How do you make the colors not overlap when using the pencil? They just go right behind the mountain.
thanks for this you were amazing man
Amazing informative video!!
have to say it your voice make me feel safe...
Great video! Thanks for it
I actually used something kind of similar to what you did as a trick for the snow on the trees, when I did a rusty sword I took all the normal metal colors, my rust colors and arranged them in the shading ink so I can just paint over something and it becomes rusty, would also work with this of course!
Just played Remember Apollo. You're evil man. I thought it would just be a fun little jaunt to see how Arrowbound started, but NOOOO, you just had to go there... ;)
the art side of the video is more interesting than the unity use of it due to the multiple tools used to set it all up just get me confused so i going to stick with animation without unity maybe find out about movie type set up off my iPad pro in layers to what works best for me.
40:25 What's the name of the technique used here? What is the called?
this tut is so good but i have 1 problem so on cinemachine 2D camera parralax background sprites is jittering when player is moving how can i fix this ? pls help
Same issue here - didn't find any solution so far...
Putting the parallax code in FixedUpdate solved it.
I want to make an GIF of a character walking in a forest with this kind of background, how can i do it?
Thank you!
I really like the color palatte you're using here. Can you recall which one it is? Or where I could get it? It's not the one that loads by default in Aseprite.
Hi Adam, and others, I have a question. Some time ago I made a simple game with a scrolling background and in front my character was swinging from a rope. I had the character's sprite rotate while swinging such that its head was always pointing towards the rotation Pivot. Only when I added the background, the game was getting jittery. Then when I added pixel perfect camera my character Rotations were getting weird (I think because the pixels were snapping). Any tips on how to solve this? thank you!
PS. Terraria has scrolling backgrounds, and on attack animations the arm+weapon simply rotate, so I know its possible somehow.
9:38 what application is used to draw here?
Great vid! The only issue I have with my Parallax is the camera moving on the Y Axis. (I'm very new to coding). When my player jumps the camera moves up too, and I would like it to follow the player only on the X axis. It's probably a simple fix but I'm currently at a loss.
Hey great video, but what I always wondered was how you would go about if u wanted to add vertical scrolling aswell? How would you set up the sprite/canvas size for the background? Because you had to extend the resolution of for examplr 320x180 right?
Thanks for the great lesson. I wanted to ask - what program do you use for sketches and examples?
I mean the background on which you show examples and draw.
@@Skvortsov_doubleK Aseprite
@@Skvortsov_doubleK I want to know that too. XD
This . Is. Amazing. You did it so fast that looked so easy...
Im looking for an animation like this but woth city scape background and alternating backgrounds.
9:30 tiled mode😊
To easy understand layers is simple an object done in line stages as the go back with less and less detail.
oh cool a new video!
I get the speed thing though it is due to size of object it should stay in the frame a lot longer compared to the front objects
Firstly as always, it was a very detailed and easy to follow tutorial but despite that for some reason my furthest away image follows me just fine but the closer ones get left behind when descending, I know you only covered horizontal but I wondered if you might know why this is? (all the background layers have the script with the player and camera values set)
4:15 what's the game in the first exemple. Kasem ? Kazam ? I couldnt find anything with a name like that.
I have only one question. What should I do, when I want my player to jump? The background will not be cutted perfectly to the sceene when camera follows player horizontaly too.
how did you do to paint these specific parts of the mountain with highlights without invading the darker outline? look like you do it in diferent layers but you paint in the same one
Your like to dislike ratio, at the time of the writing, is infinite!! which is pretty darn good in my opinion haha. I also think its well deserved!
EDIT: I guess its actually undefined... But infinite sounds better
What your doing at 26:37 of this video, i don't get this technique?
Can you pleaseee make a video on mountains and skies?
Umm no idea what's wrong Unity says "error CS0102: The type 'Parallax' already contains a definition for 'parallaxFactor'" but "Vector2 parallaxFactors" just disappears on the video and if I remove from the code more errors pop out. Any idea of what's going on?
Please, what's the name of that software to see the references and take the notes?
when you divide by the clipping plane in the case of nearClipPlane won't it be 0? then if the camera is also at 0 that would mean you divided by 0 no?
You're right! This actually caused an error in the first version of the script, which I've since changed to specifically deal with that case. Usually in Unity projects, the camera defaults to a z-position of -10 because you'd place scene objects at 0, but it's not unheard of for camera pos to be 0.
This is a fantastic video. I have a question though, if you ever see this. I did just as you said with the camera, set the size to .9 and boy does that blow my tileset up! I don't know if this is a quick fix in some setting with the grid I mentioned, or if I need to readjust my tileset. Thanks again for all your help!
This is dependent on your reference resolution for your art. 0.9 would be appropriate for 320x180 (low res).
So if your tiles are up to 16x16 then it should be fine. You want to check your tile sprites PPU (pixels per unit) and maybe the tile grid size and scale in unity, if you're using it.
how are you drawing behind colors when on the same layer? is there a shortcut for that or some setting in aseprite that i dont know about?
great vid, thanks.!
Yeah, I was wondering too ^^ It's the shading tool on the little ink-pot.