Форматы файлов — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Форматы файлов — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(Форматы игровых уровней)
Строка 100: Строка 100:
 
3) информация для плавной детализации геометрии (MU-модели). канонический для используемого алгоритма (SWPM) формат.
 
3) информация для плавной детализации геометрии (MU-модели). канонический для используемого алгоритма (SWPM) формат.
  
level.geomx
+
====level.geomx====
 
какая-то избыточная информация для R2/R3. подробнее не знаю.
 
какая-то избыточная информация для R2/R3. подробнее не знаю.
  
level.hom
+
====level.hom====
 
HOM уже сто раз разжевали, смотрите посты Сахарова и других.
 
HOM уже сто раз разжевали, смотрите посты Сахарова и других.
  
level.ps_static
+
====level.ps_static====
 
системы частиц. мухи, пар из труб и т.д.
 
системы частиц. мухи, пар из труб и т.д.
  
level.snd_static
+
====level.snd_static====
 
статические точечные источники звука. озвучка мух и т.п.
 
статические точечные источники звука. озвучка мух и т.п.
  
level.snd_env
+
====level.snd_env====
 
объёмные источники звука. смотрите янтарь в тч, например.
 
объёмные источники звука. смотрите янтарь в тч, например.
  
level.spawn
+
====level.spawn====
 
тут всё понятно. игрой не учитывается -- ей важно содержимое соответствующей секции all.spawn.
 
тут всё понятно. игрой не учитывается -- ей важно содержимое соответствующей секции all.spawn.
  
level.wallmarks
+
====level.wallmarks====
 
декали. кровавые пятна, эмблемы группировок на стенах и т.п. и снова не учитывается, так как декали вшиты в основную геометрию.
 
декали. кровавые пятна, эмблемы группировок на стенах и т.п. и снова не учитывается, так как декали вшиты в основную геометрию.
  
build.lights
+
====build.lights====
 
изначально источники света для xrLC. чн загружает оттуда секцию с hemi-освещением на r2/r3. зачем -- не знаю.
 
изначально источники света для xrLC. чн загружает оттуда секцию с hemi-освещением на r2/r3. зачем -- не знаю.
  
level.ai
+
====level.ai====
 
сетка навигации ИИ. разжёвано.
 
сетка навигации ИИ. разжёвано.
  
level.som
+
====level.som====
 
геометрия для просчёта распространения звука. скажем, просмотр SOM-объектов в LE сразу выявит причину широко известных странностей с музыкой на l05_bar из тч.
 
геометрия для просчёта распространения звука. скажем, просмотр SOM-объектов в LE сразу выявит причину широко известных странностей с музыкой на l05_bar из тч.
  

Версия 19:38, 27 мая 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.

Форматы игровых уровней

Основа: http://ru.wikipedia.org/wiki/Interchange_File_Format

Практически все файлы 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

Другие места
LANGUAGE