Как создать новую сцену в unity
Перейти к содержимому

Как создать новую сцену в unity

  • автор:

Как создать новую сцену в Unity

В данной статье мы подробно разберём два способа создание игровых сцен. С помощью окна Project, и с помощью окна Hierarchy. А какой способ более удобен для Вас, решать Вам.

Создание сцен с помощью окна Project

Самый простой и распространённый способ создание сцен через окно Project, которое по умолчанию находится в нижней части Unity.

Для создание сцены необходимо кликнуть ПКМ на любое пустое место окна Project, после чего в выпадающем меню выбрать CreateScene.

Поздравляем, новая сцена с именем New Scene создана! Чтобы начать работать с данной сценой, просто кликните на её 2 раза левой кнопкой мыши.

Создание сцен с помощью окна Hierarchy

Воспользуемся окном Hierarchy, которая отображена в левой части редактора юнити.

Для создания новой сцены, необходимо нажать ЛКМ на вашу сцену, и выбрать Add New Scene. После чего будет создана новая сцена с именем Untitled. Далее нужно ОБЯЗАТЕЛЬНО сохранить данную сцену. Если этого не сделать, то при закрытии проекта она будет удалена, со всеми её вложенными объектами. Жмём ЛКМ на вашу созданную сцену, и выбираем Save Scene. Сохраняем её в папку Scenes Вашего проекта.

Поздравляем, Ваша сцена создана и сохранена.

Если сравнивать эти способы создания сцен, то для большинства людей первый вариант более предпочтительнее по причине того, что при создании новой сцены, она автоматически сохраняется в проекте. Во втором же случае, нам дополнительно нужно сохранять созданную сцену.

Если есть вопросы, пишите в комментариях. Если вопросов нет, то ставьте лайки 🙂

Scenes

Сцены содержат объекты вашей игры. Они могут использоваться для создания главного меню, отдельных уровней и для других целей. Можно считать каждый файл сцены отдельным игровым уровнем. В каждой сцене можно разместить объекты окружения, заграждения, декорации, по кусочкам создавая дизайн и саму игру.

A new empty scene, with the default 3D objects - a camera and a directional light.

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.

Some scene assets, saved and visible in the project view

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.

#3 — Создание главной сцены

#3 - Создание главной сцены

В уроке мы с вами наконец приступим к созданию игровой механики. Мы сделаем главную сцену, а также поработаем с Canvas, UI и различными дополнительными объектами.

Видеоурок

Полезные ссылки:

  • Ссылка на игру в App Store .

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Загрузка сцен в Unity

Как сделать многоуровневую игру в Unity? Или игру, в которой игрок может перемещаться (телепортировать) между локациями?

Один из наиболее частых вариантов реализации заключается в создании для каждого уровня игры отдельной сцены. Итак, алгоритм создания такой игры следующий.

Шаг 1. Создать сцены для каждого уровня и пр. составляющих игры. Продумать понятную и гибкую систему идентификации файлов сцен

Например, сцены могут иметь следующие имена:

  • StartScene – стартовая сцена игры. Это может быть сцена, в которой игрок знакомится с правилами игры, может изменить некоторые начальные настройки, выбрать персонажа и т.д.
  • Layer1,Layer2,Layer3, … — сцены, соответствующие 1-му, 2-му, 3-му и т.д. уровням игры.
  • EndGame – конечная сцена, которая загружается в финале игры.

Шаг 2. Продумать геймплей так, чтобы было понятно, когда завершается текущий уровень и при каких условиях может быть загружена сцена для следующего уровня или завершения игры

Например, следующий уровень может загружаться при следующих возможных условиях:

а) игрок набрал определённое количество баллов. Это условие имеет смысл проверять каждый кадр в методе Update();

б) игрок добрался до определенного места в игре. Например, пришёл к заданной двери. Соответственно на объекте двери необходимо поставить коллайдер, и при входе в этот коллайдер должна будет выполняться загрузка сцены;

в) в интерфейсе игры имеются кнопки загрузки разных «уровней». Такая ситуация возможна в нескольких случаях:

Family Island - меню выбора островов для путешествий и приключений

Когда речь идёт не столько об уровнях игры, сколько о разных локациях, между которыми игрок имеет возможность перемещаться. Пример такой игры – Family Island – там игрок может путешествовать на различные острова.

Candy Crush Saga - карта игры с выбором уровней

Второй вариант геймплея с аналогичным функционалом – наличие в реализации отдельной сцены с картой игры. Кликая по определённым зонам-кнопкам этой игры, игрок загружает соответствующий уровень (при условии, что этот уровень для него открыт). Наиболее популярный пример такой игры – Candy Crush Saga и ей подобные.

г) другие варианты или комбинации перечисленных вариантов. Например, для варианта а) при достижении игроков определённых результатов новый уровень может загружаться не сразу, автоматически, а после нажатия игроком на появляющуюся кнопку наподобие «Следующий уровень». Аналогично – для варианта б) – входим в коллайдер двери и видим кнопку «Войти» и т.п.

Шаг 3. Написание функции (метода) загрузки соответствующей сцены.

Для загрузки сцен в движке Unity предусмотрен метод LoadScene (…) из класса SceneManager пространства имён UnityEngine.SceneManagement.

Это значит, что в классе (скрипте), в котором будет выполняться загрузка сцены с помощью указанного метода, должна быть прописана директива:

Далее, при вызове метода следует указывать и имя класса:

У данного метода есть несколько перегрузок (вариантов вызова с различными наборами параметров), подробнее о которых можно почитать в официальной документации Unity.

Наиболее простые способы вызова метода следующие.

Вариант 1 – с явным указанием имени загружаемой сцены в качестве параметра. Например:

Вариант 2 – с указанием индекса загружаемой сцены в качестве параметра. Например:

Индекс – это число-порядковый номер сцены, который автоматически присваивается в окне настроек Build Settings:

Окно настроек Build Settings Unity

Один из возможных вариантов скрипта следующий:

 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...

Меню File -></p>
<p> Build Settings. Unity» width=»280″ height=»300″ /></p>
<h4>Шаг 5. Не забыть прикрепить скрипт(ы) к соответствующим игровым объектам на сцене</h4>
<p>Как это сделать, знает любой новичок 😉</p>
<h3>Загрузка сцен в Unity: 2 комментария</h3>
<p>а) игрок набрал определённое количество баллов. Это условие имеет смысл проверять каждый кадр в методе Update(); Что? Зачем? Вообще смысла не имеет. В игре должен быть обработчик в коде который зачисляет очки и вот там, когда к нему приходит команда зачислить x очков, и надо проверять это x на нужное количество для прохождения. А так как тут написано делают первоклашки на геймджемах и для них (геймджемов) это нормально.</p>
<div class='yarpp yarpp-related yarpp-related-website yarpp-template-list'>
<!-- YARPP List -->
<div>Похожие публикации:</div><ol>
<li><a href=Planoplan чья программа

  • Баг что это
  • Как узнать название роутера
  • Кто такая мельникова
  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *