Is there any way to set ambient light per pixel?

I am making a voxel game , and calculates a voxel-based ambient light instead of a skylight actor. Each voxel has a different ambient light and is stored inside the vertex color(G channel), but the material editor seems can not set the ambient light directly?
My current method is: the ambient light multiplied by the basic color output to the Emissive Color slot, but if the vocal distance from the camera is very far, there will be the wrong effect.
Is there any way to avoid this wrong effect?Or there are other ways to make voxel-based?

This is ambient light stored in vertex color(G channel).This AO effext is coused by the voxel ambient light.because each vertex is has different ambient light.


This is actual display effect,whthout any other light source.



These are error display effect in a far distance