This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Professional (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Materials and Shaders
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
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
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Сэмплы материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

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

Let's create a new project for our game and set up a level world with a camera view.Давайте создадим новый проект для нашей игры и настроим уровень (world) с видом с камеры.

Step 1. Download Assets and Create the ProjectШаг 1. Загрузка ассетов и создание проекта#

  1. Create a new empty C++ project. Open the SDK Browser, go to My Projects tab and click the Create New button. Создайте новый пустой проект C++. Откройте SDK Browser, перейдите на вкладку My Projects и нажмите кнопку Create New.
  2. Make sure to select C++ (Visual Studio 2015+) in the API + IDE list of the Application section and click Create New Project.Обязательно выберите C++ (Visual Studio 2015+) в списке API + IDE раздела Application и нажмите Create New Project.

  3. After the new project is created it will be added to the My Projects tab. Click Open Editor under the created project to open it in the UnigineEditor.После создания новый проект добавится на вкладку My Projects. Нажмите Open Editor под созданным проектом, чтобы открыть его в UnigineEditor.

  4. Install the Docs Sample Content add-on via the Add-Ons tab of the SDK Browser to get the resources for the game. In the Installed section click Open Folder under the Docs Sample Content add-on and copy the data/programming_quick_start folder to the data folder of your project via the File Explorer.Установите дополнение Docs Sample Content через вкладку Add-Ons в SDK Browser, чтобы получить ассеты для игры. В разделе Installed нажмите Open Folder под дополнением Docs Sample Content и скопируйте папку data/programming_quick_start в папку data вашего проекта через Проводник.

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

For more details refer to the following topics:Для получения более подробной информации обратитесь к следующим разделам:

  • Project Workflow article to learn key information on the workflow stages for developing a project with UNIGINE.Статья Разработка проекта для получения ключевой информации об этапах рабочего процесса для разработки проекта с помощью UNIGINE.
  • Programming Overview article to learn about the execution sequence and the ways of creating projects in Unigine.Статья Обзор программирования, в которой рассказывается о последовательности выполнения и способах создания проектов в Unigine.
  • Creating C++ Application article to learn about creating a C++ project in Unigine.Статья Создание приложения на C++, в которой рассказывается о создании проекта на C++ в Unigine.

Step 2. Set Up the SceneШаг 2. Настройка сцены#

All objects added to the scene are called nodes. Each node has a position, a rotation, and a scale and some basic functionality, which can be extended with components. There are a variety of built-in nodes in UNIGINE.Все объекты, добавленные в сцену, называются нодами. Каждая нода имеет положение, поворот, масштаб и некоторую базовую функциональность, которая может быть расширена с помощью компонентов. В UNIGINE существует множество встроенных типов объектов.

The Play Area in the game will be laid out with a lot of identical floor tiles. Visual representation of the floor tile is defined by a plane Static Mesh with a gray material assigned.Игровая зона в игре будет выложена множеством одинаковых напольных плиток. Визуальное представление напольной плитки определяется плоскостью Static Mesh с присвоенным серым материалом.

Лучшая практика
Each of these objects is represented by a NodeReference, they all refer to a single *.node file on a disk. Later, if you decide to make any changes (e.g., change material), you can modify any instance (others will be updated automatically). In case of using multiple separate copies, you'll have to change each of them manually.Каждый из этих объектов представлен NodeReference, все они ссылаются на один файл *.node на диске. Позже, если вы решите внести какие-либо изменения (например, изменить материал), вы можете изменить любой экземпляр (другие будут обновлены автоматически). В случае использования множества самостоятельных копий вам придется изменять каждую из них вручную.

So, we make floor tiles as Node References all referring to the single *.node file on a disk.Итак, мы создаем напольные плитки как Node References, все они ссылаются на один файл *.node на диске.

Before setting up the scene, let's remove the default nodes from the world. Delete the material ball and main player nodes in the default world.Перед настройкой сцены давайте удалим ноды, создаваемые в мире по умолчанию. Удалите ноды material ball и main player.

Now, we will create a template for the floor tile and save it as a Node Reference:Теперь мы создадим шаблон для напольной плитки и сохраним его как Node Reference:

  1. In the Asset Browser, choose the core folder and search for plane.mesh via the Search field. Then drag it to the Editor Viewport to create a new node in the world.В поле Asset Browser выберите папку core и выполните поиск plane.mesh с помощью поля Search. Затем перетащите его в окно просмотра редактора, чтобы создать новую ноду в мире.

  2. Select the newly created node in the World Nodes window and rename (F2 hotkey) it floor.Выберите вновь созданную ноду в окне World Nodes и переименуйте ( горячая клавиша F2) ее в floor.
  3. Choose the data folder and search for the floor_mat.mat material in the Asset Browser. Then drag it over the floor node in the Editor Viewport to assign the material.Выберите папку data и найдите материал floor_mat.mat в папке Asset Browser. Затем перетащите его на ноду floor в окне просмотра редактора, чтобы назначить материал.
  4. In the Editor Viewport use the manipulator to adjust the position of the default ground node, moving it slightly below the floor node to avoid z-fighting artifacts.В окне просмотра редактора используйте манипулятор, чтобы отрегулировать положение ноды ground по умолчанию, переместив его немного ниже ноды floor, чтобы избежать артефактов z-конфликта.

  5. In the Surfaces section of Parameters window check the Collision option for the plane surface to enable collision detection.В разделе Surfaces окна Parameters установите флажок Collision для поверхности plane, чтобы включить обнаружение столкновений.

  6. Convert the floor node to Node Reference and save it as an asset on a disk: right-click on the floor node in the World Nodes window and select Create a Node Reference. Преобразуйте ноду floor в Node Reference и сохраните ее как ассет на диске: щелкните правой кнопкой мыши по ноде floor в окне World Nodes и выберите Create a Node Reference.

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

For more details refer to the following topics:Для получения более подробной информации обратитесь к следующим разделам:

Step 3. Instantiate Nodes to Finalize the Play AreaШаг 3. Создание Node Reference для сборки игровой зоны#

Let's create a grid of floor tiles for the Play Area by instancing Node References. For walls we will use box primitives with the default base material and surface collision enabled to stop the character from going through them.Давайте создадим сетку плиток пола для игровой зоны, создав объект Node Reference. Для стен мы будем использовать примитивы коробки с включенными по умолчанию базовым материалом и обнаружением коллизий с поверхностями, чтобы персонаж не проходил через них.

  1. Let's instantiate more of the floor tiles by duplicating the Node Reference via Ctrl + D hotkeys.Давайте создадим больше экземпляров плиток floor, продублировав Node Reference с помощью горячих клавиш Ctrl + D.

    Примечание
    You can activate snapping by bound box via Shift + Z hotkeys. Click on the arrow next to the Snap by Grid icon on the Toolbar and choose the By Bound Box option. Select the floor node reference and clone it by holding the Shift key and moving the translate manipulator in the required direction.Вы можете активировать привязку по привязанному блоку с помощью горячих клавиш Shift + Z. Нажмите на стрелку рядом со значком Snap by Grid на Панели инструментов и выберите опцию By Bound Box. Выберите Node Reference floor и клонируйте его, удерживая клавишу Shift и перемещая манипулятор перемещения в нужном направлении.

    Примечание
    Alternatively, you can hold the Ctrl key to snap a node to the grid.Кроме того, вы можете удерживать клавишу Ctrl, чтобы активировать привязку по сетке.
  2. You can also select multiple nodes in the Viewport or World Nodes window while holding the Shift key and then clone them all at the same time in a group.Вы также можете выбрать несколько нод в окне Viewport или World Nodes, удерживая клавишу Shift, а затем клонировать их все одновременно в группе.

  3. Create a wall by choosing Create->Primitive->Box and then specify the size in all dimensions. Make sure it resembles a wall and place it on the border of the Play Area.Создайте стену, выбрав Create->Primitive->Box, а затем укажите размер во всех измерениях. Убедитесь, что он напоминает стену, и поместите его на границе игровой зоны.

  4. To make the wall a collider, select it in the World Nodes window. Then, go to the Parameters window and find the Surfaces section in the Node tab. Select the box surface of the mesh and check the Collision option.Чтобы сделать стену коллайдером, выберите ее в окне World Nodes. Затем перейдите в окно Parameters и найдите раздел Surfaces на вкладке Node. Выберите поверхность меша box и установите флажок Collision.
  5. Duplicate the primitive with Ctrl + D hotkeys and set up the opposite wall. Create the rest of the walls along the borders of the Play Area the same way.Продублируйте примитив с помощью горячих клавиш Ctrl + D и настройте противоположную стену. Таким же образом создайте остальные стены вдоль границ игровой зоны.

A World Light source (sun) is created for each world by default. So, the scene is lit and walls cast shadows on the ground. You can adjust rotation and other parameters of the light source via the Parameters window.По умолчанию для каждого мира создается источник света World Light (sun). Итак, сцена освещена, а стены отбрасывают тени на землю. Вы можете настроить вращение и другие параметры источника света в окне Parameters.

Alternative way of creating Light Sources via the API is considered here.Альтернативный способ создания источников света через API рассматривается здесь.

Step 4. Create a Player CameraШаг 4. Создание камеры игрока#

In order to see the world through the application window, you need to create a Camera and position it above the Play Area.Чтобы увидеть мир через окно приложения, вам нужно создать Камеру и расположить ее над игровой зоной.

  1. Add a new Camera via Create->Camera->Dummy, and place it in the world.Добавьте новую камеру через Create->Camera->Dummy и поместите ее в мир.
  2. Adjust position (W hotkey) and rotation (E hotkey) of the PlayerDummy node via the manipulator in the Viewport.Отрегулируйте положение (горячая клавиша W) и поворот (горячая клавиша E) ноды PlayerDummy с помощью манипулятора в Viewport.

  3. Check the Main Player option in the node's Parameters window to make it the default camera.Установите флажок Main Player в окне Parameters ноды, чтобы сделать ее камерой по умолчанию.

Alternative way of creating a camera via the API is considered here.Альтернативный способ создания камеры через API рассматривается здесь.

Step 5. Save Changes and Run the GameШаг 5. Сохранение изменений и запуск игры#

Now, you can run the game via the SDK Browser.Теперь вы можете запустить игру через SDK Browser.

  1. To save changes to the world, go to File->Save World or press Ctrl+S hotkey.Чтобы сохранить изменения в мире, выберите File->Save World или нажмите горячую клавишу Ctrl+S.
  2. Click the Run button in the SDK Browser to run the game with the scene we've just set up.Нажмите кнопку Run в SDK Browser, чтобы запустить игру со сценой, которую мы только что настроили.

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