Grass - Photogrammetry based Environment Texture

This is an experiment I made recently based on grass I scanned a few years ago. I did my best at this time to capture it and turn into super cool grass material. In result I took 310 images but totally failed on reconstruction stage. THe result was so bad that I never published that.
At this time I learnt that its a bad idea to scan tall grass and expect a great 2D result from it. Especially that even small wind blow, moves the grass blades easily which results in blurry misinterpretation during the reconstruction.
Anyway, years later, with better tools and worflow improved I gave it another try. With a depth map based reconstruction Metashape offers I was able to turn all these 310 images into full 3D, 350mln poly heavy model and 16k TIFF texture used carry albedo.
Unfortunately because Substance Designer doesnt support PLY format yet, I decided to decimate it to just 150mln polys and export as FBX file. Anyway, here is the result. Not as good I was hoping for.. actually I am not very proud of that.. but definitely worth to show and I believe that it might work as a grass texture when applied to the terrain.
Conslusion? Never scan tall grass unless I dont fully control environment in 100%

Anyway, to create this material I followed my standard workflow, which can be found on my youtube channel:
https://www.youtube.com/c/GrzegorzBaranArt
Even if I still consider this material as a kind of failure, since its not totally broken as promised I have added it to my Material Library as 'gb_grass270'
https://gum.co/WJAQy
Cheers!
G.

PBR preview: Albedo / Normal / Metalness/ Roughness / AmbientOcclusion

PBR preview: Albedo / Normal / Metalness/ Roughness / AmbientOcclusion

Marmoset Toolbag 4 - tiling preview video

Source - as you can see this is a very tall grass. I dont recommend to scan grass like this since evey, even slight wind moves grass blades and turns result into blurry mess.

Source - as you can see this is a very tall grass. I dont recommend to scan grass like this since evey, even slight wind moves grass blades and turns result into blurry mess.

Source - this surface was scanned years ago. At this time I used tinfoil balls to mark the area for scanning. I can tell that it worked but it wasnt the best idea :). Folded rulers I curently use are way better.

Source - this surface was scanned years ago. At this time I used tinfoil balls to mark the area for scanning. I can tell that it worked but it wasnt the best idea :). Folded rulers I curently use are way better.

Metashape - photogrammetry based reconstruction (310 x 24Mpx images)

Metashape - photogrammetry based reconstruction (310 x 24Mpx images)

Metashape - confidence map - red means unsufficient data coverage, green is ok-ish while blue is great. It shows how tricky this reconstruction was and even if I did my best, how far to what it should be it is.

Metashape - confidence map - red means unsufficient data coverage, green is ok-ish while blue is great. It shows how tricky this reconstruction was and even if I did my best, how far to what it should be it is.

Metashape - mesh with shading preview details - as you can see there are a few glitches. They come from the lack of data coverage and grass micro movement during the capture.

Metashape - mesh with shading preview details - as you can see there are a few glitches. They come from the lack of data coverage and grass micro movement during the capture.

Metashape - mesh with shading preview details - as you can see there are a few glitches. They come from the lack of data coverage and grass micro movement during the capture.

Metashape - mesh with shading preview details - as you can see there are a few glitches. They come from the lack of data coverage and grass micro movement during the capture.

Metashape - confidence map - details preview. Red means poor data coverage

Metashape - confidence map - details preview. Red means poor data coverage

ZBrush - the low poly model positioned over the high poly model for texture baking. Since I didnt use rullers I had to eyball the position using flowers and documentary images I took. Using rullers as a scale reference changes a lot and makes life easier.

ZBrush - the low poly model positioned over the high poly model for texture baking. Since I didnt use rullers I had to eyball the position using flowers and documentary images I took. Using rullers as a scale reference changes a lot and makes life easier.

Substance Designer baker settings

Substance Designer baker settings

ArtEngine - AI based seam removal. I didnt waste my time trying to tile this material and I just let the AI to do the job.

ArtEngine - AI based seam removal. I didnt waste my time trying to tile this material and I just let the AI to do the job.

The material and texture set has been added to my material's library:
https://gum.co/WJAQy
as 'gb_grass270'

The material and texture set has been added to my material's library:
https://gum.co/WJAQy
as 'gb_grass270'