Четвертый параметр Color представляет собой альфа-значение (прозрачность)
0
означает невидимое 1
полностью видимое
Авводимые вами значения должны быть значениями с плавающей запятой в диапазоне от 0 до 1.
float startDistance = 100f;
float blackAtDistance = 5f;
distance -= blackAtDistance;
percentage = distance / maxDistance;
percentage = Mathf.Clamp(percentage, 0, 1);
checkpoint.GetComponent<Renderer>().material.color = new Color(percentage, 0, 0, 1);
Я не проверял его, но он должен работать.