I can’t reproduce this issue - Using PyVista, the colors are the same regardless of zoom level - I have no idea why your code would do this.
import pyvista as pv
import numpy as np
# Re cast PolyData because file was not properly saved
bad = pv.read('myPLY.ply')
mesh = pv.PolyData(bad.points)
# Plot it
scalars = bad['RGB']
This likely has to do with the lighting set on your actor’s property: actor.GetProperty().LightingOn(). also, are you filtering this point cloud to a surface via a Delaunay filter or anything? Or are you keeping it a Points Representation?
I can’t say much more without seeing screenshots/your code.
Another point - you have RGB values for this mesh - perhaps turn off the scalar mapping and just use the RGB values for coloring your mesh. This is streamlined in PyVista as: