Loading video...

Video Failed to Load

Go Home

Custom grass system. No instancing, no Compute shaders. Just game objects splitted into chunks with LODs. Displacement in vertex shader. Their geometry is pre-sorted towards the camera to minimize overdraw. Unity automatically handles culling as they are just game objects. #madewithunity #realtime

19,748 views • 7 months ago •via X (Twitter)

11 Comments

Shahzod Boyhonov's profile picture
Shahzod Boyhonov7 months ago

Here running on Quest 3 for my meditation game. Wishlist here:

Puzzle Paws's profile picture
Puzzle Paws7 months ago

Smart move skipping compute shaders for mobile. Pre-sorting geometry for overdraw is that detail most miss. What's the draw call count?

Shahzod Boyhonov's profile picture
Shahzod Boyhonov7 months ago

around 200. ~70 of them are for grass.

Adam Wagner's profile picture
Adam Wagner7 months ago

Low tech but still high effect

Torvid's profile picture
Torvid7 months ago

Thank god. I don't think people are aware of just how disgustingly slow Geometry Shaders are >.>

lowiqcatsoupial's profile picture
lowiqcatsoupial7 months ago

very cool instancing should still help in this case since they're still predefined meshes?

BoogerCheeseOnRye DeepFried's profile picture
BoogerCheeseOnRye DeepFried7 months ago

Noice

Patrick Haraguti's profile picture
Patrick Haraguti7 months ago

Really cool, curious about how you handle the mesh grid. my guess is you have a grid 5x5 for closer grass and external Lod, when you reach the 3x3 grid bound you move the mesh to player position and use terrain height to offset the grass blade in Y ?! .

survivorr's profile picture
survivorr7 months ago

how do you pre sort towards the camera? does the full game object rotate in a way thats not visible to the player? are meshes constructed during runtime?

Shahzod Boyhonov's profile picture
Shahzod Boyhonov7 months ago

No, they are imported from blender. Sorting is done in Blender. They don't rotate. The grass system moves with the player, so the player is always in the center of the system. But the movement is not noticeable to the player.

Abraham's profile picture
Abraham7 months ago

Unoptimized slop

Related Videos