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

Материал из SkyXEngine wiki
Перейти к: навигация, поиск
м (Статическая геометрия)
(Растительность)
Строка 23: Строка 23:
 
==Растительность==
 
==Растительность==
  
растительность - автоматически анимированная статическая геометрия уровня, которой присущи элементарные анимации. Неподвижна (в плане перемещения, поворотов, масштабирования) и неизменяема в течении все игры. Представляет из себя деревья/кусты/траву. Является сложной сущностью. Рисуется при помощи hardware instancing.
+
Растительность - автоматически анимируемая статическая геометрия уровня, которой присущи элементарные анимации. Неподвижна (в плане перемещения, поворотов, масштабирования) и неизменяема в течении все игры. Представляет из себя деревья/кусты/траву. Является сложной сущностью. Рисуется при помощи hardware instancing.
 +
 
 +
Деревья и кусты являются однотипными объектами, для них необходимо наличие основной модели и двух лодов. Такие объекты рисуются на всю дистанцию видимости:
 +
*модель рисуется на самом ближнем расстоянии
 +
*первый лод рисуется после модели
 +
*третий лод рисуется после второго лода до конца видимости
 +
 
 +
Трава имеет только одну модель и не может иметь лоды. Трава рисуется только на первой дистанции, причем с уменьшением по дальности - чем дальше объект от наблюдателя тем меньше его масштаб. При перемещении по уровню с травой, можно увидеть как трава появляется и увеличивается при уменьшении расстояния до нее.
 +
 
 +
==Игровые объекты==
  
 
Игровые объекты - динамические объекты уровня, которые могут быть изменены в любой момент игры. Присущи анимации, перемещения, повороты. Является сложной сущностью. Рисуется прямым рендером с реализацией скелетной анимации на стороне шейдеров.
 
Игровые объекты - динамические объекты уровня, которые могут быть изменены в любой момент игры. Присущи анимации, перемещения, повороты. Является сложной сущностью. Рисуется прямым рендером с реализацией скелетной анимации на стороне шейдеров.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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