How to make Interactive Grass?

while wait(tweentime * (tweenbackMultiplier/2)) do
	if wind then
        local CFrameDifference = CFrame.Angles(math.random(-windStrengh, windStrengh), math.rad(0), math.random(-windStrengh, windStrengh)
		for i, grass in ipairs(GrassFolder:GetChildren()) do
			local windtween = TS:Create(grass.PrimaryPart, tweenInfoWind, {CFrame = grass.PrimaryPart.CFrame * CFrameDifference)})
			windtween:Play()
			if not touching then
				wait(tweentime / 1.2)
				local normaltween2 = TS:Create(grass.PrimaryPart, tweenInfoWind, {CFrame = grass.RotateMain.CFrame * CFrame.Angles(math.rad(math.random(-1, 1)), math.rad(0), math.rad(math.random(-1, 1)))})
				normaltween2:Play()
			end
		end
	end
end

It probably occurs because you are multiplying the current CFrame by the new ā€˜CFrameDifferenceā€™ that iā€™ve put in, You will want to check that the ā€˜windtweenā€™ is not called more than once, just make sure itā€™s not doing it over and over again (check your while wait(tweentime * (tweenbackMultiplier/2)) do)

Copy the code i sent as it is now because iā€™ve edited it a bit, Come back to me if it still doesnā€™t work

5 Likes

hey, TheHeroGamer001 I was looking at this topic and it seems very interesting. Is it possible if you could send a video of how it turned out, I want to try and implement this into my game but I donā€™t know how it turned out so I would like to see an example first!

how did you get the wind system to work I have been trying to figure it out but I am not able to. i have no idea how you implemented it into the script

As shown here, this is how I would get the wind to work. It has been 2 years and i havenā€™t been developing for awhile so I may not have the answer for you right away.

But the idea is that you have ā€˜wind gustsā€™ so at every time interval (tweentime * (tweenbackmultiplier/2)) it will apply a tween to each grasspart transforming it to move in the direction fo the wind.

Try using the quoted piece of code and if possible, DM me about this so we are not necrobumping this thread

2 Likes

Iā€™ve had the same issue with grass and wanted to make one and I found that your solution is very helpful but I canā€™t seem to know where exactly to place everything or whether if the script is local or not.
image
image

And I also have this error in output

I know itā€™s been a couple months and Iā€™m very sorry about that :sweat_smile:

definitely a localscript; you donā€™t want the server micro-managing rendering tasks

2 Likes

Wild West does NOT use the interactive grass, that Roblox provides.


(Yes the grass mesh is quite primitive)
This is all done in a local script to compensate for the servers processing
(Meaning this does not replicate but it is very efficient)

(Layout Of grass and folder)
image

(Video of grass working and wind)

(RBXM (ROBLOX MODEL FILE) FILE)
grasssys.rbxm (33.2 KB)

(How to use the file)