My first step in Strand-based Foliage Simulation

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

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!

Пікірлер: 37
@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!
@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.
@AK-trud
@AK-trud Ай бұрын
Approximately after 30:00 my brain started to explode :)
@3jsjeosn
@3jsjeosn Ай бұрын
You're brilliant
@colelindbom6012
@colelindbom6012 Ай бұрын
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 Ай бұрын
Geometry scripting is awesome!
@Mittzys
@Mittzys Ай бұрын
blueprint struct 😱😱
@ghislaingirardot
@ghislaingirardot Ай бұрын
I liker danger
@fouadchakerbzr7601
@fouadchakerbzr7601 Ай бұрын
Pretty awesome
@shaunramkelawon
@shaunramkelawon Ай бұрын
I been struggling with this and performance. well explained
@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 🙂
@faimenDev
@faimenDev Ай бұрын
WOw!
@tomtawadros
@tomtawadros Ай бұрын
This is fantastic.
@ghislaingirardot
@ghislaingirardot Ай бұрын
Ty! Sketchy though!
@adamebadra3171
@adamebadra3171 Ай бұрын
the goat
@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 :)
@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
@Oleg_UE5
@Oleg_UE5 Күн бұрын
Could we use load instead of sample? Its faster and we dont get into interpolation problem.
@ghislaingirardot
@ghislaingirardot Күн бұрын
You could and you should. I forgot this was an option at the time.
@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
Рет қаралды 6 М.
бесит старшая сестра!? #роблокс #анимация #мем
00:58
КРУТОЙ ПАПА на
Рет қаралды 2,9 МЛН
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 16 МЛН
A pack of chips with a surprise 🤣😍❤️ #demariki
00:14
Demariki
Рет қаралды 53 МЛН
🌊Насколько Глубокий Океан ? #shorts
00:42
How To Create Beautiful Ambient Sounds For A Game
14:02
Marshall McGee
Рет қаралды 18 М.
I Optimised My Game Engine Up To 12000 FPS
11:58
Vercidium
Рет қаралды 552 М.
Final Update for Free Splined Mesh Tool | UE5 + UE4
16:49
A Vie Guy Studios
Рет қаралды 2,4 М.
I coded a Minecraft Shader with Distant Horizons - Here's How
41:15
Samuel Gerkin
Рет қаралды 72 М.
An unusual technique to create cheap fluid VFXs...
31:03
Ghislain Girardot
Рет қаралды 6 М.
Lego Racers Can't Be Made Today
22:10
Tin Sensei
Рет қаралды 376 М.
The rarest move in chess
17:01
Paralogical
Рет қаралды 1,2 МЛН
Procedural Waterfall Generation Tool! Demo & Technical Breakdown
1:49:14
Ghislain Girardot
Рет қаралды 13 М.
Coding Adventure: Simulating Fluids
47:52
Sebastian Lague
Рет қаралды 1,6 МЛН
ЭВОЛЮЦИЯ КАЧКА В ROBLOX
29:40
OVER SHOW
Рет қаралды 217 М.
ОЧЕРЕДНОЙ ДУРАЧОК ► Resident Evil 5 #5
1:9:15
Kuplinov ► Play
Рет қаралды 568 М.
СМОТРИ, КАКОЙ ВКУСНЫЙ ПИРОЖОК!
12:56
ViteC ► Play
Рет қаралды 609 М.
MEGA BOXES ARE BACK!!!
8:53
Brawl Stars
Рет қаралды 33 МЛН