Low Poly Racing Game

Playing around with art styles for my racing game; I quite like this and something similar should be achievable in realtime. This uses a custom geometry shader to accurately cut paths/roads into terrain and all terrain colours are automatically generated from the z-axis of the normal.

Would appreciate thoughts on the overall look, but particularly the level of detail and grass etc; as I’ve struggled to come up with a grass style which matches a large scale low poly terrain.



4 Likes

Never thought about this possibility…:thinking:

Yeah it’s quite cute, but involved. My first few attempts worked on the basis of moving all points [of the terrain mesh] which fall under the path mesh to the closest point on the path mesh; thus clearing out the path. This works pretty well, but you need a LOT of geometry to prevent weird low poly interference. You can’t select “close” geometry, separate and subdivide it, as you end up with holes wen it’s rejoined, so manually creating the extra geometry with dyntopo is the only way - but that breaks the non destructive workflow and means you then have to fight to re-reduce the poly count.

The better way is you take the meshes you want to “cut”, extrude them up & down 1000 units, then use this shader on the terrain. It basically selects the geometry close to the things you want to cut (perf improvement), unions the lot, then moves the top/bottom of your extruded meshes back into place. The result is a clean/perfect cut through your terrain and a whole new set vertices (next to the paths) you can shape as needed.

The thing I haven’t quite mastered yet is automatic generation of those cutting meshes. For curved paths I created this crazy complex shader which actually works - it’s just not generic (though I have some ideas)

https://blender.stackexchange.com/questions/248197/generic-geometry-node-graph-to-extrude-mesh

Not sure about the scale of the paper texture on the rock; I feel like it might be a tiny but too large. It might need some randomisation as well as the ripples visibly repeat. Thoughts?

I’m also following a “one polygon, one [base] colour” rule. I keep feeling like I should hand paint the terrain, but I suspect if I go that route I’ll slowly end up loosing the low poly feel

Added some more clutter (my hedge is terrible); so I think I need to spend some time just making trees, bushes, shrubs, rocks etc.

I also spent some time in the compositor to capture the matte look I love


Oh wow, i believe i have to re-think / re-search my knowledge about geometry shaders (GS) and geometry nodes (GN). For me GS was the next step of vertex shaders… doing more with the geometry of any pixel (simplified). Because of this something like the bevel shader is possible: no real beveled model… just implemented on render time. GN was more: construct your geometry with formulas visualized with nodes… okay this could be computed in the grapics compute units…

I warn you, they are habit forming. I was making some better trees and got ended up making this one just to place the branches on a redwood tree; just create a trunk and it will place some branches for you

Looks like the one on the right (leaves placed manually as I can’t get meatball instancing to work)

1 Like