This is the coolest Godot channel on RUclips. You're doing such interesting stuff! And I love watching your process. Thanks for making such great content :)
Yeah, I spent far too much time trying to flatten the entire snow field. So very, very satisfying. I suppose the hook for me here is just watching the problems solving though. The "oh hey, I think I know what I'm doing... no, I'll just hack it around a little, no idea why that worked... hrm, oh hey I was right all along... I think." is so very relatable! Even after being a developer for 30 years, it's satisfying to see some things just don't change! It's why I love the channel. You'll see a lot of creatives (especially authors, but it applies in a lot of places) who will say that the journey is everything. And as far as that goes, it's true. It's where all the fun and learning is. But you do need a satisfying pay off at the end. It doesn't need to be earth shattering, but satisfying. This snow demo is the very definition of satisfying!
Thanks so much for the kind words, I'm really glad to hear people are enjoying this video format! I'm having a lot of fun making these, so it's cool to hear they resonate :).
Whenever I use HDRIs for the skybox, I like to set a custom ground color for them so the lighting looks a bit more realistic. If you copy over the ground shader code from the PhysicalSky material and make your own custom shader that just takes in an image, ground color, etc. You'll get some much nicer lighting. If you did the same thing for this project, and set the ground color to white, you'd get rid of the dark lighting on the bottom of the snowball :)
Space in the UV maps was fine with the seams showing. You are right it is the mip map problem, but you can tell by looking at the screenshot you are actually showing that the edge of the "lighter" penguin color is transitioning into "darker" penguin color with pixel precision, but of course UV coordinates are vector. When it generates MIPs that difference in the edges becomes more harsh. The solution in the game art workflows is to "grow" the padding of all the colors that touch the UV shell edges. The term we use is "texture padding" you can look it up. Great video as always, cheers!
5:06 perhaps it is because the depth value is calculated kinda like depth = (pos-near)/(far-near), so that it is 0 at near plane and 1 at far plane. And if you make far further it doesn't affect the absolute value pos-near, but rescales the normalized one. IDK how it actually works, just had an idea
Thanks for sharing Rachel! :D One idea for speeding things up is to use some kind of LOD mesh for the snow, which there are a few possible approaches for, most of which entail either the CPU doing more work or a compute shader building vertex buffers. There's an old terrain rendering algorithm that takes heightmap detail/features and camera proximity into account called ROAM, or Realtime Optimally Adaptive Meshes. ROAM has been my jam, in some form or another, for literally decades across a dozen different projects.
really cool! i think part of snow being able to look even more natural would be to make your character controller not instantly rotate to whatever direction you are facing, but lerping it, so less straight lines.
I agree that linear interpolation, is great for camera movements... Calling it "lerp" is just unforgivable, though. That's not how a portmanteau is made! It _obviously_ should be spelled "lirp". 🤓
this is so awesome! the color shifting based on depth and little specular sparkles in the snow are great! i tried my hand at deformable snow for Unity back in 2017 and went down almost the exact same path, even down to having debug textures in the scene showing the depth from my ortho cam, which i, of course, also wrote into the red channel. for the actual snow rendering part, i went with a raymarching/signed distance field approach. using raymarching gave me normals by sampling the heightmap gradient and sidestepped issues like the vertex count of the surface effecting "resolution" of the snow, but also made the actual rendering of the surface quite a bit more complicated... which is probably why i never got my actual snow to look good.
I'm so glad you made this tutorial. I had tried doing this for a game previously and there were like 2 tutorials for snow shaders, that I couldn't wrap my head around. This is amazing!
This is definitely an example of where a compute shader would be useful. Two viewports, one rendering terrain depth, and one rendering actor depth. A compute shader to produce the deformation texture based on those two depth textures and reduce the effect of past deformation: Current = (previous - decay) + new
Oh wow! The end result is so satisfying, and the penguin making snow angels cracked me up 😂. Great video! And thanks for sharing the progress and issues in details. I'm pretty sure most of it went over my head, but I feel I might have learned something anyway haha.
awesome! i just started learning godot a few weeks ago (making an autorunner). so cool to see what's possible if you invest the time. you're an inspiration! :)
Nice effort, good to see your approach. Just FYI Martin Donald applied exactly this technique in Godot 4 years ago. He made a video about it on youtube "Christmas special, making it snow."
Thanks! I think he's actually using the simpler approach (drawing a specific sprite to the mask texture) that doesn't involve a camera or depth information. Still looks great though!
If I recall correctly, getting access to the depth map was something new around Godot 4, so chances are this method wasn't possible in Godot 4 years ago.
That looks awesome! Awesome work! I've always been fascinated with how deformable surfaces worked in game: snow, track in dirt, grass getting pushed down by character
Always such a joy to follow along. Can't wait to dive into some of my own projects later this year when I'm not so much immersed in other programming projects. Glad to have found this channel for inspiration and I'll almost certainly check out the demos!
A penguin making a snow angel! My life is complete! But wow so much dedication! I could never figure that out. It turned out great and would be so fun if it was turned into a platformer/puzzle game.
It's rather funny, I was working on a snowball rolling sort of game recently at the Global Games Jam, Boba tea instead of snow, I worked with a fixed grid but it's amusing that youtube would recommend your video :D
I'm glad there were pretty pictures on the screen to help translate this strange language you're speaking!!😅 I have NEVER survived past Hello World in any programming class I've taken. Except maybe visual basic. Not sure how I got as far as I did but then the brick wall of passing values hit me and I never figured it out!
I really enjoyed watching the video ❤ I never thought that you can do something satisfying like that with Godot. I realized that it’s not about the simplicity of the tool, but rather the skill of the person and the time and effort they dedicate to bringing their idea to life.❤❤❤
7:54 I thought that you would do something like: pre allocate a texture buffer to store how the snow should be modified calculate the change of each pixel ( subtract the current frame from the last frame ) add the change with the buffer and take the average
I concur. This is very impressive. You have officially eclipsed my hobbyist programming knowledge and I understood almost nothing you were talking about, but it was still fun to see you work through obstacles and seeing the final product. Keep on keeping on 😄
Just as I thought it would be cool to have a faceplanting snow angel penguin, you did it xD Your projects are always so cute and creative, it is really inspiring. I tried to do a dice roller with 3d dice where the shapes get created dynamically depending on the number of faces from 1 to 100. I have pretty much given up on it, but with every upload I come back working on it for a day or two. Please keep uploading so I will eventually finish the thing haha
words can not describe how much i love you and your videos, i have learnt more from you than from my college ever could, sending you hugs and kisses , keep doing what you do XD
Impressed about your perseverance, results and process blow my mind! I start creating raycast vehicle mechanics (by the way it has some examples on godot) and after only one day feel overwhelmed :D
Thank you! I definitely hit many points of feeling overwhelmed during this project and wasn't sure I would get it all working. I find taking lots of breaks helps!
Love seeing the problem solving! Only a few minutes in, I’m going to guess the solution to the ortho camera is using a small far-clipping plain and setting the camera’s layers up to ignore anything but people 🤞
I wonder if you could replace the depth texture with an ambient occlusion pass of the snow so that the ground could be something other than a flat plane.
@@azure8247 I think it should work, but would require some additional calculations and make things a bit more complicated. I did think about doing this, but decided to save it for another time 😁
I was thinking along the same lines, how will you have to update the logic so you can have several levels of snow. Lets say, ground, than roof of a house, or snow on top of other objects.
@@forbiddengod1 my idea would be to have the camera film the entire world from the highest peak to the lowest point. But precision may suffer. Maybe use a grid of these meshes and cameras and only use them close to the player for updates etc.
@ After thinking about it for a while i dont think her method can work for that usecase. You'd have to go the simpler route of sticking invisible meshes/colliders to the feet/limbs of a character then vertex paint the snow layer in real time as you move across it using said objects. So instead of getting a mask from a camera instead you paint on the ground itself with vertex color data that is used to displace it.
one method could be capturing the original depth map of the environment, then diffing the current against the original to get the snow depth at that particular location
+1Sub from me! This is the coolest video i've seen in 2025 so far. very interesting to watch how you tried different ideas and ways to tackle a problem. the result was so awesome! super satisfying snow!! i've barely started using godot, but im excited to get into 3D. i came from gamemaker studio 2.0 lol. great video!
Really Nice video :D yes the uv-map on Penguin is correct you need its called padding, i often use 8px minimum as padding when i uv-map from atlas or Trimm sheet :) but some times it can be ok to turn off the texture mip-map function or deactivate specific mip-map steps :) and how the bal grow perhaps use some sort of raycast that samples from your dept texture :)
Amazing... I just recently decided to take another stab at this video game idea using a interactive water surface simulation... And this popped up in my feed... Yeah I'm gonna need that normal fixing stuff and prob a few other ideas, thank you... 😂
Should I be ashamed to say that I find this intimidatingly impressive? 😬😉 I mean, I guess if I'd do some projects of doing _any_ shaders in godot, and various other things in it, I'd get to a point where this felt more relatable... as it is, it feels out of reach. But it's super cool! And I'm glad to see an example of the idea that if one just puts in the effort, one can get there (over a period of time). :) Kudos!
Thanks so much! Shaders are definitely tricky to get used to; I'm still not totally comfortable with them, but doing more projects has been helping for sure!
@ very cool. Maybe some day I’ll get there. For today, other learning and doing priorities, but it does seem like something that could be very rewarding. :)
Do you take on freelance work? I have something along these lines which I need help with, which involves vertex shaders and world vs local coordinates (and you may use it on the channel if you wish).
Watching this was an all too familiar process. Beautiful work and showcase! It's too bad Godot doesn't support geometry shaders or tessellation for dynamic mesh subdivision around the deformed areas. Although it seems mesh shaders are the next big thing anyway.
Awesome, this really useful tool for game dev. Are the snow is working on non flat mesh? And I think using signed distance field is much more performant than using camera, but need to figuring out how to get texture coordinate near vertices and how to create virtual texture in Godot
Such cool work! How hard would it be to add a little bump to the snow mesh in front of where objects are travelling (velocity dependent)? It would look more like your entities are "pushing" snow ahead of them.
Thanks! I did think of doing something similar, but decided to leave it for the future. I think it might be a bit tricky to get it to work dynamically based on the shapes of the objects moving through the snow, but haven't really thought about it much yet. Might involve some sort of edge detection on the mask texture. Would be interesting to explore further!
Great video, but there is something i do not understand. When playing around with it, when you jump right on top of and pushable object, it clips through the ground and disappears. I have some ideas why this can happen. What i do not understand is why i get some spikes of snow in the place where the object was fully in contact with the ground. If i understood it correct, it should not be possible to add height, but just remove it. Is it because the object is passing through the ground and when calculating the distance from the ground it gets negative values? And if that is the case, why it is spikes, not the whole shape of the object. I get that it may be just a bug, but trying to stretch my tiny brain here :)
I did notice that issue, but decided to leave it for now and didn't investigate further haha. I'm honestly not entirely sure why the spikes happen, but you are right that it is weird because the snow should never be gaining height, only losing it. Probably some weird bug in my shader code! But would probably be best to fix the objects glitching through the ground first anyway :)
I definitely had many moments throughout this project where I wasn't sure I'd be able to get it all working! I think what helps me is to try to take a break when I get really stuck and come back the next day. Often times things feel a lot easier then!
That's really cool. Not directed towards you, but if there's one thing no commercial game still does right with snow (and I guess it's a complexity and performance issue), is having collapsing snow. How does the snow behave if the solid ground beneath is of different levels? What happens of snow has drifted over a hole, and the ball tunnels into it? The snow should collapse into the tunnel the ball should be digging, behind the ball. What happens if snow falls of a roof into other snow? Maybe not useful for gaming purposes, but damn would it look nice.
I love how you choose the stuff most people would be intimidated by and take ten days to figure it out. amazing.
Interactive shaders and shaders in general can be pretty scary
This is the coolest Godot channel on RUclips. You're doing such interesting stuff! And I love watching your process. Thanks for making such great content :)
Thanks so much, I really appreciate it!
Yeah, I spent far too much time trying to flatten the entire snow field. So very, very satisfying.
I suppose the hook for me here is just watching the problems solving though. The "oh hey, I think I know what I'm doing... no, I'll just hack it around a little, no idea why that worked... hrm, oh hey I was right all along... I think." is so very relatable! Even after being a developer for 30 years, it's satisfying to see some things just don't change!
It's why I love the channel. You'll see a lot of creatives (especially authors, but it applies in a lot of places) who will say that the journey is everything. And as far as that goes, it's true. It's where all the fun and learning is. But you do need a satisfying pay off at the end. It doesn't need to be earth shattering, but satisfying. This snow demo is the very definition of satisfying!
Thanks so much for the kind words, I'm really glad to hear people are enjoying this video format! I'm having a lot of fun making these, so it's cool to hear they resonate :).
another cool project, the snow angel penguin was funny 😂
Thanks :)
Whenever I use HDRIs for the skybox, I like to set a custom ground color for them so the lighting looks a bit more realistic. If you copy over the ground shader code from the PhysicalSky material and make your own custom shader that just takes in an image, ground color, etc. You'll get some much nicer lighting.
If you did the same thing for this project, and set the ground color to white, you'd get rid of the dark lighting on the bottom of the snowball :)
Space in the UV maps was fine with the seams showing. You are right it is the mip map problem, but you can tell by looking at the screenshot you are actually showing that the edge of the "lighter" penguin color is transitioning into "darker" penguin color with pixel precision, but of course UV coordinates are vector. When it generates MIPs that difference in the edges becomes more harsh.
The solution in the game art workflows is to "grow" the padding of all the colors that touch the UV shell edges. The term we use is "texture padding" you can look it up.
Great video as always, cheers!
You did in a few days what Farming Simulator should have done for ground deformation in 10 years, I really appreciate you.
those who snow
those who snow
does he snow?
If you snow you snow
If you don't snow, now you snow
You snow nothing Jon Know
5:06 perhaps it is because the depth value is calculated kinda like depth = (pos-near)/(far-near), so that it is 0 at near plane and 1 at far plane. And if you make far further it doesn't affect the absolute value pos-near, but rescales the normalized one. IDK how it actually works, just had an idea
Another awesome project, I love to see it! Keep up the great work, can't wait to see more!
Thank you! :)
That penguin has big "Duo from Duolingo" energy. Those eyes 👀
Amazing video and really insightful. Thank you so much for sharing!
Thanks, Jace, helps a lot!
Thanks for sharing Rachel! :D One idea for speeding things up is to use some kind of LOD mesh for the snow, which there are a few possible approaches for, most of which entail either the CPU doing more work or a compute shader building vertex buffers. There's an old terrain rendering algorithm that takes heightmap detail/features and camera proximity into account called ROAM, or Realtime Optimally Adaptive Meshes. ROAM has been my jam, in some form or another, for literally decades across a dozen different projects.
really cool! i think part of snow being able to look even more natural would be to make your character controller not instantly rotate to whatever direction you are facing, but lerping it, so less straight lines.
Thanks! I should definitely try that out :)
I agree that linear interpolation, is great for camera movements...
Calling it "lerp" is just unforgivable, though. That's not how a portmanteau is made!
It _obviously_ should be spelled "lirp". 🤓
this is so awesome! the color shifting based on depth and little specular sparkles in the snow are great!
i tried my hand at deformable snow for Unity back in 2017 and went down almost the exact same path, even down to having debug textures in the scene showing the depth from my ortho cam, which i, of course, also wrote into the red channel. for the actual snow rendering part, i went with a raymarching/signed distance field approach. using raymarching gave me normals by sampling the heightmap gradient and sidestepped issues like the vertex count of the surface effecting "resolution" of the snow, but also made the actual rendering of the surface quite a bit more complicated... which is probably why i never got my actual snow to look good.
Always in awe of your cool project ideas and the wonderful execution! Very awesome!
Thanks so much!
Incredible work !! You are moving the Godot community forward !
Thank you! :)
Yaaaaas. Was literally think about this the other day. Clutched it as always Rachel!
I'm so glad you made this tutorial. I had tried doing this for a game previously and there were like 2 tutorials for snow shaders, that I couldn't wrap my head around. This is amazing!
Nice, i'm a self taught noob godot dev, and watching a video like this is super inspiring, nice work !
This is definitely an example of where a compute shader would be useful.
Two viewports, one rendering terrain depth, and one rendering actor depth.
A compute shader to produce the deformation texture based on those two depth textures and reduce the effect of past deformation:
Current = (previous - decay) + new
That actually looks really good, thanks for sharing.
This showcase looks fun, interesting and cool. Solid work, thanks for sharing.
Oh wow! The end result is so satisfying, and the penguin making snow angels cracked me up 😂. Great video! And thanks for sharing the progress and issues in details. I'm pretty sure most of it went over my head, but I feel I might have learned something anyway haha.
Thank you! :)
awesome! i just started learning godot a few weeks ago (making an autorunner). so cool to see what's possible if you invest the time. you're an inspiration! :)
Thank you! Best of luck with the autorunner :)
Nice effort, good to see your approach. Just FYI Martin Donald applied exactly this technique in Godot 4 years ago. He made a video about it on youtube "Christmas special, making it snow."
Thanks! I think he's actually using the simpler approach (drawing a specific sprite to the mask texture) that doesn't involve a camera or depth information. Still looks great though!
If I recall correctly, getting access to the depth map was something new around Godot 4, so chances are this method wasn't possible in Godot 4 years ago.
That looks awesome! Awesome work! I've always been fascinated with how deformable surfaces worked in game: snow, track in dirt, grass getting pushed down by character
very impressive
Thanks for sharing! Really enjoyed seeing the progress and the end result was great!
Always such a joy to follow along. Can't wait to dive into some of my own projects later this year when I'm not so much immersed in other programming projects. Glad to have found this channel for inspiration and I'll almost certainly check out the demos!
Thanks, I appreciate it!
A penguin making a snow angel! My life is complete! But wow so much dedication! I could never figure that out. It turned out great and would be so fun if it was turned into a platformer/puzzle game.
It would be really fun to come back to this eventually and make it into a real game! :)
she always smile 🤭..amazing project !
You are a freaking G! I am always impressed by what I see when I stumble across your videos! You are my inspiration dude! I'm subscribing.
It's rather funny, I was working on a snowball rolling sort of game recently at the Global Games Jam, Boba tea instead of snow, I worked with a fixed grid but it's amusing that youtube would recommend your video :D
Love it! Especially the part with the shaders, where i didn't understand anything except that i have to learn so much more :D
Thanks for showing!
Thank you! I keep feeling that way about shaders as well haha!
The _not quite_ vine boom every time you say "come back the next day" is making that way funnier to me than it should be.
Thank you so much for posting the breakdown! I will be working on something similar for my Bushcraft Survival game. Awesome work.
Awesome, hope it's helpful!
These are so much fun to watch!
Just got an M4 Mac mini and this video made me even more exited to download and start on GoDot for the first time. Amazing work as always!
Thank you! Hope you have fun with it! :)
Amazing work!!
I'm glad there were pretty pictures on the screen to help translate this strange language you're speaking!!😅 I have NEVER survived past Hello World in any programming class I've taken. Except maybe visual basic. Not sure how I got as far as I did but then the brick wall of passing values hit me and I never figured it out!
I feel that. Perhaps it's time to knock that wall down.
Awesome, great job!
I really enjoyed watching the video ❤
I never thought that you can do something satisfying like that with Godot.
I realized that it’s not about the simplicity of the tool, but rather the skill of the person and the time and effort they dedicate to bringing their idea to life.❤❤❤
Thank you, glad you enjoyed the video! 😁
you always have the best godot projects
7:54 I thought that you would do something like:
pre allocate a texture buffer to store how the snow should be modified
calculate the change of each pixel ( subtract the current frame from the last frame )
add the change with the buffer and take the average
Such a cool project!
Great video. I love the problem explanations you give. Just top notch. Thank you :)
This is really cool!
@NeonfireStudio Thank you! :)
I concur. This is very impressive. You have officially eclipsed my hobbyist programming knowledge and I understood almost nothing you were talking about, but it was still fun to see you work through obstacles and seeing the final product. Keep on keeping on 😄
What a cool project! Awesome job!
Great and useful video, thank you for sharing !
Just as I thought it would be cool to have a faceplanting snow angel penguin, you did it xD Your projects are always so cute and creative, it is really inspiring. I tried to do a dice roller with 3d dice where the shapes get created dynamically depending on the number of faces from 1 to 100. I have pretty much given up on it, but with every upload I come back working on it for a day or two. Please keep uploading so I will eventually finish the thing haha
Thank you! That sounds like a cool project too, best of luck with it! 😁
Awesome work Rachel! Shader programming is one of those things I've rarely touched and so still seems like some sort of black magic at this point!
I love it!
Great job
words can not describe how much i love you and your videos, i have learnt more from you than from my college ever could, sending you hugs and kisses , keep doing what you do
XD
Impressed about your perseverance, results and process blow my mind! I start creating raycast vehicle mechanics (by the way it has some examples on godot) and after only one day feel overwhelmed :D
Thank you! I definitely hit many points of feeling overwhelmed during this project and wasn't sure I would get it all working. I find taking lots of breaks helps!
Cool project!
Your best video so far
Looks very nice!!
Thank you!
Yup, banging your head against the wall for days on end to have smoother snow normals... that's game dev for ya!
Very cool! Inspiring
Love seeing the problem solving! Only a few minutes in, I’m going to guess the solution to the ortho camera is using a small far-clipping plain and setting the camera’s layers up to ignore anything but people 🤞
I did have the camera set up to only see snow impacting objects/characters! Left that part out of the video though I believe.
@@RachelfTechthose srgb conversions agh! Great video, love that the snow angel penguin worked 🐧
Good timing, there's snow outside and I just started a new godot project :D
This is very nice.
Amazing! 🌨
Amaizing!🎉
So cool!
I wonder if you could replace the depth texture with an ambient occlusion pass of the snow so that the ground could be something other than a flat plane.
as always, 10/10 content
super cool!
Hell yeah, snow sim in winter!!
Amazing! :D
Would this still work correctly on non flat ground like a slope or a hill?
@@azure8247 I think it should work, but would require some additional calculations and make things a bit more complicated. I did think about doing this, but decided to save it for another time 😁
I was thinking along the same lines, how will you have to update the logic so you can have several levels of snow. Lets say, ground, than roof of a house, or snow on top of other objects.
@@forbiddengod1 my idea would be to have the camera film the entire world from the highest peak to the lowest point. But precision may suffer. Maybe use a grid of these meshes and cameras and only use them close to the player for updates etc.
@ After thinking about it for a while i dont think her method can work for that usecase. You'd have to go the simpler route of sticking invisible meshes/colliders to the feet/limbs of a character then vertex paint the snow layer in real time as you move across it using said objects. So instead of getting a mask from a camera instead you paint on the ground itself with vertex color data that is used to displace it.
one method could be capturing the original depth map of the environment, then diffing the current against the original to get the snow depth at that particular location
+1Sub from me! This is the coolest video i've seen in 2025 so far. very interesting to watch how you tried different ideas and ways to tackle a problem. the result was so awesome! super satisfying snow!! i've barely started using godot, but im excited to get into 3D. i came from gamemaker studio 2.0 lol. great video!
Thanks so much, I appreciate it!
22:54 haha I'm doing the same moves all the time when figuring out 3D stuff in games haha
Really Nice video :D yes the uv-map on Penguin is correct you need its called padding, i often use 8px minimum as padding when i uv-map from atlas or Trimm sheet :) but some times it can be ok to turn off the texture mip-map function or deactivate specific mip-map steps :) and how the bal grow perhaps use some sort of raycast that samples from your dept texture :)
Thanks, will definitely remember to add padding next time! :)
@@RachelfTech :D
Wow!!! That's awesome. U got a subscriber. 😀🙌
2:02 Привет, what does it have to do on how your feet are stepping in to the snow?
Хотел просто сказать спасибо и обнимажки! 🎉
Yes I tested this shader, you can do more .... now sky material can use shader ...
Amazing... I just recently decided to take another stab at this video game idea using a interactive water surface simulation... And this popped up in my feed... Yeah I'm gonna need that normal fixing stuff and prob a few other ideas, thank you... 😂
Oh nice, hope this is helpful! :)
You should make a game with that! I would buy it, the system is pretty awesome and satisfying
I do think it would be cool to eventually use this in a real game!
I have no idea what's going on but I kinda wanna download this and learn now.
that penguin is BONKERS
cool project ;)
Now we're talking.
Snow.
The basic shapes in snow look so satisfying!
Where are you from? Norway?
Should I be ashamed to say that I find this intimidatingly impressive? 😬😉
I mean, I guess if I'd do some projects of doing _any_ shaders in godot, and various other things in it, I'd get to a point where this felt more relatable... as it is, it feels out of reach. But it's super cool! And I'm glad to see an example of the idea that if one just puts in the effort, one can get there (over a period of time). :) Kudos!
Thanks so much! Shaders are definitely tricky to get used to; I'm still not totally comfortable with them, but doing more projects has been helping for sure!
@ very cool. Maybe some day I’ll get there. For today, other learning and doing priorities, but it does seem like something that could be very rewarding. :)
Amazing!! 😭Try to make it in roblox now, might a bit more time with editable meshes.
Great video! What site were you using for skyboxes?
Was using ambientcg.com/
Do you take on freelance work? I have something along these lines which I need help with, which involves vertex shaders and world vs local coordinates (and you may use it on the channel if you wish).
Watching this was an all too familiar process. Beautiful work and showcase!
It's too bad Godot doesn't support geometry shaders or tessellation for dynamic mesh subdivision around the deformed areas. Although it seems mesh shaders are the next big thing anyway.
Nais!
Awesome, this really useful tool for game dev. Are the snow is working on non flat mesh? And I think using signed distance field is much more performant than using camera, but need to figuring out how to get texture coordinate near vertices and how to create virtual texture in Godot
Such cool work! How hard would it be to add a little bump to the snow mesh in front of where objects are travelling (velocity dependent)? It would look more like your entities are "pushing" snow ahead of them.
Thanks! I did think of doing something similar, but decided to leave it for the future. I think it might be a bit tricky to get it to work dynamically based on the shapes of the objects moving through the snow, but haven't really thought about it much yet. Might involve some sort of edge detection on the mask texture. Would be interesting to explore further!
You must be fun in real life!
Great video, but there is something i do not understand. When playing around with it, when you jump right on top of and pushable object, it clips through the ground and disappears. I have some ideas why this can happen. What i do not understand is why i get some spikes of snow in the place where the object was fully in contact with the ground. If i understood it correct, it should not be possible to add height, but just remove it. Is it because the object is passing through the ground and when calculating the distance from the ground it gets negative values? And if that is the case, why it is spikes, not the whole shape of the object. I get that it may be just a bug, but trying to stretch my tiny brain here :)
I did notice that issue, but decided to leave it for now and didn't investigate further haha. I'm honestly not entirely sure why the spikes happen, but you are right that it is weird because the snow should never be gaining height, only losing it. Probably some weird bug in my shader code! But would probably be best to fix the objects glitching through the ground first anyway :)
I would like you to know I can hear your necklace lol
I think I've seen someone use a similar method for displacing water in Godot.
Wait, don’t you livestream your progress??
I'm recording the entire time, but not livestreaming. Makes it easier for me to work whenever!
😢😢
Any chance you have any interest in VR? We need as many brilliant and creative people as possible in this space!
Oh dear... snowball fight in VR?
Building forts and stuff?
I need to go to bed.
I definitely will considering doing some VR projects in the future! I haven't done much with VR recently, but did have the first Oculus headset :)
A genuine question. How do you find the perseverance to power through these difficult projects? My Mind wants to explode sometimes
I definitely had many moments throughout this project where I wasn't sure I'd be able to get it all working! I think what helps me is to try to take a break when I get really stuck and come back the next day. Often times things feel a lot easier then!
That's really cool.
Not directed towards you, but if there's one thing no commercial game still does right with snow (and I guess it's a complexity and performance issue), is having collapsing snow. How does the snow behave if the solid ground beneath is of different levels? What happens of snow has drifted over a hole, and the ball tunnels into it? The snow should collapse into the tunnel the ball should be digging, behind the ball. What happens if snow falls of a roof into other snow? Maybe not useful for gaming purposes, but damn would it look nice.