Formats - PavelBlend/blender-xray GitHub Wiki
В данной таблице указаны X-Ray форматы файлов, которые может импортировать/экспортировать аддон.
| Расширение | Описание | Импорт | Экспорт |
|---|---|---|---|
| .object | Исходные объекты | Да | Да |
| .skl | Скелетная анимация | Да | Да |
| .skls | Скелетные анимации | Да | Да |
| .ogf | Скомпилированные объекты | Да | Да |
| .omf | Скомпилированные скелетные анимации | Да | Да |
| .anm | Анимационные пути | Да | Да |
| .bones | Данные костей | Да | Да |
| .dm | Детальные модели эффектов | Да | Да |
| .details | Детальные модели уровней | Да | Да |
| .level | Список выделенных объектов сцены | Да | Да |
| level | Игровые уровни | Да | Да |
| .part | Объекты сцены | Да | Да |
| .group | Группы объектов | Да | Да |
| .err | Ошибки геометрии | Да | Нет |
Данные файлы предназначены для X-Ray SDK, чтобы хранить 3D контент в исходном несжатом виде без потерь данных. Являются исходными файлами, которые хранят информацию до компиляции в другие игровые сжатые форматы. Один *.object файл может хранить:
- меши, которые хранятся только в виде треугольников (четырёхугольники и многоугольники не поддерживаются). Во время экспорта аддон сохраняет геометрию в виде треугольников, даже если объект имеет четырёхугольники и многоугольники. Делать триангуляцию мешей перед экспортом не нужно.
- один и более мешей, если не имеет скелета и только один меш, если имеет скелет
- один и более материалов
- скелет может отсутствовать, а может хранится в количестве одного
- скелет может хранить минимум 1, максимум 64 кости (при большем количестве костей, невозможно сделать экспорт в
*.ogfчерезActor Editor) - скелетных анимаций может не быть, а может хранится одна и более анимаций
- скелетные анимации не поддерживают
Scaleключей - возможности и ограничения анимаций такие же, как у
*.skl/*.sklsформата. - каждый меш может иметь один и более материалов
- каждый меш должен иметь одну
UVразвёртку - каждый материал может хранить только одну текстуру
Эти файлы хранят скелетные анимации. Формат хранения анимаций в *.skl/*.skls аналогичен формату анимаций, встроенных в *.object файлы. Анимации хранятся в несжатом виде. Данные о движении костей при экспорте из 3D редактора сохраняются без потерь. Эти форматы предназначены для X-Ray SDK. Используются в качестве исходных файлов, которые компилируются в сжатые форматы для игры. Файлы *.skl/*.skls имеют такие возможности и ограничения:
- Анимации хранятся в виде 3 анимационных кривых для позиции и 3 кривых для вращения в углах Эйлера с порядком осей
ZXY. - Файл
sklsможет хранить одну и более анимаций - Файл
sklможет хранить только одну анимацию - Каждая анимация имеет игровые параметры.
- При импорте имя
sklанимации совпадает с именемsklфайла (имя, которое указано внутри самогоsklфайла, игнорируется) - Скелетные анимации не поддерживают
Scaleключей - Анимационные ключи поддерживают разные типы интерполяций:
Stepped,Linear,Bezier 1D,Bezier 2D,Hermite,TCB. При импорте в блендер все типы интерполяций, кромеSteppedиLinear, преобразуются вLinearключи без промежуточных кадров.
Скомпилированные 3D модели для игры. Файлы могут хранить скелет и анимации. Формат имеет следующие возможности и ограничения:
- Поддерживается хранение мешей без скелета и со скелетом.
- Скелет может быть только один.
- Количество костей от
1и не более64штук. - Кости имеют игровые параметры и шейпы для коллизии.
- Модели со скелетом могут иметь анимации или ссылки на внешние
*.omfфайлы с анимациями (Motion References). - Количество костей, которые могут влиять на вершину, может быть в таких пределах:
ТЧформат -1,2,ЧН/ЗП-1,2,3,4(при экспорте лишние отбрасываются и сохраняются только те веса, которые имеют наибольшие влияние). - Файл может хранить много материалов.
- Если при экспорте объект в блендере имеет много материалов, то он будет сохранён в
*.ogfразбитым на части так, что каждый отделённый меш будет иметь только один материал. Из-за этого у формата есть ограничение, которое описано ниже (см. следующий пункт). - Количество вершин, на которых строятся треугольники одного разделённого меша (см. предыдущий пункт), не может быть больше
65 536(так как номера вершин хранятся в2байтах). На практике, при создании объектов в блендере, нужно следить за тем, чтобы количество вершин одного материала было не больше65 536. - Сглаживание хранится в виде нормалей вершин. Благодаря этому, во время экспорта в
*.ogf, сохраняются не только границы групп сглаживания, но и направление нормалей. - Меш может иметь только одну
UVкарту. - Материал может иметь только одну текстуру.
- Есть поддержка хранения информации об упрощении геометрии в виде
Slide Window Items(на данный момент аддон не поддерживает экспорт этих данных, а во время импорта они игнорируются и не сохраняются). - Ограничения и возможности анимаций такие же, как у
*.omfформата.*.omfфайлы - это часть данных*.ogfфайла, но вынесены в отдельный внешний файл, чтобы можно было эти данные использовать сразу у большого количества*.ogfфайлов.
Скомпилированные скелетные анимации. Формат имеет такие возможности и ограничения:
- Трансформации костей хранятся в виде вектора позиции, с координатами
X,Y,Zи вращения в виде кватерниона с компонентамиW,X,Y,Z. - Позиция хранится в
8битах дляТЧформата, а для вЧН/ЗПформатов в8и16(если при экспорте включён параметр High Quality Motions) битах. - Анимации не поддерживают
Scaleключей. - Формат хранит данные о
Bone Parts. - Формат хранит параметры анимаций (
FPS,Speed,Falloffи т. д.).
Анимационные пути. Используется в игре и X-Ray SDK для анимаций камеры и анимационных путей для аномалий и других объектов. Формат имеет такие возможности и ограничения:
- Файлы хранят трансформации в виде анимационных ключей для позиции с координатами
X,Y,Zи вращения в углах Эйлера с компонентамиX,Y,Zи порядком осейYXZ. - Один файл может хранить только одну анимацию.
- Анимационные ключи имеют такие типы интерполяций:
Stepped,Linear,Bezier 1D,Bezier 2D,Hermite,TCB. При импорте в блендер все типы интерполяций, кромеSteppedиLinear, преобразуются вLinearключи без промежуточных кадров.
Хранит настройки костей. Используется в X-Ray SDK и является исходным форматом, который используется для облегчения настройки скелетов в *.object файлах. Формат имеет такие возможности и ограничения:
- Поддерживается сохранение информации о шейпах костей.
- Поддерживается сохранение
Bone Parts. - Трансформации костей не хранятся в этом формате. Хранятся только игровые настройки.
Файлы этого формата используются для эффектов погоды. Возможности и ограничения:
- Формат хранит только один меш.
- Меш может иметь только один материал.
- Меш может иметь только одну
UV-карту. - Количество вершин должно быть не более
65 536. - Не поддерживается информация о сглаживании.
Формат хранит информацию о траве на локации. Возможности и ограничения:
- Модели травы хранятся в формате
dm. Ограничения и возможности аналогичны. - Максимальное количество моделей травы равно
63. - Формат хранит слоты, которые представлены в виде параллелепипедов, которые указывают, где может расти трава.
- Ширина и длина слота равны
2.0метра. - Максимальная высота слота равна
25.5метров. - Минимальная координата слота по оси
Zравна-200.0метров. - Максимальная координата слота по оси
Zравна619.0метров. - Слоты имеют информацию об освещении: тени от солнца, статичные источники света, hemi освещение.
- К одному слоту может быть привязано от
0до4моделей растительности.
Список выделенных объектов из Level Editor, которые сохранены во внешний файл.
- Хранит относительные ссылки на
*.objectфайлы из папкиrawdata\objects. - Геометрию не содержит.
Скомпилированные игровые уровни. В некоторых версиях формата, данные уровня хранятся в нескольких файлах: level, level.geom, level.geomx (для импорта не используется), level.cform. Возможности и ограничения:
- Хранит визуальную геометрию в формате
*.ogf. Ограничения и возможности аналогичны файлам*.ogfбез скелета. - Один меш может хранить только один материал.
- Формат хранит визуальную геометрию, геометрию для коллизии, сектора, порталы, динамические источники света, glow-объекты.
Исходный файл локации, который хранит список статичных объектов на уровне. Обычно имеет имя scene_object.part. Возможности и ограничения аналогичны формату *.level.
Исходный файл, который хранит список статичных объектов в группе. Группы могут быть добавлены на уровень в Level Editor. Возможности и ограничения аналогичны формату *.level.
Список ошибок компиляции Invalid Faces. Хранит только битые полигоны.