В этом уроке мы затронем библиотеку Scene Management, чтобы сделать переход между сценами по кнопке. Это одна из самых простых вещей, но она необходима для создания игры.
Давайте начнем. Для начала создадим в ассетах 2 новые сцены и назовем их «Scene1» и «Scene2».
Чтобы создать новую сцену, щелкните правой кнопкой мыши по панели ассетов и выберите Create > Scene.
В этих сценах нам нужно создать элементы, с помощью которых мы будем переходить между сценами. Сделать это можно различными способами, но для облегчения понимания будем использовать самый простой способ. Мы будем создавать объект SceneChanger, который будет обрабатывать весь код изменения сцены.
Обычно, когда сцена сменяется от одной к другой, все экземпляры игровых объектов, сценариев и т. д., принадлежащие этой сцене, уничтожаются, а загружаются экземпляры из новой. Другой метод заключается в использовании функции DontDestroyOnLoad (), которая будет поддерживать ссылку на объект при смене сцены, но об этом следует поговорить в другом уроке.
Видео:СМЕНА СЦЕН, ЛОКАЦИЙ В UNITY + ЭКРАН ЗАГРУЗКИ || Unity 2D Уроки C# Создание ИгрСкачать
Создание объекта и префаба SceneChanger
Итак, вернемся в Unity, на вкладке иерархии в «Scene1» создадим пустой объект и назовем его «SceneChanger».
Теперь добавим скрипт к объекту «SceneChanger» и назовем его «SceneChanger».
Откроем скрипт в Visual Studio и напишем следующий код:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class SceneChanger : MonoBehaviour { public void ChangeScene(string sceneName) { SceneManager.LoadScene (name); } public void Exit() { Application.Quit (); } }
Далее необходимо создать префаб , для этого просто выберите объект в иерархии и перетащите его в папку «Assets» на вкладке «Project» . После этого вы увидите синий куб с тем же именем объекта.
Теперь сохраните сцену и дважды щелкните «Scene2» . В этой сцене необходимо скопировать префаб SceneChanger. Для этого просто перенесем его во вкладку иерархии.
Видео:Как сделать кнопку перехода между сценами в UnityСкачать
Создание пользовательского интерфейса
В пользовательском интерфейсе у нас будет текстовый объект с указанием названия сцены и кнопка, которая будет изменять сцену.
Итак, щелкните правой кнопкой мыши на вкладке Hierarchy и выберите UI> Panel .
Снова щелкните правой кнопкой мыши на вкладке Hierarchy и выберите UI> Text .
Еще раз щелкните правой кнопкой мыши на вкладке Hierarchy и выберите UI> Button .
Ваш конечный результат должен выглядеть примерно так
Изменим текст на «THIS IS SCENE 1» и текст в кнопке на «CHANGE SCENE». Результат выглядит следующим образом:
Далее необходимо выбрать объект Button в Иерархии. На вкладке инспектора нажмем значок «плюс» в компоненте «Button».
Появится следующее:
Перетащим объект SceneChanger из иерархии в ссылку на объект (выделено красным цветом)
Теперь нужно выбрать функцию (выделено красным). В раскрывающемся списке выберите SceneChanger> ChangeScene (string).
Теперь вы увидите пустое место под раскрывающимся списком функций. Введите в нем «Scene2». Здесь мы выбрали объект SceneChanger и получили доступ к функции ChangeScene (). «Scene2» является входом. Теперь при каждом нажатии кнопки вызывается функция ChangeScene (), и сцена меняется на «Scene2» .
Cделайте то же самое для «Scene2», но введите «Scene1» в качестве входа и измените текст в Scene2 соответствующим образом.
Сейчас нужно добавить сцены в Build Settings в File menu . Это необходимо, так как без этого Unity не распознает cцены, и между ними не произойдет никакого перехода.
Нажмите на кнопку воспроизведения. Нажатие на кнопку в сцене приведет к переходу к другой сцене.
📺 Видео
ПЛАВНАЯ смена сцены В Unity | Переход локаций легко и простоСкачать
Scene Management в Unity | ПЕРЕХОД между СЦЕНАМИСкачать
Как сделать переходы между сценами в UnityСкачать
Как сделать МЕНЮ в Unity? | Scene Management, UI, TutorialСкачать
Загрузочный экран и смена сцен в Unity 3DСкачать
Уроки по Unity #09 Unity3D Перемещение между сценами!Скачать
Как сделать переход между сценами в unity 2dСкачать
Пауза, рестарт и управление сценами в UnityСкачать
Начальное меню для игры в UnityСкачать
Решаем проблему загрузки сцены в Unity. Теперь ты будешь делать правильноСкачать
КАК СДЕЛАТЬ МЕНЮ В UNITY / ЛЁГКИЙ И ПОНЯТНЫЙ ВИДЕОУРОК UI ЭЛЕМЕНТЫ И SCENE MANAGEMENTСкачать
Переход между уровнями в Unity 5 с помощью триггераСкачать
Unity Tutorial - Переход между СценамиСкачать
Как сделать переход в другую сцену по триггеру | Unity 3DСкачать
Как разработать игру "викторина-отгадайка" на Unity.(переход между сценами при нажатии кнопки).Скачать
Как сделать переходы между сценами и уровнями в UnityСкачать
Как сделать игру на Unity Ballance #6 [GameDev] Рестарт сцены, переход на следующую сценуСкачать
Unity3D - Создание меню. Переход между сценами и сохранение текстовой информации при переходе.Скачать
Поправьте ваш код в месте ввода имени сцены — SceneManager.LoadScene (name); на SceneManager.LoadScene (sceneName); , мне это помогло запустить код
Боже спасибо вам огромное
Час пытался разобраться почему не работает