Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Unity, как уменьшить яркость света через код?

Максим Борисов Ученик (156), на голосовании 4 месяца назад
Пытаюсь уменьшить интенсивность, но intensity тупо горит красным(
Голосование за лучший ответ
бабуин гибонович Оракул (52735) 5 месяцев назад
В Unity, чтобы управлять яркостью света через код, нужно правильно изменить значение `intensity` компонента `Light`. Судя по тому, что переменная `intensity` подсвечивается красным, скорее всего, вы пытаетесь использовать несуществующую переменную или неправильно обращаетесь к компоненту `Light`.

Убедитесь, что у вас есть правильная ссылка на компонент `Light` в вашем скрипте. Вот пример того, как это можно сделать:

```csharp
 public Light sun;  // Убедитесь, что вы присвоили ссылку на источник света в инспекторе 

void Update()
{
if (sun != null)
{
sun.intensity = Mathf.PingPong(Time.time, 1); // Изменение яркости света во времени
}
}

```

В коде:

1. `Light sun` — это переменная, которая содержит ссылку на источник света.
2. `sun.intensity` — это свойство, которое отвечает за яркость света. Значение типа `float` управляет яркостью, где 0 означает отсутствие света, а более высокие значения увеличивают яркость.

Проверьте, правильно ли вы обращаетесь к компоненту `Light`. Если вы пытаетесь изменить яркость другого объекта, убедитесь, что тип переменной и метод доступа соответствуют требованиям Unity.

Если проблема сохраняется, уточните, какой именно компонент или объект вы пытаетесь изменить, и я постараюсь помочь дальше.
Максим БорисовУченик (156) 5 месяцев назад
Скрипт находится на пустом объекте, в нем же объект Directional Light под названием "Sun", над которым и совершаются действия.а вот что выбивает при наведении на intensity
Максим БорисовУченик (156) 5 месяцев назад
и можете еще помочь? как сравнить вращение объекта в if()? мне нужно отключить объект когда градус будет 180 и больше
Похожие вопросы