Light.layerShadowCullDistances не отбрасывает мои тени; - PullRequest
0 голосов
/ 15 марта 2019

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 заклинатель теней;

...