You can use VertexColors inside GraphicsComplex to give colors to vertices:
pts = RandomReal[{0, 1}, {5, 3}];
Graphics3D[
GraphicsComplex[pts, Polygon[{{1, 2, 3}, {2, 3, 4}, {3, 4, 5}}],
VertexColors ->
Map[Function[pt, ColorData["Rainbow"][pt[[3]]]], pts]]]
You may have to simulate ColorFunctionScaling.