This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

Настройка проекта

Давайте создадим новый проект для нашей игры и настроим уровень (world) с видом с камеры.

Шаг 1. Загрузка ассетов и создание проекта#

  1. Создайте новый пустой проект C++. Откройте SDK Browser, перейдите на вкладку My Projects и нажмите кнопку Create New.
  2. Обязательно выберите C++ (Visual Studio 2015+) в списке API + IDE раздела Application и нажмите Create New Project.

  3. После создания новый проект добавится на вкладку My Projects. Нажмите Open Editor под созданным проектом, чтобы открыть его в UnigineEditor.

  4. Скачайте дополнение Docs Sample Content с сайта Add-On Store (https://store.unigine.com/) и добавьте его в проект: перетащите в папку data/ в браузере ассетов, в открывшемся окне Import Package нажмите кнопку Import Package и дождитесь окончания импорта содержимого.

Смотрите также

Для получения более подробной информации обратитесь к следующим разделам:

  • Статья Разработка проекта для получения ключевой информации об этапах рабочего процесса для разработки проекта с помощью UNIGINE.
  • Статья Обзор программирования, в которой рассказывается о последовательности выполнения и способах создания проектов в Unigine.
  • Статья Создание приложения на C++, в которой рассказывается о создании проекта на C++ в Unigine.

Шаг 2. Настройка сцены#

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

Игровая зона в игре будет выложена множеством одинаковых напольных плиток. Визуальное представление напольной плитки определяется плоскостью Static Mesh с присвоенным серым материалом.

Лучшая практика
Каждый из этих объектов представлен NodeReference, все они ссылаются на один файл *.node на диске. Позже, если вы решите внести какие-либо изменения (например, изменить материал), вы можете изменить любой экземпляр (другие будут обновлены автоматически). В случае использования множества самостоятельных копий вам придется изменять каждую из них вручную.

Итак, мы создаем напольные плитки как Node References, все они ссылаются на один файл *.node на диске.

Перед настройкой сцены давайте удалим ноды, создаваемые в мире по умолчанию. Удалите ноды material ball и main player.

Теперь мы создадим шаблон для напольной плитки и сохраним его как Node Reference:

  1. В поле Asset Browser выберите папку core и выполните поиск plane.mesh с помощью поля Search. Затем перетащите его в окно просмотра редактора, чтобы создать новую ноду в мире.

  2. Выберите вновь созданную ноду в окне World Nodes и переименуйте ( горячая клавиша F2) ее в floor.
  3. Выберите папку data и найдите материал floor_mat.mat в папке Asset Browser. Затем перетащите его на ноду floor в окне просмотра редактора, чтобы назначить материал.
  4. В окне просмотра редактора используйте манипулятор, чтобы отрегулировать положение ноды ground по умолчанию, переместив его немного ниже ноды floor, чтобы избежать артефактов z-конфликта.

  5. В разделе Surfaces окна Parameters установите флажок Collision для поверхности plane, чтобы включить обнаружение столкновений.

  6. Преобразуйте ноду floor в Node Reference и сохраните ее как ассет на диске: щелкните правой кнопкой мыши по ноде floor в окне World Nodes и выберите Create a Node Reference.

Смотрите также

Для получения более подробной информации обратитесь к следующим разделам:

Шаг 3. Создание Node Reference для сборки игровой зоны#

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

  1. Давайте создадим больше экземпляров плиток floor, продублировав Node Reference с помощью горячих клавиш Ctrl + D.

    Примечание
    Вы можете активировать привязку по привязанному блоку с помощью горячих клавиш Shift + Z. Нажмите на стрелку рядом со значком Snap by Grid на Панели инструментов и выберите опцию By Bound Box. Выберите Node Reference floor и клонируйте его, удерживая клавишу Shift и перемещая манипулятор перемещения в нужном направлении.

    Примечание
    Кроме того, вы можете удерживать клавишу Ctrl, чтобы активировать привязку по сетке.
  2. Вы также можете выбрать несколько нод в окне Viewport или World Nodes, удерживая клавишу Shift, а затем клонировать их все одновременно в группе.

  3. Создайте стену, выбрав Create->Primitive->Box, а затем укажите размер во всех измерениях. Убедитесь, что он напоминает стену, и поместите его на границе игровой зоны.

  4. Чтобы сделать стену коллайдером, выберите ее в окне World Nodes. Затем перейдите в окно Parameters и найдите раздел Surfaces на вкладке Node. Выберите поверхность меша box и установите флажок Collision.
  5. Продублируйте примитив с помощью горячих клавиш Ctrl + D и настройте противоположную стену. Таким же образом создайте остальные стены вдоль границ игровой зоны.

По умолчанию для каждого мира создается источник света World Light (sun). Итак, сцена освещена, а стены отбрасывают тени на землю. Вы можете настроить вращение и другие параметры источника света в окне Parameters.

Альтернативный способ создания источников света через API рассматривается здесь.

Шаг 4. Создание камеры игрока#

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

  1. Добавьте новую камеру через Create->Camera->Dummy и поместите ее в мир.
  2. Настройте положение (горячая клавиша W) и поворот (горячая клавиша E) ноды PlayerDummy с помощью манипулятора в Viewport.

  3. Установите флажок Main Player в окне Parameters ноды, чтобы сделать ее камерой по умолчанию.

Альтернативный способ создания камеры через API рассматривается здесь.

Шаг 5. Сохранение изменений и запуск игры#

Теперь вы можете запустить игру через SDK Browser.

  1. Чтобы сохранить изменения в мире, выберите File->Save World или нажмите горячую клавишу Ctrl+S.
  2. Нажмите кнопку Run в SDK Browser, чтобы запустить игру со сценой, которую мы только что настроили.

Последнее обновление: 25.05.2023
Build: ()