Wind Shake: High performance wind effect for leaves and foliage

Would this work with dynamic foliage, in my game trees grow, die, and well, do tree things, will it “forget” objects if they are removed from workspace, or if new items with the tag are added during runtime?

2 Likes

Sorry this is a very late reply… And your question may have already been answered. I use the ZonePlus module to pause and resume the wind streaks. Perhaps that would help your issue? Good luck!

1 Like

Hi, I’m interested in using this module for a large project of mine that would include 1000+ shaken objects. I’m noticing performance dips here and there despite optimizing the meshes as much as possible. Is there a way to modify the code so it only shakes tagged objects within the local player’s camera? Thanks!

1 Like

In my experience using a version of this from early last year, there is a WindController local script you put in your StarterPlayerScripts, and under it is a WindShake module.

In that is a function WindShake:Update() that is doing exactly as you ask. It takes the player’s camera position and look vector * some number of studs out and then a slightly larger radius from there to identify objects with the WindShake tag to apply the effect.

I’ve changed the studs out and slightly larger studs for radius for my different use-cases.

1 Like

Sorry for the late reply, appreciate you pointing this out, that should definitely help me out.
Thanks!

really great module, congratulations - thanks @boatbomber :heart_eyes:

7 Likes

This isn’t working for me for some reason. I followed this (Yt Tutorial I used and it wouldn’t work for me and I don’t know why.

2 Likes

I’m not sure if I’m mistaken but there seems to be an issue with the :CleanUp function. :CleanUp is called during the :Init function and self.Initialized is set to false which causes the :CleanUp function to be unable to be called outside :Init due to the self.Initialized check. Nobody seems to have mentioned this, I can’t be the only one that has encountered this issue.

2 Likes

Hi, I have a question, will the system be adapted for streaming?

2 Likes

I use it on my experience which has all its places with streaming enabled and have experienced no issues in its functioning.

2 Likes

It’s already built with streaming in mind, don’t worry!

2 Likes

Follow up, it does not, and looking to see if there is a way to allow it, currently it just changes the parts to the location they first formed

Is there a way to hopefully disable this movement somehow?

ignore the frame drops, tree generator batch spawn and terrain load in doesnt mix very well

1 Like

Hey @boatbomber! Any chance this module gets an update to play nicely with the new GlobalWind property? :heart:

21 Likes

I agree with @Thelegender, since the release of GlobalWind, this module can gain even more performance from what I recall.

3 Likes

The Global Winds is in beta currently, so this might add GlobalWind properties when it’s fully out

3 Likes

Yes, after it exits Beta I do intend to implement it.

15 Likes

Do you think you could make it work for bones in meshes? I’d love to make a rigged tree and having it flow in the wind like how other engines do it

1 Like

That’s a planned feature but I don’t have a timeline for it.

5 Likes

https://twitter.com/BoatbomberRBLX/status/1670189608313982977

2 Likes

Yeah haha my “no timeline” can mean anything from tonight to next year but in this case it meant the next day

4 Likes