Форматы файлов — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Pihan13 (обсуждение | вклад) |
|||
Строка 47: | Строка 47: | ||
Также, советую ознакомится со [[Теория модостроения|статьей]] Empro. | Также, советую ознакомится со [[Теория модостроения|статьей]] Empro. | ||
+ | |||
+ | ==Форматы игровых уровней== | ||
+ | Практически все файлы x-ray используют такую структуру. | ||
+ | |||
+ | во-вторых, смотрите исходники x-ray game asset tools. ни разу не аутентичный источник, но более-менее проверен практикой. | ||
+ | |||
+ | в-третьих, несколько фраз по каждому файлу (по состоянию чн). | ||
+ | |||
+ | ====level.==== | ||
+ | IFF-секции верхнего уровня: | ||
+ | |||
+ | заголовок с версией xrLC и качеством сборки (high/draft/custom). | ||
+ | |||
+ | таблица пар текстура/engine shader. | ||
+ | |||
+ | побитая на кусочки и структурированная в виде дерева (-ьев, если есть разбиение на секторы) геометрия. вершин, индексов нет! | ||
+ | только ссылки на level.geom/geomx. | ||
+ | |||
+ | порталы. | ||
+ | |||
+ | источники света (преимущественно для R1). | ||
+ | |||
+ | отблески (glow). | ||
+ | |||
+ | секторы. | ||
+ | |||
+ | ====level.cform==== | ||
+ | геометрия для просчёта коллизий. немного упрощая: в зависимости от параметров compiler shader берётся подмножество исходной геометрии карты, автоматически огрубляется и сохраняется как набор треугольников с идентификатором материала из gamemtl.xr. | ||
+ | |||
+ | ====level.details==== | ||
+ | трава. собственно модели травы/гаек и таблица ячеек. в каждой -- что растёт, как освещено. | ||
+ | |||
+ | ====level.env_mod==== | ||
+ | локальные модификаторы погоды. | ||
+ | |||
+ | ====level.fog_vol==== | ||
+ | объёмный туман. смотрите на dx10 подземку агропрома или пыр-ролики gsc. | ||
+ | |||
+ | ====level.game==== | ||
+ | пути и места появления игроков в MP. но в действительности пути берутся из all.spawn. | ||
+ | |||
+ | ====level.geom==== | ||
+ | в файле три корневые секции: | ||
+ | |||
+ | 1) вершины (позиция, нормали, текстурные координаты и т.п.) в совершенно обычном для D3D9 формате. то есть про про SyncData забудьте, но смотрите D3DVERTEXELEMENT9, Vertex Declarations. | ||
+ | |||
+ | 2) индексы. опять же, D3D9. | ||
+ | |||
+ | 3) информация для плавной детализации геометрии (MU-модели). канонический для используемого алгоритма (SWPM) формат. | ||
+ | |||
+ | level.geomx | ||
+ | какая-то избыточная информация для R2/R3. подробнее не знаю. | ||
+ | |||
+ | level.hom | ||
+ | HOM уже сто раз разжевали, смотрите посты Сахарова и других. | ||
+ | |||
+ | level.ps_static | ||
+ | системы частиц. мухи, пар из труб и т.д. | ||
+ | |||
+ | level.snd_static | ||
+ | статические точечные источники звука. озвучка мух и т.п. | ||
+ | |||
+ | level.snd_env | ||
+ | объёмные источники звука. смотрите янтарь в тч, например. | ||
+ | |||
+ | level.spawn | ||
+ | тут всё понятно. игрой не учитывается -- ей важно содержимое соответствующей секции all.spawn. | ||
+ | |||
+ | level.wallmarks | ||
+ | декали. кровавые пятна, эмблемы группировок на стенах и т.п. и снова не учитывается, так как декали вшиты в основную геометрию. | ||
+ | |||
+ | build.lights | ||
+ | изначально источники света для xrLC. чн загружает оттуда секцию с hemi-освещением на r2/r3. зачем -- не знаю. | ||
+ | |||
+ | level.ai | ||
+ | сетка навигации ИИ. разжёвано. | ||
+ | |||
+ | level.som | ||
+ | геометрия для просчёта распространения звука. скажем, просмотр SOM-объектов в LE сразу выявит причину широко известных странностей с музыкой на l05_bar из тч. | ||
==Авторы== | ==Авторы== |
Версия 14:27, 22 мая 2010
Содержание
Основные форматы
Игра использует различные форматы файлов для своих ресурсов. Разберем их редактирование.
.ltx
Открывается Блокнотом, прост в редактировании.
.xml
Обычно используется для хранения текстовых массивов.
Открывается Блокнотом, но для удобного редактирования с подсветкой разметки лучше использовать Notepad++ (скачать).
.script
Открывается Блокнотом, но для удобного редактирования с подсветкой разметки лучше использовать Notepad++ (скачать).
.dds
Файл, содержащий текстуру.
Редактируется в Photoshop с установленным dds-плагином от Nvidia (скачать),
либо в свободном и бесплатном GIMP-е с плагином GIMP DDS Plugin
.ogm
Файл, содержащий видео. Звуковая дорожка должна идти отдельно, в виде звукового файла формата ogg (см.ниже)
Редактируется через любой видео редактор при наличии экспорта в OGM. При отсутствии расширений конвертируется либо конвертерами, либо при помощи программы VirtualDub.
.ogg
Файл, содержащий звук.
Редактируется через любой звуковой редактор при установленном ogg-плагине.
.ogf
Файл, содержащий игровую модель.
Открывается с помощью OGF Viewer (сайт, скачать).
.spawn
Файл, хранящий данные о спавне.
Редактируется через программу xrSpawner (скачать).
Дополнительно
Также, советую ознакомится со статьей Empro.
Форматы игровых уровней
Практически все файлы x-ray используют такую структуру.
во-вторых, смотрите исходники x-ray game asset tools. ни разу не аутентичный источник, но более-менее проверен практикой.
в-третьих, несколько фраз по каждому файлу (по состоянию чн).
level.
IFF-секции верхнего уровня:
заголовок с версией xrLC и качеством сборки (high/draft/custom).
таблица пар текстура/engine shader.
побитая на кусочки и структурированная в виде дерева (-ьев, если есть разбиение на секторы) геометрия. вершин, индексов нет! только ссылки на level.geom/geomx.
порталы.
источники света (преимущественно для R1).
отблески (glow).
секторы.
level.cform
геометрия для просчёта коллизий. немного упрощая: в зависимости от параметров compiler shader берётся подмножество исходной геометрии карты, автоматически огрубляется и сохраняется как набор треугольников с идентификатором материала из gamemtl.xr.
level.details
трава. собственно модели травы/гаек и таблица ячеек. в каждой -- что растёт, как освещено.
level.env_mod
локальные модификаторы погоды.
level.fog_vol
объёмный туман. смотрите на dx10 подземку агропрома или пыр-ролики gsc.
level.game
пути и места появления игроков в MP. но в действительности пути берутся из all.spawn.
level.geom
в файле три корневые секции:
1) вершины (позиция, нормали, текстурные координаты и т.п.) в совершенно обычном для D3D9 формате. то есть про про SyncData забудьте, но смотрите D3DVERTEXELEMENT9, Vertex Declarations.
2) индексы. опять же, D3D9.
3) информация для плавной детализации геометрии (MU-модели). канонический для используемого алгоритма (SWPM) формат.
level.geomx какая-то избыточная информация для R2/R3. подробнее не знаю.
level.hom HOM уже сто раз разжевали, смотрите посты Сахарова и других.
level.ps_static системы частиц. мухи, пар из труб и т.д.
level.snd_static статические точечные источники звука. озвучка мух и т.п.
level.snd_env объёмные источники звука. смотрите янтарь в тч, например.
level.spawn тут всё понятно. игрой не учитывается -- ей важно содержимое соответствующей секции all.spawn.
level.wallmarks декали. кровавые пятна, эмблемы группировок на стенах и т.п. и снова не учитывается, так как декали вшиты в основную геометрию.
build.lights изначально источники света для xrLC. чн загружает оттуда секцию с hemi-освещением на r2/r3. зачем -- не знаю.
level.ai сетка навигации ИИ. разжёвано.
level.som геометрия для просчёта распространения звука. скажем, просмотр SOM-объектов в LE сразу выявит причину широко известных странностей с музыкой на l05_bar из тч.
Авторы
Статья создана: BAC9-FLCL
Редактирование: Pihan13