Post

I just want to make it affordable for people. Don't want to build a business on it, but I'm really grateful that people support me buying the asset.

Right now it works like that, right. I'm gonna fix it in the next update, very soon!

This looks absolutely stunning. Can't wait to try it out! Noticed it mentions it requires light volumes to look correct for worlds with otherwise baked lighting? Can this be quite a low resolution bake when working in a large world for performance and still work well? :>

Thanks! It can be any resolution you want and feel enough. For example, I use 1x1x1 Light Volume (a single voxel) for the demo world here :D Because there are no sharp shadows from any objects, so it works nice. Light Volumes here are not something that should limit you.

To add, the beauty of light volumes is that they can work like light probes. You can use a very low density volume for outdoors, and then override with a more dense version indoors. I also saw for the first time someone suggest not even baking lights and just using light volumes, which I will try.

Really, what I'm understanding all of this to mean is that you can have realistic real-time lighting without it costing a fortune. I'm so excited to use this grass shader and push light volumes in a larger, open space.

And also not every shader can support LVs, all mobile shaders, specialist shaders and pre-LV versions of popular shaders all need light probes to look correct.

You still need baked lights for properly lightmapping your static objects well that don't need LV support. And some low end systems struggle a lot with high quality LVs so it's important to benchmark. Likewise baking reflection probes is very important if you don't want metals to look awful.

How does the surface mesh stuff work? I really wanna pick this up because I do a lot of source ports and low brush / grass that looks natural has been kind of out of my reach for a while, but I don't wanna get it only to find out I can't brush it onto the type of terrain I usually work with

How the asset works: Mesh generation and painting: - Editor script generates a copy of a specified surface mesh or terrain to leave original untouched - User paints grass mask that is stored as RGB vertex color of the surface mesh shape to have the correct sorting, reducing overdrawing.

Surface mask pass: - A dedicated orthographic camera renders the assigned surface meshes with MaskMaterial into a render texture. - Mask RGB comes from vertex color and defines grass type distribution. - Mask A stores world-height information used to place particles vertically.

Trail interaction pass: - Trail CRT stores dynamic bend vectors. - Trail Material writes interaction from players/targets into that texture. - The grass shader reads it to bend and dim touched grass.