- Home /
LowPoly/Flat Unity terrain shader?
Hey, i am working on a runtime terrain editor and i want to achieve the look that astroneer has (http://astroneer.space/)
so as far as i can tell from testing, the look is impossible to reproduce with "just" changing some terrain setting values. and since it should be editable during runtime, i also can not export it as obj and "flat" it by changing the import settings or using something like "poly world".
so is there any other solution?
This is for the player to edit terrain? Seems like you might just hand-make a 10x10 (for example) set of quads and hand-place them over the section being edited.
That would allow you to make them look nicer. Give them a small border, or a slight checker-board pattern. Or color by height ... . As the player moved the edit area, "good" Terrain would appear as you moved your squares away, which I think would look nice.
Answer by Cherno · Dec 02, 2015 at 04:23 PM
No smoothing groups because each face uses it's own normal. I doubt that it can be done with Unity's terrain system, but it'S no problem if you create your own mesh from script.
Right. However the term "smoothing groups" only applies to modelling software. At runtime there is nothing like a smoothing group. Only vertex normals. In general there several ways to achieve flat-shaded polygons:
Create a mesh without shared vertices. So each face has a unique set of vertices and all vertex normals of a face equal the surface normal.
Write a special shader that calculates the normal in the fragment shader by using the ddx and ddy partial derivative functions and use the cross product.
If your target platform supports geometry shaders you could calculate the normal there. The geometry shader is called once for each primitive / face
Your answer
Follow this Question
Related Questions
Terrain Generator Producing Completely Flat Results. 1 Answer
[Blender] Sculpt high detail with custom brush over low poly terrain 0 Answers
Procedural "Faceted" Terrain 1 Answer
how to remake a terrain flat ? 1 Answer
Make a simple tree 1 Answer