Lo-Fi Terrain? (video image example)

Howdy all,

I’m trying to achieve some low-fi/lo-poly terrain in Unity and I’m running into some obstacles.

This is what I’m aiming for (video)

I have managed to create terrain in C4D (very lo-poly) that behaves very nicely in UNITY, but I don’t have access to the terrain tools (vegetation, texture painting etc…) that would make my life a lot easier. Unity terrain always ends up to smooth (phong-ish I guess, I’m no pro on the terminology).

Any suggestions on how to achieve the lo-poly effect in the in engine terrain tools?

Thanks!

Hey there. Funny that I’m trying to do pretty much the same looking terrain at the moment.

The screenshot you posted demonstrates one thing you can’t do with Unity terrain and that’s to have things like that boulder with its edges positioned non-grid-aligned coordinates. See where the boulder meets the ground. In Unity you are stuck with all triangle’s X and Z coordinates being aligned to a grid. The resolution of that grid largely depends on the size of your height map and game world.

In the video is looks as though each triangle reflects, maybe from a cubemap? It also looks like you need separate normals for each triangle corner in which case you can’t use Unity terrains, you’d have to have separate triangles instead of traingle strips. You could procedurally generate it from a heightmap image in Unity script, which is what I’m doing. I haven’t quite figured out the normals yet, ie how to get the landscape to look faceted with regard to lighting. I am wondering if a light needs to move along with the camera?

As to the sort of glowy-line look, you need a fairly high resolution texture applied to the landscape. You want to enable bilinear filtering for the texture, and draw the lines+glow onto the texture. Ie draw fairly large triangles or whatever shape you want that follows the contour of your geometry triangles. This way you’ll get the lines at the edges.

Good luck with perfecting it, I’m still dabbling. I went with creating a grid of procedural meshes based on a heightmap that I load in. I based it off the procedural mesh generator demo example which Unity provided. I haven’t settled on the art-look of mine yet, though.

This was actually just a rough idea that I mocked before even firing up unity for the first time. I ultimately would just like to achieve the ‘facets’ as you call them, clear polygonal surfaces.

In regards to the wireframe texture, I really have no idea how to go about that yet in Unity (I’m a beginner) and the shaders are over my head at the moment.

Here’s what I’ve managed to achieve with a bit of fiddling (video)

oddly enough this reminds me of voxels…

Ok, yah, looking good so far. How did you get it to be faceted? It looks like maybe you are using vertex colors with individual triangles? How are you doing the lighting?

As to the texture thing, to get lines along the triangle edges, you really are just going to apply a fairly high-res texture to the landscape. You need to know how many triangles/quads the texture will cover (which will be based on the texture coordinates). Then you will know how many triangles to draw on your texture. Use a high-res texture like at least 1024 or 2048, and make sure it doesn’t stretch very much on-screen. So depending on your camera angle etc, you ideally want your texture to be roughly a 1-to-1 pixel mapping between the size of the texture and how big it looks on-screen. I chose a 2048 texture and it maps to an area which covers most of the screen in perspective. This makes the pixels of the texture small enough that your triangle edge lines look pretty good quality.

I’ll attach a picture of how mine is looking so far. I haven’t added in vertex colors yet so I might try that… I’m struggling a bit otherwise to get it to look faceted like yours.

Rereading your post I see you were mainly asking about how to do the the low poly using Unity’s terrain tools. .I suppose you could just go with a low poly heightmap and a fairly large/stretched out terrain size. Then you’d want the high-res texture to do the thin lines along the polygon edges. Then you’d want to move one of the boundaries, I forget if it’s the detail distance or pixel error, but if you set pixel error to either very low or high I seem to recall it stops the terrain engine from turning far-away polygons into much bigger polygons… … cus if it were to do that it’d mess up the look of your polygon edges. It’s kinda like forcing it to use one mipmap level for the level of detail of terrain geometry.

(Sorry to bring up this thread).
Did you do that with terrain editor?
If so, how did you achieve the effect?