Light.layerShadowCullDistances не отбрасывает мои тени;
Как воспроизвести:
- Создать новую сцену;
- Удалить направленный свет;
- Создать куб;
- Поместить куб как дочерний элемент камеры;
- Установить егоTransform. localPosition в 0f, 0f, 30f;
- Создать PointLight;
- Установить его как Дочерний элемент камеры;
- Установить его преобразование. localPosition на 0f, 0f, 0f;
- Установить точечный свет на отбрасывать мягкие тени ;
- Задать свет диапазон до 3000;
- Уставка света интенсивность до 3000;
- Установить в настройках качества расстояние тени до 3000;
Прикрепить к свету следующий скрипт:
открытый класс CullShadows: MonoBehaviour {приватный bool EveryFrame;публичная дистанция плавания;
private void OnEnable() { if (everyFrame) return; SetShadowCullingDistances(); }
private void Update() { if (!everyFrame) return; SetShadowCullingDistances(); }
private void SetShadowCullingDistances()
{
var layers = new float[32];
for (int i = 0; i < 32; i++) { layers[i] = 1f; }
GetComponent<Light>().layerShadowCullDistances = layers;
}
}
Воспроизведение в прессе;Всегда будет как минимум 1 заклинатель теней;