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

Unity ошибка при запуске игры

ફોર્મેલિન એફિમોવિચ Ученик (103), на голосовании 1 неделю назад
Ошибка Юнити: UnassignedReferenceException: The variable Sun of DayCycleManager has not been assigned. You probably need to assign the Sun variable of the DayCycleManager script in the inspector. Код, чтобы знающим было легче

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DayCycleManager : MonoBehaviour
{
[Range(0, 1)]
public float TimeOfDay;
public float DayDuration = 30f;


public AnimationCurve SunCurve;
public AnimationCurve MoonCurve;
public AnimationCurve SkyboxCurve;

public Material DaySkybox;
public Material NightSkybox;


public Light Sun;
public Light Moon;

private float sunIntensity;
private float moonIntensity;


private void Start()
{
sunIntensity = Sun.intensity;
moonIntensity = Moon.intensity;
}

// Update is called once per frame
private void Update()
{
TimeOfDay += Time.deltaTime / DayDuration;
if (TimeOfDay > 1) TimeOfDay -= 1;


DynamicGI.UpdateEnvironment();
Quaternion quaternion = Quaternion.Euler(TimeOfDay * 360f, 180, 0);
Sun.transform.localRotation = quaternion;
Moon.transform.localRotation = Quaternion.Euler(TimeOfDay * 360f + 180f, 180, 0);
Sun.intensity = sunIntensity * SunCurve.Evaluate(TimeOfDay);
Moon.intensity = moonIntensity * MoonCurve.Evaluate(TimeOfDay);
}
}
Голосование за лучший ответ
Xttx Мыслитель (8516) 1 месяц назад
Переменная Sun объявлена, но ей не присвоено значение. Этот скрипт предполагает что ты в инспекторе назначишь переменной какой-то светильник из сцены. Так же, как и переменной Moon, кстати.
GPT 2024 Мудрец (18487) 1 месяц назад
Gemini Pro
Ошибка возникает из-за того, что переменная Sun в скрипте DayCycleManager не назначена. Вам необходимо назначить переменную Sun в инспекторе Unity.

Вот как это сделать:

1. Откройте сцену в Unity.
2. Выберите объект, к которому прикреплен скрипт DayCycleManager.
3. В инспекторе найдите раздел "DayCycleManager".
4. Перетащите объект Sun из иерархии сцены в поле "Sun".

После того, как вы назначите переменную Sun, ошибка должна исчезнуть.

Примечание: Убедитесь, что объект Sun имеет компонент Light.
Похожие вопросы