Experimenting with a novel technique to create 2D wind in UE5
ฝัง
- เผยแพร่เมื่อ 27 มิ.ย. 2024
- Wind system project is available as a Tier 2 reward on my Patreon (DOESN'T INCLUDE THE REALISTIC GRASS ASSETS): / ghislaingir
Twitter: / ghislaingir
Mastodon: GhislainGir@mastodon.gamedev.place
Links:
God of War GDC Tech Talk: • Interactive Wind and V...
Creating Wind in Ghost of Tsushima GDC Tech Talk: • Blowing from the West:...
Alan Wake 2 Blog Post: www.remedygames.com/article/h...
Easing Functions: easings.net/
0:00 Wind System Overview
1:50 Realistic Grass Series
3:00 Local & Global Wind Systems
4:57 Simple Grass Wind
7:20 Noise Texture
10:05 Wind Sprites
11:45 Tiled Textures
12:31 Tiled Particles
15:45 Wind Manager Blueprint
18:13 Wind Particle System
20:53 Simple Wind Application
23:21 Ghosting
26:33 Push & Turbulence
27:50 Performance
28:45 Custom Particle System & Renderer
33:14 Wind Intensity Presets
Hey there! I'm back with another experiment :) Hope you'll like the video! Cheers :) - เกม
Been waiting for this one! Amazing stuff as always!
Have you seen the GDC talk from EPIC on how they did Grass in Fortnite because of performance bottlenecks with WPO and Nanite and they used a Texture with a manually created MIP for their Wind system to be able to blend between the MIPS for control ? Its called "Battle-Testing UE5 Next-Gen Systems with Fortnite | GDC 2023".
Yes, a great talk and using mipmaps is smart! But its actually Epic that drove me away from using Nanite =p I'm a maniac when it comes to WPO and I'm not ready yet to make sacrifices when it comes to vertex animation, even in the distance :p and I don't use VSMs so good old meshes still do the trick just fine for me
If you have the link to that talk, can you please share that here?
@@OsaReza Its shared on the Unreal Engine YT channel with that specific name. They also talked about to better do foliage with nanite etc.
@@OsaReza just have to google "Battle-Testing UE5 Next-Gen Systems with Fortnite | GDC 2023" th-cam.com/video/05FCjQR--Sc/w-d-xo.html
@@ghislaingirardot I apologize, I did not read the whole text. I was very eager to know more about that conference. I am new to technical art and am constantly gathering more information to learn more about it. thank you for the wonderful content you produce.
The results are simply phenomenal!
AMAZING!!! Please continue like this!!!
Merci, je regarde tout cela avec intérêt ce week-end 👍
... AMAZING RESULT !!! absolutely the best in-depth videos on UE ...
You had to overcome so many insane things to get this working. Delaying the render capture in Niagara is a really creative solution. Respect!
Thanks!
I love this great job! THX
It's like watching "Insane engineering of Boeing" or something like that. Crazy stuff :)
Hmmm Boeing are not doing too great atm, engineering wise... What does that say? =p
You are an absolute GOAT. Thank you!!!!
Good stuff! :D
It's amazing !
Too good!
Mais dis moi, c'est une grosse tuerie ce machin!
professional
Yees finally
Awesome. Sure you know, but Grid 2d collection let's you sample the last frame value too, could be used for your motion vectors I guess :)
Oh, I had completely forgotten about that tbh :D! Thanks, I'll update it
When he said :"Buckle-up! ".. but I was already tightly buckled up... and I had nothing else to buckle up to ! 😰
Mec, t'es une legende!
Haha, merci!
Best grass I have ever seen :)
Thanks!
And in the next video I show you how I throw everything away, because I want the player to interactive with the grass, so I used a fluidsimulation on top of this system. Then I realized how little impact this system had compared to the fluidsim and I replaced the default grass behavior with a simple sine way. Well, that's what I did at least, I'm curious how you handle player interaction. I did try the God of War technique and created some interesting textures in substance designer that took into account that grass bends faster when the wind blows and moves back slower when getting back. I'm very curious if you will come to the same conclusion with your technique when it comes to player interactivity!
You should be able to benefit from both worlds. The fluid sim should in principle be quite limited in space to have enough resolution and only be the cherry on top, so a fallback solution is always kinda required imho, and it should be complementary to the fluid sim in a way that doesn't make one or the other system be completly redundant/useless. And reverting back to simple sines sounds... meeehh :p. But maybe I'm wrong, this is just an experiment after all. Time will tell I guess haha
Thanks! If I use procedural noise for wind, will it have the same problems as textures?
Depends on the way that noise is generated & mapped, but most likely, yes.
Awesome video, thank you so much, however this may be totally unrelated, but what's your VSCode theme ? Looks really cool.
Thanks. It says "Material Community Darker" :shrug: I don't even remember changing the theme tbh :D
@@ghislaingirardot Ohhh thanks ☺. Another question, i actually really like working on shaders like this mainly, i'm familiar with basic math and thigs i need for that, recently i thought of improving my skills further and trying out HLSL, got any recommendations about that ? any course of anything else i should learn before that ? My plan is to become a technical artist one day, hopefully I'm on the right path. again, thank you very much for sharing your knowledge with everyone.
@@pubudu781 There's no need to take a course to learn HLSL honestly. It's probably the simplest scripting language out there with GLSL and you'll realize that soon enough if you give a try. It may seem daunting at first but there's not much to it really: float, float2, float3, float4, for loops, texture samplers (UE specific), sin(), cos(), floor(), ceil(), round(), saturate() and you can build pretty much any shader you want👍 Try converting simple maths you made with nodes with a custom HLSL node first and go from there.
@@ghislaingirardot Oh wow, that's really good to know, Thank you so much for your advise.
This is amazing and it looks really good! But what about a tree with 1 million polygons for example? If I want to animate it with your wind system, what would the performance be like? And can VSMs be applied to it? Thank you.
My system changes nothing to the cost of rendering millions of triangles and the huge cost of constant VSM invalidation with WPO. Keep in mind my system just outputs a texture in 0.05ms, that's it. It's up to you to sample that texture in your vertex shader however you like and create your own tree animation. A 1M tri tree is going to be expensive, period, regardless of wind animation or no wind animation.
would this effect be possible and plausible using something like leaves on trees?
Sure. Applying wind to tree is a bit more complex though but 2D wind is just that... 2D wind. Up to you to be smart and make decent branches/leaves motion from that data
Salut! Ou trouver les assets d'herbe que tu utilises ? Ou un tuto qui permettraient de faire quelque chose de ressemblant. Merci beaucoup!
Bonjour! Je les ai fait moi même sur Blender. Je ferai une vidéo sur mon process un jour ou l'autre mais tu peux probablement déjà trouver des tutos qui expliquent le procédé.
@@ghislaingirardot honnêtement ton herbe est merveilleuse si tu peux me donner les assets ou faire un tuto ça me sauverait la vie 🙏🏼🤠
@@drinorkastrati8824 Merci! Les assets sont dispos sur mon Patreon en T3 reward
@@ghislaingirardot ok! Et ya quoi d'autre dans le T3?
@@drinorkastrati8824 Tous mes travaux
If you added a small selection of tiled filters randomly, it would break the repetition.
Not sure what you mean :) Tiling isn't that obvious anyway imho, not really an issue the way I see it. Plus you can always distort UVs with another map and break the tiling easily.
Well this tutorial is really not for begginers. I tried to follow it but its quite frustrating that you didnt show part of it(Like begining and the end of the construction script.. also whats in the NS scratch pad named set initial velocity and more.. ). So if I dont understand completly theres no way to follow it. Too bad i really needed something like this in my game.. :(
The beginning & end of the BP construction script is irrelevant, ignore it. Just something I tried on my end for something else. Ignore the scratch pad as well.
I never said it was a tutorial nor that it was beginner friendly. It's just not the audience I target. There are plenty of videos out there that explain the basics, no need for me to reinvent the wheel.
Feel free to check out the project files if you're having troubles re-implementing this, it's available for 10 bucks :shrug:
Hey thank You for your answer.. Can you drop me a link where i can find the project files? Is the whole project included in that.. with all the texture maps and the grass mesh as well? @@ghislaingirardot
Nothing makes sense. If you want to teach something, explain it step by step from the beginning to the end in a single video. Even if you made a blade of grass in Blender, explain how you did it. This way, nothing makes sense. You would only satisfy yourself.
Personally, I am a novice and I didn't understand anything, my friend. Even idiots like me need to learn.
@@KahramanlarMeydani Learn the basics first :) This is clearly an advanced topic.
@@ghislaingirardot teach me from the basics
@@KahramanlarMeydani Sure, I'll do a 40hrs long series on graphics programming and 3D modeling, starting from how circuit boards work and how electrons can be harnessed to build logic gates and create bit-operations.
@@ghislaingirardot If you publish the work you did in this video in its raw form from start to finish without editing it with editing programs, people would understand much better what you did and how you did it. It would be like being in a classroom. This is exactly what is being asked of you. There's no point in joking about doing a 40-hour course. I am 30 years old. I have been developing high-level projects with Unity for 15 years. Now, I want to do something with Unreal, but since I am unfamiliar with the interface, everything remains unclear. Is it stupid or ignorant to want to see everything in this video in detail? Or should I go and spend four years at university just to make a wind effect?
when water simulation?
I've done enough water stuff. See my older videos :)