Перейти к содержимому

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

  • автор:

3D-манипуляция с объектами — подготовка сцены

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

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

Выполнение этого руководства займет около 30 минут.

Скачивание окончательного результата

Окончательный проект Unity, полученный в этом руководстве, можно найти в нашем репозитории примеров с открытым кодом на сайте GitHub. После клонирования репозитория выполните следующие действия, чтобы запустить приложение:

  1. Запустите Unity на вкладке «Проекты » нажмите кнопку «Открыть«.
  2. Перейдите к каталогу Unity\Tutorials\3D Object Manipulation — Scene Preparation directory в клонированном репозитории.
  3. Нажмите кнопку воспроизведения (или CTRL+P), чтобы запустить сцену.

Предварительные требования

В этом руководстве предполагается, что у вас есть базовое знакомство с языком программирования C# и опытом работы с средой Unity. Предполагается, что вы знаете, как создавать проекты Unity, сцены, игровые объекты и сценарии.

Перед началом работы с этим руководством рекомендуется выполнить руководство по вводным сведениям.

Шаг 1. Создание объекта игры курсора

  1. Если вы завершили вводное руководство, откройте проект, созданный в этом руководстве, и нажмите клавиши CTRL+N , чтобы создать новую сцену. В противном случае создайте проект Unity и импортируйте набор средств Project Pra для Unity (см. шаг 1 в вводном руководстве по инструкциям).
  2. Нажмите клавиши CTRL+S, чтобы сохранить сцену, назвав ее трехмерными объектами.
  3. Создайте пустой игровой объект и назовите его Cursor. Создайте соответствующий скрипт C# с тем же именем. Чтобы связать игровой объект со сценарием, перейдите в представление инспектора игрового объекта и перетащите скрипт в пустую область под кнопкой «Добавить компонент » (см. шаг 3 в вводном руководстве , чтобы прочитать о связывании скрипта с игровым объектом).
  4. Откройте скрипт Cursor в Visual Studio (дважды щелкните значок скрипта в окне проекта ) и замените его содержимое следующим кодом:

Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

Чтобы нарисовать курсор в правильном положении при каждом обновлении экрана, замените содержимое метода OnGUI() в Cursor.cs следующим:

Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

  • В качестве изображения курсора мы будем использовать PragueCursor.png текстуру, предоставляемую набором средств Project Pra для Unity. Выберите игровой объект Cursor в окне «Иерархия «, найдите PragueCursor.png в разделе MicrosoftGesturesToolkit/Textures в окне project и перетащите его в поле «Изображение курсора » в окне инспектора : Установка изображения курсора
  • Играть сцену сейчас. Каждый раз, когда указатель мыши находится в границах сцены, вы увидите красный курсор после него: Курсор после мыши
  • Шаг 2. Выделение объекта под курсором

    Мы хотели бы использовать курсор для перемещения объектов в сцене. Чтобы распознать объект, который находится в данный момент под курсором, мы выделим контур этого объекта.

    Заполнение сцены примитивами

      Начните с заполнения сцены несколькими примитивными объектами. Для удобства рекомендуется достичь точки зрения главной камеры перед добавлением новых примитивов в сцену: выберите главную камеру в окне иерархии , перейдите в меню GameObject и выберите «Выровнять представление по выбранному«. Чтобы создать экземпляр новых примитивов, снова перейдите в меню GameObject , выберите трехмерный объект и выберите один из примитивов в подменю (Cube, Sphere и т. д.). Повторите этот процесс несколько раз, переместив каждый новый примитив в другое место в сцене:

    Совет Чтобы переместить объект, щелкните его, нажмите клавишу W, а затем перетащите его с помощью gizmo Move.

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    Также добавьте следующие открытые члены. Мы скоро будем использовать их для реализации функции выделения.

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    Чтобы определить, какой объект находится под курсором, замените содержимое метода GetHoveredObject() следующей реализацией:

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    Чтобы выделить наведенный объект, замените содержимое Update() следующим:

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    Сохраните все изменения в скрипте Cursor.cs .

  • Выберите игровой объект Cursor в окне Иерархии . Найдите материал OuterGlow.mat в разделе MicrosoftGesturesToolkit/Materials в окне проекта . Перетащите OuterGlow.mat в поле «Выделение материала » в окне инспектора : Добавление материала выделения
  • Воспроизведение сцены и перемещение курсора по экрану. Каждый раз, когда объект находится под курсором, его контур будет светиться с голубой аурой: Воспроизведение сцены с эффектом свечения
  • Шаг 3. Перемещение выделенного объекта

    На этом шаге мы разместим курсор на захват объекта и переместим его в пространстве.

      В скрипте Cursor.cs подготовьте следующие закрытые члены:

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    И следующий открытый член:

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    • Введите (оставьте) режим захвата при нажатии левой кнопки мыши (отпускается) при наведении указателя мыши на объект.
    • Когда в режиме захвата объект, наведенный на указатель, должен следовать курсору.

    Для этого измените метод Update() следующим образом:

    Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    Воспроизведение сцены с режимом захвата

  • Запустите сцену, наведите указатель мыши на объект и переместите его, нажав левую кнопку мыши и перетащив его. Обратите внимание, что цвет курсора изменяется при входе в режим захвата:
  • Мы будем использовать колесико прокрутки для управления движением захватываемого объекта в измерении глубины. Замените содержимое GetCursorDistanceScalingFactor() следующим:

    Предупреждение Скорее всего, пример, который вы ищете, был перемещен. Мы работаем над решением этой проблемы.

    Нужно сделать СЦЕНУ для ЗАГРУЗКИ СЦЕН в unity

    Короче говоря, нужно сделать так : есть сцена Menu, на ней ест кнопка, которая запускает функцию, которая в свою очередь грузит «легкую» сцену LoadingScreen с индикатором (Текстовый объект), который будет отображать прогресс загрузки более сложной сцены (Game). Вопрос в том как передать название сцены со сцены Menu на LoadingScreen, которая начнет грузить эту самую сцену.

    Отслеживать

    задан 23 мар 2020 в 11:52

    21 6 6 бронзовых знаков

    сохраняйте его через PlayerPrefs

    25 мар 2020 в 16:56

    А вообще есть вариант попроще. Не обязательно грузить новую сцену для загрузки большой сцены. Просто делайте панель загрузки поверх всех окон

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

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

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

    Видеоурок

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

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

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

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

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

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

    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.

  • Добавить комментарий

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