正在加载视频...

视频加载失败

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 次观看 • 7 个月前 •via X (Twitter)

11 条评论

Shahzod Boyhonov 的头像
Shahzod Boyhonov7 个月前

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

Puzzle Paws 的头像
Puzzle Paws7 个月前

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 的头像
Shahzod Boyhonov7 个月前

around 200. ~70 of them are for grass.

Adam Wagner 的头像
Adam Wagner7 个月前

Low tech but still high effect

Torvid 的头像
Torvid7 个月前

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

lowiqcatsoupial 的头像
lowiqcatsoupial7 个月前

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

BoogerCheeseOnRye DeepFried 的头像
BoogerCheeseOnRye DeepFried7 个月前

Noice

Patrick Haraguti 的头像
Patrick Haraguti7 个月前

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 的头像
survivorr7 个月前

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 的头像
Shahzod Boyhonov7 个月前

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 的头像
Abraham7 个月前

Unoptimized slop

相关视频