My first step in Strand-based Foliage Simulation

  Рет қаралды 6,617

Ghislain Girardot

Ghislain Girardot

Күн бұрын

Files are available as a Tier 2 reward on my Patreon: / ghislaingir
Twitter: x.com/GhislainGir
Mastodon: @GhislainGir@mastodon.gamedev.place
0:00 Intro
0:32 Previous Experiments
08:48 Hierarchy - Strand From Bones?
13:13 Hierarchy - Strand From Custom Data!
14:24 Hierarchy - CSV File
16:10 Simulation - Structure
18:28 Hierarchy - Construction
19:06 Simulation - Algorithm
27:10 Simulation - Export
32:00 Vertex Shader
33:00 Vertex Skinning
34:59 Outro
I'm back with another experiment! I hope you'll like the video :) Cheers!

Пікірлер: 35
@UriahGnu
@UriahGnu Ай бұрын
Amazing work as always Ghislain! I'm getting into compute shaders to generate procedural terrain and foliage myself and it is not easy, look forward to seeing what you do with this in the future.
@ghislaingirardot
@ghislaingirardot Ай бұрын
Good luck with compute shaders 😄
@UriahGnu
@UriahGnu Ай бұрын
@@ghislaingirardot I know right! 🤪 There are some better resources than there used to be, check out Shadeup.
@christopherfrancique9912
@christopherfrancique9912 Ай бұрын
So cool bro, cant wait to see the progress
@CGC_Studio
@CGC_Studio Ай бұрын
Nice work.happy to see you progress :)
@PeterKLee255
@PeterKLee255 Ай бұрын
amazing talk! thank you sharing your tricks!
@stereographik
@stereographik Ай бұрын
very interesting and clever solution. reminds me the famous crysis interactive foliage.
@ghislaingirardot
@ghislaingirardot Ай бұрын
It's hard to fathom how much Crysis was ahead of its time regarding tech 🙂
@colelindbom6012
@colelindbom6012 28 күн бұрын
Really cool stuff, Ive been working on a foliage generator in engine using geometry script and my own implementation of the LSystem branching algorithm.. with some tweaking it could output that point data no problem along with a generated mesh.
@ghislaingirardot
@ghislaingirardot 28 күн бұрын
Geometry scripting is awesome!
@3jsjeosn
@3jsjeosn Ай бұрын
You're brilliant
@AK-trud
@AK-trud 28 күн бұрын
Approximately after 30:00 my brain started to explode :)
@Mittzys
@Mittzys 29 күн бұрын
blueprint struct 😱😱
@ghislaingirardot
@ghislaingirardot 28 күн бұрын
I liker danger
@shaunramkelawon
@shaunramkelawon Ай бұрын
I been struggling with this and performance. well explained
@fouadchakerbzr7601
@fouadchakerbzr7601 Ай бұрын
Pretty awesome
@tomtawadros
@tomtawadros Ай бұрын
This is fantastic.
@ghislaingirardot
@ghislaingirardot 28 күн бұрын
Ty! Sketchy though!
@evanlane1690
@evanlane1690 Ай бұрын
I love this! I've been interested in doing some nesting based gameplay for little forest birds. Vertex based plant movement is awesome for graphical movement, but it's difficult to get realistic interaction. I'd like to mix your method for nearby branches with vertex shaders or RTs for the remainder.
@ghislaingirardot
@ghislaingirardot Ай бұрын
You can definitely mix techniques for sure :)
@adamebadra3171
@adamebadra3171 Ай бұрын
the goat
@faimenDev
@faimenDev Ай бұрын
WOw!
@shannenmr
@shannenmr Ай бұрын
Have you watched the Foliage section of the Battle-Testing UE5 Next-Gen Systems with Fortnite from GDC2023 where they talk about how they baked the bone influences to Textures and use a Texture with custom MIPS to do the Wind etc ?
@shannenmr
@shannenmr Ай бұрын
Also gone through in the Blog Post by EPIC called Bringing Nanite to Fortnite Battle Royale in Chapter 4
@ghislaingirardot
@ghislaingirardot Ай бұрын
@@shannenmr Yes I have. Like I said in the video, the skinning technique I used is similar to the one used for skeletal animation textures or bone-weighted anim textures in general. This has been around for a long time now. Skinning is just one of the many pieces of a giant puzzle. For Fortnite, they baked a wind animation texture from a simulation done in Houdini, so it's precomputed and can't react to player/change in wind etc. This is obviously not what I want.
@yonjuunininjin
@yonjuunininjin Ай бұрын
Find a girl that looks at you, the way Ghislain looks at foliage :) Let's go round ... I don't even count anymore ! :D
@kolupsy
@kolupsy Ай бұрын
does unreal not have the notion of a compute buffer? An array accessible by the gpu outside of having to encode the data as texture data and having to worry about compression and sampling? That would be a lot more convenient and comfortable to use I would think. Also for the verlet integration you can solve the edge length multiple times on the same tick. Then you do not need to set your frequency so high. Just step through the node updates once and something like 4 times through the edge solving algorithm.
@ghislaingirardot
@ghislaingirardot Ай бұрын
Hey! UE has a compute buffer afaik, but like I said in the video, it's a bit out of my league for now. Baby steps. Regarding substepping, yes, correct. Although some algorithm like XPBD prefer subticking the entire simulation, like I do, for more accurate velocities afaik. Same but different, I'm not sure it'll make a difference once ported to compute but it's something to try :)
@kolupsy
@kolupsy Ай бұрын
@@ghislaingirardot ah cheers. I understand. Compute buffers are actually super simple in my opinion, they just sound scary :D I am not sure how they are implemented in UE but from my experience simulating kelp in unity I can say that they are a blast to work with really
@ghislaingirardot
@ghislaingirardot Ай бұрын
@@kolupsy Oh yup, nothing too complicated about compute shaders, just that the UE rendering pipeline is definitely less straightforward and less documented than Unity's imho :D I'll just have to bite the bullet and dive into it rly
@3jsjeosn
@3jsjeosn Ай бұрын
"Its a blueprints solution so its not performant at all" does this mean blueprints arent meant for priduction in these cases?
@ghislaingirardot
@ghislaingirardot Ай бұрын
There's no absolute truth. My statement was for this specific use case. Blueprint *is* definitely meant for production. Just have to know when it is and when it is not. Doing a custom simulation that is subticked at 240fps isn't what blueprints were designed for. Convert this to CPP and you get code that is orders of magnitude more performant. For gameplay/event-driven logic (GAS etc.) that is called here and there however, you often don't get as much performance by converting to CPP and some things are infinitely faster to code in BPs and/or must be exposed to a higher level in the engine for level/game designers etc.
@JieDu-yj2vd
@JieDu-yj2vd Ай бұрын
It's more expensive to make vegetation interaction based on bones, so it's not as good as shader.
@ghislaingirardot
@ghislaingirardot Ай бұрын
Clearly, you haven't watched the video. This is not bones & it's a shader
@JieDu-yj2vd
@JieDu-yj2vd Ай бұрын
@@ghislaingirardot Sorry, I didn't finish reading it
From Beginner to Expert: Niagara's NeighborGrid3D
1:26:17
Ghislain Girardot
Рет қаралды 5 М.
Why You Should Always Help Others ❤️
00:40
Alan Chikin Chow
Рет қаралды 126 МЛН
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 4,7 МЛН
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 185 МЛН
How To Create Beautiful Ambient Sounds For A Game
14:02
Marshall McGee
Рет қаралды 17 М.
An unusual technique to create cheap fluid VFXs...
31:03
Ghislain Girardot
Рет қаралды 6 М.
6 Best Unreal Engine Plugin [FREE]
6:02
Boundless Bite
Рет қаралды 6 М.
The Secret Behind Photorealistic And Stylized Graphics
35:00
Acerola
Рет қаралды 152 М.
Procedural Waterfall Generation Tool! Demo & Technical Breakdown
1:49:14
Ghislain Girardot
Рет қаралды 13 М.
Your Triplanar is wrong. Here's how to make one that works. [UE5]
24:48
How Big Budget AAA Games Render Clouds
10:45
SimonDev
Рет қаралды 259 М.
Reinventing Minecraft world generation by Henrik Kniberg
49:41
The REAL Reason Unreal Engine VFX Looks FAKE
6:58
Joshua M Kerr
Рет қаралды 280 М.
Skins from the FUN&SUN collection | Standoff 2 (0.29.0)
1:10
Standoff 2 Live
Рет қаралды 1,2 МЛН
DELETE TOXICITY = 5 LEGENDARY STARR DROPS!
2:20
Brawl Stars
Рет қаралды 21 МЛН