Документация/Типы объектов/Base/DecorativeObjectManager.type
From NeoAxis Engine Wiki
| Language: | Status: | Approved |
Contents |
Менеджер декоративных объектов
Предназначение
Менеджер декоративных объектов разработан для упрощения создания на карте декоративных объектов (таких, как трава или камни). С его помощью вы можете "закрашивать" нужные участки сцены растительностью, но его не рекомендуется использовать для размещения крупных объектов, таких, как деревья.
Работа с редактором
Используя данный редактор можно заполнить растительностью практически любую поверхность (скажем Ландшафт (HeightmapTerrain) или статичную модель (StaticMesh)). Хотя, вероятнее всего вам придется добавлять растительность именно на ландшафт (HeightmapTerrain). Рассмотрим, как это можно сделать.
Перед использованием менеджера декоративных объектов создадим на карте ландшафт. Итак, добавляем на карту HeightmapTerrain и из той-же папки (Types\Base) создадим DecorativeObjectManager. Оба созданных объекта появились в окне объекты на карте (Map Entities). Выбираем в списке DecorativeObjectManager отметив галочку, в окне свойств (Properties) появились параметры менеджера декоративных объектов.
Никаких специальных настроек в окне свойств у менеджера декоративных объектов нет, но в нижней части окна Properties появилась кнопка Edit, нажав которую мы увидим главное окно редактора декоративных объектов.
Добавление декоративных объектов
В окне редактора вы увидите 6 готовых декоративных объектов. Это два типа травы (GrassGreen и GrassBrown), два типа цветов (FlowerWhite и FlowerYellow), один набор камней (DecorativeStones) и еще один тип растительности (Ear).
Выбрав один из декоративных элементов и переместив курсор в рабочее окно, мы увидим зеленую окружность вокруг курсора. Нажав на левую кнопку мыши над ландшафтом мы увидим несколько объектов выбранного типа, появившихся в рамках окружности.
Вы можете настроить радиус окружности изменяя параметр Radius в окне редактора декоративных объектов, это можно сделать перемещая ползунок или введя необходимое значение в поле над ползунком и нажав Enter. Кроме того, можно воспользоваться стрелками (вверх и вниз) в правой части поля значения радиуса.
Удаление декоративных элементов
Чтобы удалить выбранный тип декоративных объектов, необходимо выбрать их в списке редактора и сменить инструмент (Tool) с Paint на Clear. Нажмите левую кнопку мыши над зоной, которую вы хотите очистить от данного типа декоративных объектов или зажмите левую кнопку и перемещайте курсор, чтобы очистить большую зону.
Совет: Для быстрого переключения между режимами рисования (Paint) и стирания (Clear) объектов - используйте клавишу Shift.
Примечание: Инструмент очистки стирает только выбранный в данный момент тип объектов! В случае, если вы хотите стереть другой тип декоративных объектов - выберите их в списке.
Список добавленных на карту декоративных объектов
Вторая вкладка редактора называется Created.
В этой вкладке мы видим список всех декоративных объектов, помещенных на карте и их количество. Все объекты сгруппированы по типам. Выделив группу объектов, вы можете совершить одно из следующих действий:
| Действие | Описание |
|---|---|
| Update | Позволяет пересчитать позицию (высоту) всех объектов данного типа и изменить случайным образом их размер и угол поворота. |
| Delete All | Кнопка позволяет удалить с карты все объекты выбранного типа. |
Создание новых типов декоративных объектов
Если вы хотите создать свой тип декоративных объектов, вам необходимо запустить редактор ресурсов. Все готовые декоративные объекты находятся в папке /Data/Types/DecorativeObjects, хорошим решением будет создание новых элементов в этой-же папке.
Декоративные объекты состоят из одного или более .mesh файла, соответственно, вам нужна модель вашего объекта, текстура и материал. Для целей данного урока, мы будем использовать уже готовые камни, заменив их текстуру.
Создайте модель в 3d редакторе (например 3D Studio Max или Maya), экспортируйте ее в формат .mesh, создайте и присвойте модели материал (файл .highMaterial). Более подробные инструкции по созданию модели и материала смотрите здесь: Экспорт моделей из Autodesk 3ds Max и Обзор редактора материалов.
Когда у нас есть текстурированные модели в формате .mesh и они расположены в папке /Data/Types/DecorativeObjects - нажмите на этой папке правой кнопкой и выберите New Resource.
В окне создания нового ресурса (New Resource) выберите Entity Type и нажмите продолжить (Continue). В следующем окне назовите ваш объект и выберите для него класс DecorativeObject.
Созданный объект появился в папке. Войдите в режим редактирования, кликнув на нем дважды.
Параметры
Давайте взглянем на окно свойств (Properties):
| Параметр | Описание |
|---|---|
| BatchSize | Размер группы генерируемых объектов, для графического процессора. |
| CastShadows | Значение True означает, что модель будет отбрасывать тень.
Примечание: большое количество объектов, отбрасывающих тень, заметно снижает производительность. Используйте с осторожностью. |
| DestroyBatchOnDistance | Если параметр имеет значение True, то группы объектов невидимые в данный момент будут выгружаться из памяти и генерироваться только попав в область видимости. Очень полезный параметр, для экономии памяти. |
| DistanceBetweenObjects | Параметр определяет минимальное расстояние, между соседними объектами, размещаемыми на карте. |
| Items | Здесь вы указываете используемые файлы моделей (.mesh). |
| ScaleRange | Диапазон размеров. Позволяет задать диапазон для масштабирования объектов, помещаемых на карту. Если установить значения "1 1", то размеры объектов не будут изменены. |
| StoreObjectsPositionInVertices | Параметр добавляет в геометрию объектов канал с позициями декоративных объектов. Это используется для материала растительности (VegetationMaterial), чтобы реализовать эффект покачивания на ветру. Позиции сохраняются в канале вершин, Semantic: TextureCoordinates, Index: 4. |
| VisibilityDistance | Определяет расстояние видимости. Объекты, находящиеся дальше указанного расстояния от камеры не будут прорисовываться. Значение 0 означает, что объект будет прорисовываться всегда. |
| AllowEditorCreate | Установив значение параметра в True вы позволите его создание в редакторе карт (Map Editor). |
| AllowEmptyName | В значении True позволяет объекту существовать без имени. |
| ClassInfo | Параметр отображает класс, к которому принадлежит объект. Поле не редактируется вручную. |
| Name | Отображает имя объекта. Поле не редактируется. |
| NetworkType | Здесь вы можете указать тип сетевого взаимодействия для данного объекта. Доступные параметры: NotSynchronized - не синхронизирован, ServerOnly - только на серверной стороне, ClientOnly - только на клиентской стороне и Synchronized - синхронизирован. |
Для добавления .mesh файлов к данному декоративному объекту - нажмите на иконку Browse, обозначенную тремя точками, возле параметра Items. Откроется редактор групп объектов (Item Collection Editor). Нажмите на кнопку Add (Добавить), выберите параметр MeshName в правой части редактора. Откроется еще одно окно, позволяющее выбрать .mesh файл.
Второй параметр - Probability. Параметр означает вероятность появления именно этой модели среди остальных, когда вы добавляете данный декоративный объект на карту. Значение по умолчанию - 1, чем выше значение, тем выше вероятность генерации данной модели. Вы можете добавить несколько моделей в коллекцию или убрать их из коллекции, при необходимости. Нажмите OK, когда вы закончите добавлять модели в данный декоративный объект. При необходимости подкорректируйте остальные настройки объекта. Ваш собственный декоративный объект готов к использованию в редакторе карт.





