A kelp system that efficiently simulates and renders customizable kelp on the Unity HDRP pipeline. Settings such as the variable height, leaf distribution, physics, colour, leaf size, etc can all be customized per kelp instance. Despite all the variables all the simulation and rendering utilises the same mesh, material and compute shader allowing for a huge amount of kelp objects with minimal performance impact.
Read more on how this was made on my blog: https://seasaltcrackers.wordpress.com/2021/09/24/dynamic-kelp-in-unity/
Stress test and interaction
An example of a kelp type that switches up the sway values
Collision between a moving spherical object and the kelp
A variety of kelp types