Skip to content

Smoothing

PavelBlend edited this page May 6, 2024 · 3 revisions



Описание

Эта страница описывает сглаживание для меш-объектов в движке X-Ray.



Типы сглаживания

В движке X-Ray есть три типа сглаживания:

  • Сглаживание, реализованное на уровне треугольников (Smooth Groups). Аналог групп сглаживания в 3DS Max.
  • Сглаживание, реализованное на уровне рёбер (Sharp Edges/Smooth Edges). Аналог острых/мягких рёбер в Blender и Maya.
  • Сглаживание, реализованное за счёт нормалей вершин (Vertex Normals). Аналог Split Normals в Blender.



Форматы сглаживания

В движке X-Ray есть четыре формата сглаживания:

  1. Max-формат для *.object файлов для X-Ray SDK 0.4. Имеет тип Smooth Groups и реализован в виде 32-битной маски. Каждый бит указывает одну группу сглаживания. Каждая группа сглаживания может занимать только один бит маски, из-за чего максимальное количество групп равно 32. Нет возможности задать не замкнутые границы сглаживания. Подробнее: Параметр Smoothing Groups Mask, Не поддерживается Max-формат сглаживания.

  2. Maya-формат для *.object файлов для X-Ray SDK 0.4. Имеет тип Smooth Groups и реализован в виде 32-битных индексов групп. Каждая группа имеет уникальный номер. Количество групп не ограничено. Так же, как и Max формат, не имеет возможности сохранить не замкнутые границы сглаживания. Если при экспорте в *.object меш-объект будет иметь не замкнутые контуры сглаживания, то аддон выдаст предупреждение Maya-SG incompatible и не сохранит сглаживание для незамкнутых контуров. Это означает, что не сглаженное ребро в blender после экспорта станет сглаженным.

  3. Clear Sky/Call of Pripyat формат для X-Ray SDK 0.5, 0.6, 0.7. Имеет тип Sharp Edges. Границы сглаживания указываются с помощью рёбер. Возможно указать не замкнутые границы сглаживания, в отличие от Max/Maya сглаживания, которое имеет замкнутые контуры.

  4. Внутриигровой формат сглаживания для *.ogf и игровых скомпилированных уровней. Имеет тип Vertex Normals. При создании *.ogf или игровых уровней, вершины сохраняются так, чтобы каждая вершина имела только одну нормаль. Границы сглаживания указываются с помощью направления нормалей. Если нормали вершин ребра направлены в одну сторону, то граница между полигонами ребра будет сглажена. Этот формат позволяет сохранять не только границы сглаживания, но и направление нормалей, что даёт больший контроль над сглаживанием.



Неофициальные форматы сглаживания

В аддоне есть возможность сохранить Vertex Normals в формат *.object. Официальный X-Ray SDK не поддерживает хранение такого сглаживания в *.object. Чтобы сохранить это сглаживание при экспорте *.object в *.ogf, нужно использовать неофициальные программы (например, Object Editor).



Форматы файлов

Форматы файлов поддерживают такие форматы сглаживания:

  • *.object - 1, 2, 3 и неофициальный Vertex Normals.
  • *.ogf - 4.
  • level/level.geom - 4.
  • *.dm - не поддерживает сглаживание.
  • *.details - не поддерживает сглаживание.



Сглаживание в Blender

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

  • Smooth Edges/Sharp Edges - если ребро помечено с помощью Edge > Mark Sharp, то оно станет острым (Sharp Edge). Если не помечено, то будет сглаженным (Smooth Edge).

  • Smooth Faces/Flat Faces - если полигон помечен с помощью Face > Shade Flat, то он станет плоским. Если помечен с помощью Face > Shade Smooth, то будет сглаженным.

  • Split Normals - позволяет указать направление нормалей для сглаживания. Включить отображение нормалей можно здесь: 01

  • Smooth Angle - позволяет автоматически рассчитать сглаживание для рёбер (Sharp Edges), по углу между полигонами. Угол задаётся здесь: 02



Использование сглаживания

В некоторых случаях при экспорте аддон не учитывает некоторые типы сглаживания, настроенные в blender. Подробнее:















































Содержание

Clone this wiki locally