Документация/Уроки/Создание простой карты

From NeoAxis Engine Wiki

Jump to: navigation, search
Перейти на уровень выше
Пример создания простой карты.

Contents

Введение

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

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

Для создания и редактирования карт в движке используется NeoAxis Map Editor. Редактор карт предназначен для создания и редактирования игровых карт, для расстановки и настройки объектов. При помощи редактора карт, используя встроенные в него средства, можно создавать уровни практически любой сложности.

Создание новой карты

Создание карты начнем с того, что запустим редактор карт (MapEditor.exe) из папки Game\Bin в директории с движком.

Теперь создадим новый файл карты. Для этого в меню File выберем пункт New.

CreatingSimpleMap01.jpg

В появившемся окне, укажем путь к директории, где будет располагаться новая карта. Путь указывается относительно папки Data. Пусть наша новая карта будет располагаться в директории Maps\SimpleMap.

CreatingSimpleMap02.jpg

Карта создана. Теперь нам предстоит наполнить ее объектами.

CreatingSimpleMap03.jpg
Для перемещения по карте используйте клавиши W,A,S,D (перемещение в плоскости) и Q, E (перемещение по вертикали).
Также, удерживая правую кнопку мыши, можно вращать камеру. Читайте полное описание редактора карт.

Добавление ландшафта

Для начала, добавим на карту ландшафт.

Движок имеет встроенную поддержу ландшафта, основанного на картах высот: HeightmapTerrain.

Для создания новых объектов нужно использовать окно Entity Types. В нем показан список всех типов объктов, которые можно разместить на карте. О том, что такое тип объекта можно узнать на странице введения в систему игровых объектов.

В окне Entity Types выберем тип Types -> Base -> HeightmapTerrain и щелкнем по рабочей области окна.

CreatingSimpleMap04.jpg

Созданный ландшафт представляет собой плоскую поверхность с текстурой травы.

CreatingSimpleMap05.jpg

Встроенный редактор позволяет изменять геометрию ландшафта и раскрашивать его. Для редактирования ландшафта выделим только что созданный HeightmapTerrain в окне Map Entities.

CreatingSimpleMap06.jpg

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

CreatingSimpleMap07.jpg

После нажатия кнопки Edit мы увидим окно Heightmap Terrain, которое позволяет редактировать геометрию и изменять тайлинг ландшафта ("раскрашивать" поверхность текстурой травы, земли, песка и т.п.) Полное описание работы редактора ландшафта находится в описании HeightmapTerrain.type.

CreatingSimpleMap08.jpg

Получившийся результат редактирования:

CreatingSimpleMap09.jpg

Добавление неба

Небо используется в большинстве карт. В движке имеется несколько способов создания неба, которые описаны в уроке создания неба. Простейшими из видов неба является SkyBox и SkyDome. SkyBox представляет собой куб, на внутренние грани которого наносится 6 текстур, а SkyDome - это полусфера с текстурой на внутренней поверхности.

Попробуем добавить на нашу карту SkyBox. Для этого в окне Entity Types выберем Types -> Base -> SkyBox и щелкнем по рабочей области.

CreatingSimpleMap10.jpg
CreatingSimpleMap11.jpg

О том, как настраивать SkyBox, а также узнать о других типах неба, можно прочитать в уроке по созданию неба.

Добавление источника света

Источники света в движке выполняет ровно те же функции, что источники света в реальной жизни - они освещают объекты. Тип, соответствующий источнику света, называется Light.type. Помимо обычного источника света, в движке есть тип Sun.type, реализующий солнце. Он отличается от обычного источника рядом параметров, а также тем, что дополнительно отображается в игре как биллборд (плоская картинка, обращенная к камере, изображающая солнце). Если в игре необходимо создать именно солнце, а не просто источник света (например, лампочку), то логичнее использовать тип Sun.type.

Добавим на карту солнце. Для этого кликнем по типу Sun в списке Types -> Base.

CreatingSimpleMap12.jpg

Разместим солнце в любом месте карты и нажмем левую клавишу мыши. После создания одного объекта, можно создать еще один такого же типа, просто нажав кнопку мыши повторно. Нажатие кнопки Escape или Space, остановит режим создания объектов.

CreatingSimpleMap13.jpg

Поднимем наше солнце выше над картой. Для этого выделим его в окне Map Entities.

CreatingSimpleMap14.jpg

Перейдем в режим перемещения объекта, нажав на кнопку Move на главной панели. В режим перемещения объекта также можно перейти с помощью главного меню (Edit -> Move) или просто нажав клавишу T.

CreatingSimpleMap15.jpg

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

CreatingSimpleMap16.jpg

Помимо прочего можно изменить направление, в котором светит солнце. Для этого перейдем в режим поворота объекта, нажав на кнопку Rotate в главной панели. В режим поворота объекта также можно перейти с помощью главного меню (Edit -> Rotate) или просто нажав клавишу Y.

CreatingSimpleMap17.jpg

Чтобы повернуть объект, нужно зажать левую кнопку мыши на сфере поворота и потянуть за нее. Положение биллборда солнца зависит от направления источника, но не от позиции.

CreatingSimpleMap18.jpg

Подробнее c источниками света вы можете ознакомиться в статьях о типе Light.type и Sun.type.

Добавление объектов

Итак, наша карта уже содержит ландшафт, небо и солнце. Пора разместить на ней несколько объектов поменьше.

Если вы хотите разместить на карте трехмерную модель, то важно знать о том, что сделать это можно двумя способами. Первый способ - это размещение статичной трехмерной модели с помощью типа StaticMesh.type. Второй способ подразумевает создание типа объекта в редакторе ресурсов, и последующее его размещение на карте. Такой способ нужен для создания комплексных и интерактивных объектов. Читайте больше о различиях в способах создания объектов.

Начнем с добавления обычного камня с помощью типа StaticMesh.type. В списке Types -> Base выберем тип StaticMesh.

CreatingSimpleMap19.jpg

В появившемся окне выберем меш (трехмерную модель) камня - RockBig.mesh, который находится в папке Models -> RockBig.

CreatingSimpleMap20.jpg

Разместим камень на карте и нажмем левую кнопку мыши. Чтобы создать еще один камень, достаточно нажать левую кнопку мыши еще раз. Чтобы прекратить создание камней, нужно нажать клавишу Escape или Space.

CreatingSimpleMap21.jpg

Камень создан. Теперь попробуем добавить на карту ящик, который представляет собой подготовленный ранее тип объекта. Для этого выберем в списке Types -> Dynamic тип Box.

CreatingSimpleMap22.jpg

Привычным образом разместим ящик на карте.

CreatingSimpleMap23.jpg

Подробно про редактирование созданных объектов можно прочитать в обзоре редактора карт.

Добавление стартовой точки

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

Чтобы создать стартовую точку, выберем тип SpawnPoint в списке Types -> Special.

CreatingSimpleMap24.jpg

Затем разместим стартовую точку на карте.

CreatingSimpleMap25.jpg

Готово.

Подробнее о стартовой точке можно узнать в описании SpawnPoint.type.

Запуск карты

Самый быстрый способ протестировать только что созданную карту - это запустить ее прямо из редактора. Для этого нажмем кнопку Run Simulation в главной панели.

CreatingSimpleMap26.jpg

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

CreatingSimpleMap27.jpg

Более полную информацию о редакторе карт можно получить в обзоре редактора карт.