Я пытаюсь написать небольшой мод для программы Kerbal Space Program, в которой используется Unity. У меня есть класс, который является ребенком MonoBehaviour
, который загружается правильно и все. Часть этого мода включает создание нового источника света в текущей сцене. Мой вопрос заключается в следующем: возможно ли создать новый источник света Unity в текущей сцене, используя сценарий, а не редактор сцены единственного движка (который, я, очевидно, тоже не имею доступа в качестве моддера).Могу ли я создать источник света через скрипт в Unity?
Пример рода вещи я ищу (я знаю, что это не будет выглядеть на самом деле ничего подобного, но просто чтобы дать вам представление о том, что мне нужно)
UnityEngine.getCurrentScene().createObject(new Light(pos, direction, color, strength));
Хорошо, это также добавит/загрузит GameObject, который вы создали в активную сцену? Или мне нужен дополнительный код для этого? Извините, я мало что знаю о Unity, и я не вижу там никакой функции, которая явно добавляет lightGameObject в сцену, поэтому, если она делает это в фоновом режиме через конструктор или что-то, чего я не знаю. –
Вам нужно будет использовать диспетчер сцен, а затем получить активную сцену, затем запустить этот код и добавить в активную сцену. https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.html –
В основном получение активной сцены и добавление света - это две отдельные части, добавьте код выше, как только у вас будет активная сцена, и она будет работать. –