Nanite triangulates the mesh even when I am very close or even on top of it.

Nanite triangulates the mesh even when I am very close or even on top of it. The mesh is a grass field that I made by converting PCG to a static mesh. How do I fix this? Or is there a better way to do grass fields if I don’t want to suffer long PCG loading times?

this is how its supposed to look

And this is the triangulation

That doesn’t look….correct.

When you say you converted PCG → SM, you mean you (somehow?) converted the output of the PCG graph, the entire field of grass, to a singular mesh?

I wouldn’t recommend you do it that way.

As for your PCG setup, you can throw it up here if you want, I’ll comment but I cannot guarantee a solution. I can only say I have been able to dump ridiculous amounts of grass into the scene w/PCG and it works quite fast.

How are you determining where you place grass? What’s the expectation on draw-distance/density?

hi! Thank you for commenting.

So:

this is the basic 3d model made in blender

This is the material for it.

So i made a simple PCG that distributes points across the surface. then it spawns static a static mesh ( the grass model ). then i made this pcg volumen 70x70x100 in size and placed them inside the level. the draw distance isn’t far at all. and the game runs smoothly while its running. the problems are the loading times, they are up to 1 min long. the level isn’t that big. also if the pcg gets unloaded while you are in the game. and then it gets loaded again the game freezes for like 30 sec. so i converted this pcg actor to a static mesh you can find the option under Actor→ convert to static mesh ( while the pcg is selected) . now the games runs smoothly and it opens fast the only problem are this triangles. also the pcg is really simple its just a surface sampler→ filter attribute element (to avoid the roads)→ transform points → density filter → static mesh spawner.

The PCG

You said you would do it differently? pls tell me how :sob:

sorry i would post more pictures but i am a new user and it wont let me

are you on a platter-drive or something like an M2? how much RAM do you have? Video card is? Version of Unreal?

didn’t get the material graph, but it sounds like it’s ok since runtime performance is ok. I use this to spawn crazy-amounts of foliage, like out to 1.5km:

Muh PCG graph

This text will be hidden

I’m using runtime generation, what are you set at?

it sounds like you are doing it correctly insofar as the PCG. For the part I wouldn’t do is convert that output to a static mesh. It would be a LOT to take in, and it might get oversimplified in the process (maybe what is happening here)? More to the point, you shouldn’t HAVE to make a static mesh; this is exactly what GPU-powered PCG is all about, right? If you make a single mesh you loose out on per-instance variation and whatnot you can leverage in your material; powerful stuff to make a world seem more lifelike.

If you can reply with your graph that might be handy.

I have an ssd. i have 64 ram and my graphic card is a nvidia 5080. and UE 5.6.0. So i dont think hardware is the problem?

i removed the material graph completely and the problem persisted. So its probably not that.

This is my pcg graph. the surface sampler is set to 2 points psm. The static mesh spawner spawns the model i sent in the last reply.

OMG!!!

i just looked up the run-time option ( i had no idea what you vere talking about) and Holy s…. This just opened a whole new world to me. I had no idea that option existed. I had all my pcg set to generate on load. No wonder it was taking so much time to run the game. Now it runs like butter.

I still have a few questions tho.

How well would this PCG at run-time work on lower end computers that dont have strong GPUs?

And i dont fully understand the Hierarchical Generation option yet.

Thank you so much!! I wasted hours on this, this and converting all the PCGs in to static meshes.:sob:

Unsure. Since much of the overhead is ‘just point stuff’ it should be pretty trivial vs running a bunch of heavy graphics. Plus you can tweak the generation settings so the various cells it creates better fit your geometry (see reply below).

It certainly could also be such you load up operations on your points, to do line-traces, and other things so it’s more-expensive than just placing a point. I mean it’s open-ended so depending on what you choose to do, you might be able to cripple ANY card down the line - lol.

That being stated, I think insofar as PCG, older cards will do better than we might expect. Not super-able, but being able to decently populate a scene beyond what state of the art is today. I think it might give them a leg up like a decent driver update would. Again, your mileage may vary based on what you are actually doing, but in ANY case, the PCG-path will be MUCH faster vs the landscape-grass or foliage-tool. In my particular case, I was using landscape-grass out to 750m and overhead was ~3seconds. When I moved to PCG I was able to get grass out to 1.5km (I still wanna see grass when I use a scope, not a basically-naked sniper just sitting there!) and the overhead is now 0.01ms… Crazy-difference.

Past that, assuming your card can draw what you place, the PCG-stuff seems almost-free. It’s like a ‘saturate’ for your level-stuff.. :stuck_out_tongue:

This allows you to set grid-sizes in your graph so the chunks of things, the grain-size of your blocks of stuffs, is tailored to make more sense. Example: I have trees and grass. Grass is more tightly-packed vs trees, i place them every .1m and the trees every 10. I can use a grid of like 1km^2 for the trees bc even at such a large scale, I only have a few dozen to place. Grass on the other hand, I make run in smaller cells like 25m^2 wherein I might have thousands of grass-points.

As I move around the level, I’ll drop existing grass clusters as I move away from them and PCG will create new ones as I get closer to them, but in 25m-square chunks, so each chunk is manageable to create quickly, on the go. Trees I can see from almost everywhere and there are few overall, so it makes sense to have that one cell cover my whole level (for example).

I would highly recommend this channel if you want to pick up more PCG-skills: https://www.youtube.com/@Procedural_Minds/videos

I think i get it.

I will definitely research this further, when I move to a new project soon.

Thank you so much for your time and effort, I really appreciate it!

No worries, feel free to reach out with any questions.

Good luck.