Описание
GeneralMapObject служит для быстрого создания объектов в редакторе карт. Данный тип не содержит специальной функциональности и свойств. Подразумевается, что пользователь сам строит каждый объект из составных частей, прикрепляя к нему различные компоненты. В противопоставление созданию объектов на карте, существует возможность создания и настройки типов объектов с дальшим их размещением в редакторе карт.
В качестве прикрепляемых компонент могут выступать:
Billboard — плоский объект, постоянно повернутый к камере,
Helper — вспомогательный объект,
Light — источник света,
MapObject — объект карты,
Mesh — трехмерная модель,
Particle — система частиц,
Sound — звук.
Прикрепление компонент к объектам является базовой возможностью всех объектов. Таким образом, пользователь может дополнить любой тип. Отличительной особенностью GeneralMapObject является то, что по умолчанию к нему не прикреплены никакие компоненты и каждый объект данного типа настраивается с нуля.
При многократном использовании GeneralMapObject со сходным набором элементов предпочтительнее создать тип объекта. Подробнее об этом рассказывается в уроке по созданию простого типа объекта.
Создание
Рассмотрим создание объекта типа GeneralMapObject на примере горящей бочки. Бочка представляет собой статичный меш, огонь — это система частиц.
Разместим объект на карте. Найти данный тип можно в окне создания объектов (Object Creation) в папке Base\Types\Basic.
В начальном виде GeneralMapObject — это пустой объект, служащий контейнером для других объектов. Приступим к его наполнению.
Выберем только что созданный объект. В окне свойств нажмем на кнопку "..." напротив свойства Components.
В появившемся окне в выпадающем списке под кнопкой Add выберем тип добавляемого элемента — MapObjectComponent_Mesh.
Укажем путь к 3D модели в поле Mesh Name группы свойств Mesh. В нашем примере выберем трехмерную модель бочки из карты Village Demo, расположенную в папке Data\Maps\VillageDemo\FarmModels\Meshes.
Теперь добавим к нашему объекту пламя. В списке под кнопкой Add выберем пункт MapObjectComponent_Particle. Несколько вариантов систем частиц, симулирующих огонь, уже имеются в составе SDK. В группе свойств Particle в поле Particle System Name выберем систему частиц BigFireParticle из папки Data\Effects\FireParticle. Также поднимем огонь над бочкой, указав в группе свойств _General в параметре Position Offset значение "0 0 1".
Нажмем кнопку OK в окне Component Collection Editor. На этом создание горящей бочки завершено.
3D модель и система частиц — это далеко не единственные типы объектов, которые можно добавлять к GeneralMapObject. С такой же легкостью можно было прикрепить к горящей бочке звук от трескающихся в костре досок или источник света для симуляции освещения пространства вокруг огня.
Свойства
GeneralMapObject является пустым объектом-заготовкой и не содержит специальных свойств.
Свойства компонент, входящих в состав SDK, подробно описаны в обзоре компонент объектов.
class Entity
Components- - Список прикрепляемых компонент.
LogicClass - Ссылка на класс редактора логики. Подробнее о работе с классами редактора логики.
Tags - Пользовательская информация. Представляется списком пар вида ключ — значение. Используется для нужд разработчика.
Type - Тип объекта. Не подлежит изменению.
class MapObject
Position - Позиция объекта на карте.
Rotation - Поворот объекта. Углы поворота задаются в градусах.
Scale - Масштабирование объекта.
Map Editor
AutoVerticalAlignment - Режим автоматического выравнивания по высоте. Позволяет выбрать значение из четырех вариантов: None (нет выравнивания), ByBounds (по габаритам), ByBoundsWithRotation (по габаритам с возможным поворотом), ByCenter (по центру).
Layer - Слой карты, к которому принадлежит данный объект.