Документация/Типы объектов/Base/StaticMesh.type
From NeoAxis Engine Wiki
| Language: | Status: | Approved |
Описание
Практически в любом проекте, на карте существует множество статичных объектов. К примеру туннели, отдельные комнаты, коридоры, камни, башни, здания и т.д. Существует два способа размещения такого рода объектов:
- С помощью StaticMesh.type.
- С помощью создания игрового объекта (.type файл) и размещения его на карте.
У каждого способа есть свои плюсы и минусы.
1. Нет необходимости в создании специального типа для размещаемого объекта. Вы просто размещаете модель (.mesh файл) на карте и настраиваете параметры для каждого размещенного объекта. Этот способ хорош для создания больших статичных объектов (здания, геометрия комнат и т.д.).
2. Во втором способе, необходимо сначала создать игровой объект (.type файл). Плюс данного способа в том, что вы можете настроить параметры объекта один раз и потом просто размещать объекты на карте. Необходимые свойства уже будут настроены. Также, если вы планируете добавить к этому объекту интерактивности (например менять какие-либо параметры в реальном времени), то лучше сразу использовать этот способ. Урок по созданию игрового объекта.
Здесь будет рассмотрен первый способ.
Создание
Загрузите редактор карт. В редакторе карт загрузите TankDemo. Перед собой вы видите несколько моделей деревьев. Попробуем разместить еще одно.
Для этого перейдем в Types > Base и выберем StaticMesh.
При это станет видно окно Entity Creation, в котором мы можем найти все модели, доступные нам для размещения через StaticMesh.
Раскроем список и перейдем в Maps > TankDemo > Resources > Meshes > Trees. В этой папке мы видим 2 вида деревьев, доступных для размещения на карте. Выберем TankDemoTree01.mesh.
Как мы видим, к курсору вместо белого кубика присоединилась модель дерева. Кликнем левой кнопкой мыши по месту, на котором мы хотим разместить дерево.
Теперь давайте разрешим дереву отбрасывать тени от динамических источников света. Для этого кликнем по дереву левой кнопкой мыши. Мы увидим, что стали доступны свойства этого объекта.
Выберем параметр CastDynamicShadows и поменяем в выпадающем меню False на True. Теперь наше дерево отбрасывает тень не только от статичных источников освещения, но и от динамических. Остается только нажать на кнопку Сохранить и завершить размещение и редактирование нового объекта StaticMesh.
Свойства
| Название | Описание |
|---|---|
| AlignmentMethod | Позволяет настроить автоматическое выравнивание объекта относительно поверхности. Доступны 3 положения: By Bounds - выравнивает объекты по габаритам, By Bounds With Rotation - Производит выравнивание по габаритам а также при этом меняет ориентацию, чтобы выровнить объект на негоризонтальной поверхности, By Center - устанавливает объект и при этом выравнивает его по его центру. |
| Layer | Позволяет выбрать/узнать слой, в котором размещен объект. |
| Position | Позволяет посмотреть/отредактировать положение объекта на карте. |
| Rotation | Позволяет посмотреть/отредактировать ориентацию объекта на карте. |
| Scale | Позволяет растянуть/увеличить/уменьшить объект. |
| AllowDecals | Позволяет/запрещает прикрепление декалей к данному объекту. Если запрещено, то декали не будут отображаться на объекте (к примеру, следы от пуль, взрывов). |
| СastDynamicShadows | Позволяет включить/выключить генерацию динамических теней об этого объекта. |
| СastStaticShadows | Позволяет включить/выключить генерацию статических (лайтмап) теней об этого объекта. |
| Collision | Позволяет включить/выключить просчет столкновений с объектом. Если выключено, то другие физические тела (например персонажи) будут проходить сквозь объект. |
| СollisionMaterialName | Физический материал. Позволяет выбрать из 4 значений - Metal, Wood, Rubber, Ice. Данный параметр влияет на свойства взаимодействия физических тел. К примеру, если поставить на карту ящик, выставить в параметре Ice и подойти к нему и толкнуть, то он будет кататься и скользить как по льду. |
| СollisionSpecialMeshName | Данный параметр позволяет заменить геометрию столкновений для данного объекта. Может использоваться для облегчения просчета сложных физических объектов. Если указать другой меш, то при столкновениях будет просчитываться именно он, а виден будет меш, указанный в параметре MeshName. |
| ForceMaterial | Позволяет задать другой материал для объекта. |
| MeshName | Имя файла меша. |
| RecieveStаticShedows | Позволяет рисовать тени на данном объекте. Если параметр включен, то тени, отбрасываемые другим объектами будут рисоваться на данном объекте. |
| RenderingDistance | Позволяет указать дистанцию, после которой объект будет не виден. При значении 0 будет прорисовываться всегда. |
| RenderQueueGroup | Определяет очередь рендеринга объекта относительно других объектов. |
| SplitGeometry | Позволяет автоматически разрезать меш на маленькие куски размером SplitGeometrySize. Это позволяет менеджеру сцены лучше отсекать геометрию, не попавшую в экран. Используется для больших объектов (типа комнат, зданий, внутри которых находится персонаж). |
| SplitGeometryPieceSize | Позволяет указать размер ячеек разрезания. Чем выше значение, тем ячейки крупнее. См. SplitGeometry. |