How do i create gradient between two materials in one mesh? (second screenchot was edited in PS)
Here is one option to use the Vertex Paint Blur tool on the border between the white color vertex and the black color vertex. I paint the center area white in vertex paint mode, and then invert and set paint to black (in the header, go to Paint> Set Vertex Color and this will act like a fill). I used Face Select masking to do this without overriding the center white area.
I then switch tools to the Blur tool and blur the area around the white spot so that it cause a gray area. To deepen it, I subdivide once to force the vertex paint to blend across the changes. I then use this vertex color in the Attribute node (named Col by default) as a factor to mix between a diffuse black shader and a blue emission shader.