jetyb 22 дек 2016, 08:11
Делается путем замещения стандартного шейдера травы. Проминание задается модификацией вершинного шейдера.
Чтобы шевелить траву вокруг игрока, достаточно шевелить ее только в некоторой простой области вокруг игрока(круг или прямоугольник), определяющейся скриптом и передающейся в шейдер (через Shader.SetGlobalVector(Vector4 rectArea) ).
Для проминания травы делается обновляемая текстура-маска проминания. Проминание определяется например по этой текстуре и worldPosition вершины. Текстуру проминания можно обновлять через Graphics.Blit или вычислительный шейдер.