I want to make an interactive grass

I’ve always wanted to create grass for my game so that it responds to the player’s movement and is physical.

In this case, I wanted to make grass like in the game Horizon Zero Dawn:

I have heard that this can be done with Mesh Deformer, but is it true?
I also want to say that I’m not going to make the grass so detailed and also with animation. But as far as I know, if you use dice, there will be no performance problems

Anyway, I don’t want to make 100K+ ropes or something like that
I hope for your help :slightly_smiling_face:

PS: I absolutely do not know how to use Mesh Deformer. I didn’t find any useful tutorials(

1 Like

Would probably be terrible for performance, don’t recommend stuff like this on roblox yet…

This would be very laggy if you’re going to use a lot of grass, but other than that, it is possible.

Something like this script inside the grass mesh/part:


script.Parent.Touched:Connect(function(player)
(detecting the players CFrame and the grass CFrame, then the grass making sure it stays a certain distant from the player)
end)


I obv am not going to script because itll require a lot of time for this type of coding but you get the idea.

1 Like

There’s something wrong with me. I started envisioning attack sequences and quest requests from the grass.

Probably not that kind of interaction.

There is probably a way to do this en masse with a CollectionService. Assuming the grass does not bend:

  1. Origin at the root of the grass blade.
  2. Have the blade tip the “LookAt” direction.
  3. Move the “Lookat” point away from the player, but slowly return to position once the player is gone.

Still, that’s a lot of parts.

1 Like

Still, I thought to postpone the development due to the fact that this will have a very painful impact on performance. I will be waiting for similar updates from roblox :frowning_face:

You can create this performantly by doing it 100% on the client. Every second or so you’ll get nearby grass in a small radius and apply CFrame math to make it offset from where they’re standing.

1 Like

Thank you for that. But alas, it is difficult. It is much better to wait for an update from roblox now

Are you forced to have that specific feature in the game? If not I’d continue the development of the game.

Alas, yes. The essence of my game is stealth. The grass is where the player should hide.

Yeah fair enough :+1:

Still its a little detail that is not too important. At the end of the day, its a detail and not a game framework which is needed for the game to work.

Don’t get me wrong here. I think you should really continue on your game, even without this feature! Cant wait for it to be released

If you are or have an animator, you could totally fake this. Create a grid of skinned mesh grass with a single animation, to bend outwards in all directions (hexagon tiles are perfect for this). Then only animate it when someone is standing on the grid tile. It would not be the most realistic simulation, but sometimes we have to take shortcuts. If you have a proper alpha channel, you don’t even need a lot of grass strands.

3 Likes

Thank you for this advice. I didn’t even think that it was possible :flushed: :relaxed: