Flat shaded mesh, strange triangle colors

Hi guys.
I wrote a script, which manually generates a mesh using perlin noise, and then I use flat shading technique, where I make all vertices unique. I triple checked how I create uvs, triangles and vertices and assign white color to all of them.
After mesh is created, I call mesh.RecalculateNormals();

The problem can be observed on the video below.
Rotating the directional light causes smooth color change, that’s OK, that’s what I would expect, but when rotation reaches some value, some of the triangles go immediately to black without any colortransition.
What can be the problem? Or is that normal?

Video: https://vimeo.com/202081717

Fixed as set the Material’s shader to Legacy/Diffuce Fast from Vertex Color

Hey Could you please send me your code i’ve been trying to make a script that would generate a map using perlin noise but it keeps being smooth instead of being lowpoly like yours :frowning: can you please send me your scripts or full project i would really appreciate that :wink: