Scenes
Сцены содержат объекты вашей игры. Они могут использоваться для создания главного меню, отдельных уровней и для других целей. Можно считать каждый файл сцены отдельным игровым уровнем. В каждой сцене можно разместить объекты окружения, заграждения, декорации, по кусочкам создавая дизайн и саму игру.
When you create a new Unity project, your scene view will show a new Scene. This is an untitled and unsaved scene. The scene will be empty except for defult objects — either an orthographic camera, or a perspective camera and a directional light, depending on whether you started the project in 2D or 3D mode.
To save the scene you’re currently working on, choose File > Save Scene from the menu, or pres Ctrl/Cmd + S.
Scenes are saved as assets, into your project’s Assets folder. Therefore they appear in the Project Window, just like any other asset.
To open a scene, in order to begin or continue working within that scene, double-click the scene asset in the Project Window.
If your current scene contains unsaved changes, you will be prompted to save or discard the changes.
Multi-Scene Editing.
It is possible to have multiple scenes open for editing at one time. For more information about this, see Multi-Scene Editing.
Как загрузить конкретную сцену в unity2D?
Например если нажать кнопку F1, вот мой код, но загружает следущие сцены, это не очень удобно. Пж не пишите что то типо ищи в гугле.
void Update()
if (Input.GetKey(KeyCode.F1))
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
>
>
- Вопрос задан более двух лет назад
- 573 просмотра
1 комментарий
Простой 1 комментарий
Нужно сделать СЦЕНУ для ЗАГРУЗКИ СЦЕН в unity
Короче говоря, нужно сделать так : есть сцена Menu, на ней ест кнопка, которая запускает функцию, которая в свою очередь грузит «легкую» сцену LoadingScreen с индикатором (Текстовый объект), который будет отображать прогресс загрузки более сложной сцены (Game). Вопрос в том как передать название сцены со сцены Menu на LoadingScreen, которая начнет грузить эту самую сцену.
Отслеживать
задан 23 мар 2020 в 11:52
21 6 6 бронзовых знаков
сохраняйте его через PlayerPrefs
25 мар 2020 в 16:56
А вообще есть вариант попроще. Не обязательно грузить новую сцену для загрузки большой сцены. Просто делайте панель загрузки поверх всех окон
Загрузка сцен в Unity
Как сделать многоуровневую игру в Unity? Или игру, в которой игрок может перемещаться (телепортировать) между локациями?
Один из наиболее частых вариантов реализации заключается в создании для каждого уровня игры отдельной сцены. Итак, алгоритм создания такой игры следующий.
Шаг 1. Создать сцены для каждого уровня и пр. составляющих игры. Продумать понятную и гибкую систему идентификации файлов сцен
Например, сцены могут иметь следующие имена:
- StartScene – стартовая сцена игры. Это может быть сцена, в которой игрок знакомится с правилами игры, может изменить некоторые начальные настройки, выбрать персонажа и т.д.
- Layer1,Layer2,Layer3, … — сцены, соответствующие 1-му, 2-му, 3-му и т.д. уровням игры.
- EndGame – конечная сцена, которая загружается в финале игры.
Шаг 2. Продумать геймплей так, чтобы было понятно, когда завершается текущий уровень и при каких условиях может быть загружена сцена для следующего уровня или завершения игры
Например, следующий уровень может загружаться при следующих возможных условиях:
а) игрок набрал определённое количество баллов. Это условие имеет смысл проверять каждый кадр в методе Update();
б) игрок добрался до определенного места в игре. Например, пришёл к заданной двери. Соответственно на объекте двери необходимо поставить коллайдер, и при входе в этот коллайдер должна будет выполняться загрузка сцены;
в) в интерфейсе игры имеются кнопки загрузки разных «уровней». Такая ситуация возможна в нескольких случаях:
Когда речь идёт не столько об уровнях игры, сколько о разных локациях, между которыми игрок имеет возможность перемещаться. Пример такой игры – Family Island – там игрок может путешествовать на различные острова.
Второй вариант геймплея с аналогичным функционалом – наличие в реализации отдельной сцены с картой игры. Кликая по определённым зонам-кнопкам этой игры, игрок загружает соответствующий уровень (при условии, что этот уровень для него открыт). Наиболее популярный пример такой игры – Candy Crush Saga и ей подобные.
г) другие варианты или комбинации перечисленных вариантов. Например, для варианта а) при достижении игроков определённых результатов новый уровень может загружаться не сразу, автоматически, а после нажатия игроком на появляющуюся кнопку наподобие «Следующий уровень». Аналогично – для варианта б) – входим в коллайдер двери и видим кнопку «Войти» и т.п.
Шаг 3. Написание функции (метода) загрузки соответствующей сцены.
Для загрузки сцен в движке Unity предусмотрен метод LoadScene (…) из класса SceneManager пространства имён UnityEngine.SceneManagement.
Это значит, что в классе (скрипте), в котором будет выполняться загрузка сцены с помощью указанного метода, должна быть прописана директива:
Далее, при вызове метода следует указывать и имя класса:
У данного метода есть несколько перегрузок (вариантов вызова с различными наборами параметров), подробнее о которых можно почитать в официальной документации Unity.
Наиболее простые способы вызова метода следующие.
Вариант 1 – с явным указанием имени загружаемой сцены в качестве параметра. Например:
Вариант 2 – с указанием индекса загружаемой сцены в качестве параметра. Например:
Индекс – это число-порядковый номер сцены, который автоматически присваивается в окне настроек Build Settings:
Один из возможных вариантов скрипта следующий:
using UnityEngine; using UnityEngine.SceneManagement; public class Teleport : MonoBehaviour < public int n_scene = 1; // индекс загружаемой сцены по умолчанию, который в редакторе можно изменить void OnTriggerEnter(Collider col) // вход в коллайдер-триггер объекта-двери или телепорта < if (col.tag.Equals("Player")) // если это объект с тегом "Player" < SceneManager.LoadScene(n_scene); // загружаем сцену с заданным индексом >> >
Этот скрипт должен быть на объектах-дверях или телепортах. На них же должен стоять коллайдер-триггер.
Шаг 4. Заполнить раздел Scenes In Build в окне настроек Build Settings, внеся туда все сцены, которые необходимо будет загружать
Пример этого окна представлен выше. Чтобы его вызвать, используется главное меню, пункты File -> Build Settings...
Проекты
Творческое программирование для всех! (игры и анимация на Scratch)
Бесплатные уроки для детей и взрослых
- Контакты
- Ольга Елисеева — Автор учебников, наставник, тренер, консультант
- О проекте АЭЛИТ
- Публичная оферта
- Политика конфиденциальности
- Пользовательское соглашение
- Публичная лицензия на электронные версии книг