i think by returning 0 in the material callbacks collisions get ignored.