Объекты игрового мира — различия между версиями

Материал из SkyXEngine wiki
Перейти к: навигация, поиск
м (Игровые объекты)
Строка 44: Строка 44:
  
 
==Игровые объекты==
 
==Игровые объекты==
 +
 +
''Основная статья [[Игровые объекты]]''.
  
 
'''Игровые объекты''' - динамические объекты уровня, которые могут быть изменены в любой момент игры. Присущи анимации, перемещения, повороты.  
 
'''Игровые объекты''' - динамические объекты уровня, которые могут быть изменены в любой момент игры. Присущи анимации, перемещения, повороты.  

Версия 16:34, 11 декабря 2018

Основные объекты игрового мира делятся на:

  • статическую геометрию
  • растительность
  • игровые объекты

Статическая геометрия

Статическая геометрия (сокр. 'статика') - неподвижная (не трансформируемая и не анимированная) геометрия уровня, которая не изменяется в течении всей игры. Как правило она составляет большую часть уровня (здания, ландшафт, прочее). Является простейшей сущностью. Рисуется обычным рендером.

Может состоять из множества моделей (объекты расставляются в редакторе уровней), либо из одной целой (модель собирается 3d редакторе, а затем загружается в редакторе уровней).

Модели должны быть формата dse экспортированные как статические модели.

Каждая модель имеет:

  • имя (name) (опционально) - для идентификации пользователем в редакторе уровня
  • трансформации (position - позиция, rotation - повороты, scale - масштаб)
  • лод (LOD - level of detail)(опционально) - упрощенная модель, которая рисуется на дальних от наблюдателя расстояниях в целях экономии вычислительных ресурсов
  • физическая модель (physics)(опционально) - упрощенная модель для просчетов физики
  • свойство сегментации (segmentation) (опционально) - деление модели на куски, с целью экономии вычислений при рендере. Применяется в случаях если модель является объемной в плане габаритов и количества полигонов (модель 100х100х100 метров в 100 000 полигонов надо загружать, устанавливая свойство сегментации).

Отличие лода от физической модели заключается в том, что лод может значительно отличатся в плане расположения полигонов, его цель заключается в максимальном визуальном сходстве с исходной моделью на расстоянии, а в физической модели полигоны обязательно должны быть максимально схожи с расположением в исходной модели, но в то же время должно быть упрощение. Иными словами цель лода - визуальное сходство, цель физической модели - физическое сходство.

Статическая геометрия поддерживает обработку полупрозрачных поверхностей. При загрузке модели в редактор уровней, библиотека статической геометрии извлекает все полупрозрачные подгруппы, дополнительно извлекая из них замкнутые фигуры, формируя при этом зависимые (от основной модели) модели. То есть, информация о полупрозрачности должна быть известна еще до загрузки модели в редактор уровней, а именно полупрозрачный материал на статической геометрии должен быть настроен.

Для статической геометрии применяются соответствующие шейдеры материалов.

Растительность

Растительность - автоматически анимируемая статическая геометрия уровня, которой присущи элементарные анимации. Неподвижна (в плане перемещения, поворотов, масштабирования) и неизменяема в течении все игры. Представляет из себя деревья/кусты/траву. Является сложной сущностью. Рисуется при помощи hardware instancing.

Для рендера растительности существует 3 дистанции рендера:

  1. 50 метров от наблюдателя
  2. от 50 до 100 метров до наблюдателя
  3. от 100 метров до наблюдателя и до конца видимости

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

  • модель рисуется на первой дистанции
  • первый лод рисуется на второй дистанции
  • третий лод рисуется на третьей дистанции

Трава имеет только одну модель и не может иметь лоды. Трава рисуется только на первой дистанции, причем с уменьшением по дальности, начиная с 30 метров и до 50 объекты уменьшаются от 100% до 0%. При перемещении по уровню с травой, можно увидеть как трава появляется и увеличивается при уменьшении расстояния до нее.

Только вершинные шейдеры определяют как рисовать объекты: либо как деревья/кусты, либо как траву (с уменьшением по дальности). Поэтому при установке шейдеров материалам, необходимо удостоверится, что шейдер рисует объект так как предполагается (например стандартные шейдеры материалов).

Игровые объекты

Основная статья Игровые объекты.

Игровые объекты - динамические объекты уровня, которые могут быть изменены в любой момент игры. Присущи анимации, перемещения, повороты.

Игровые объекты могут быть:

Другие объекты

Также свой вклад в итоговый игровой мир вносят:

См. также: