Level.som — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Level.som — различия между версиями

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

Перейти к: навигация, поиск
м (Pavel переименовал страницу Формат файлов *.som в Level.som)
Строка 1: Строка 1:
== Описание ==
+
Перед прочтением данной статьи, прочтите эту статью: <br>[[Бинарные файлы]]
som - sound occluder mesh. Отсекает громкость звука на уровне. Представляет из
+
 
себя меш. Находятся эти файлы в gamedata\levels\имя_уровня\level.som
+
==Описание==
 +
SOM - sound occluder mesh.
 +
 
 +
Отсекает громкость звука на уровне.
 +
 
 +
Представляет из себя меш.
 +
 
 +
Находятся эти файлы в gamedata\levels\имя_уровня\level.som
 +
 
 
Используется для того, чтобы сквозь стены, потолки, полы и т.д. звук проходил с разной силой.
 
Используется для того, чтобы сквозь стены, потолки, полы и т.д. звук проходил с разной силой.
  
== Версии ==
+
==Версии==
Версии формата SOM
+
  
 
Билды 749-2008 - отсутствует
 
Билды 749-2008 - отсутствует
Строка 11: Строка 18:
 
Билд 2205-ЗП - 0
 
Билд 2205-ЗП - 0
  
== Блоки ==
+
==Блоки==
 
Состоит из двух блоков:
 
Состоит из двух блоков:
  
0x0 - версия формата
+
{| class="standard"
 +
|-
 +
!Идентификатор блока||Размер (в байтах)||Описание
 +
|-
 +
|0x0||4||заголовок (содержит информацию о версии формата)
 +
|-
 +
|0x1||количество полигонов * 44||координаты вершин и свойства полигонов
 +
|-
 +
|}
 +
 
 +
Структура файла схожа с *.hom
 +
 
 +
==Описание блоков==
 +
===Блок 0x0 (заголовок)===
 +
{| class="standard"
 +
|-
 +
!Тип||Описание
 +
|-
 +
|I||версия формата
 +
|-
 +
|}
 +
 
 +
===Блок 0x1 (данные меша)===
 +
{| class="standard"
 +
|-
 +
!Тип||Описание
 +
|-
 +
|fff||3D координаты первой вершины треугольника
 +
|-
 +
|fff||3D координаты второй вершины треугольника
 +
|-
 +
|fff||3D координаты третьей вершины треугольника
 +
|-
 +
|I||опция "two sided"
 +
|-
 +
|f||параметр "Sound Occlusion"
 +
|-
 +
|}
 +
 
 +
Возможные значения опции "two sided": 0x0, 0x1.
 +
 
 +
Если 0x1, то полигон будет отсекать звук с двух сторон, а если 0x0, то только с лицевой.
  
0x1 - полигоны
+
Параметр "Sound Occlusion" указывает, какая доля громкости звука будет слышна.
  
== Описание блоков ==
+
Значение зависит от материала объекта SOM до компиляции.
===Блок 0x0===
+
Номер версии - 4 байтовое целое беззнаковое число (во всех файлах 0x0)
+
  
===Блок 0x1===
+
Величина данного параметра прописана в материалах и находится в Shader Editor>Material>Item Properties>Factors>Sound Occlusion.
Содержит координаты вершин и параметры полигонов.
+
  
Данные для одного треугольника:
+
Возможные значения 0.0 - 1.0
  
Первые 36 байтов - координаты x, y, z для трёх вершин одного треугольника (4 байта на одну координату). Каждая координата - дробное число.
+
Индексы полигонов не сохраняются, но их легко можно сгенерировать, так как все вершины сохранены так, что индексы полигонов расположены в порядке возрастания.
Следующие 4 байта - опция 2 sided. Если 0x1, то полигон будет отсекать звук с двух сторон, а если 0x0, то только с лицевой.
+
Дальше идёт дробное число (4 байта), которое указывает, какая доля громкости звука будет слышна. Значение зависит от присвоенного материала. Величина данного параметра прописана в материалах и находится в Shader Editor>Material>Item Properties>Factors>Sound Occlusion. Возможные значения 0.0 - 1.0
+
  
Размер всего блока 0x1 равен количеству треугольников * 44.
+
Первый треугольник будет таким: 0, 1, 2, второй: 3, 4, 5, третий: 6, 7, 8 и т.д.
  
 
[[Участник: Pavel]]
 
[[Участник: Pavel]]
 
[[Категория:Форматы файлов]]
 
[[Категория:Форматы файлов]]

Версия 17:01, 18 декабря 2016

Перед прочтением данной статьи, прочтите эту статью:
Бинарные файлы

Описание

SOM - sound occluder mesh.

Отсекает громкость звука на уровне.

Представляет из себя меш.

Находятся эти файлы в gamedata\levels\имя_уровня\level.som

Используется для того, чтобы сквозь стены, потолки, полы и т.д. звук проходил с разной силой.

Версии

Билды 749-2008 - отсутствует

Билд 2205-ЗП - 0

Блоки

Состоит из двух блоков:

Идентификатор блока Размер (в байтах) Описание
0x0 4 заголовок (содержит информацию о версии формата)
0x1 количество полигонов * 44 координаты вершин и свойства полигонов

Структура файла схожа с *.hom

Описание блоков

Блок 0x0 (заголовок)

Тип Описание
I версия формата

Блок 0x1 (данные меша)

Тип Описание
fff 3D координаты первой вершины треугольника
fff 3D координаты второй вершины треугольника
fff 3D координаты третьей вершины треугольника
I опция "two sided"
f параметр "Sound Occlusion"

Возможные значения опции "two sided": 0x0, 0x1.

Если 0x1, то полигон будет отсекать звук с двух сторон, а если 0x0, то только с лицевой.

Параметр "Sound Occlusion" указывает, какая доля громкости звука будет слышна.

Значение зависит от материала объекта SOM до компиляции.

Величина данного параметра прописана в материалах и находится в Shader Editor>Material>Item Properties>Factors>Sound Occlusion.

Возможные значения 0.0 - 1.0

Индексы полигонов не сохраняются, но их легко можно сгенерировать, так как все вершины сохранены так, что индексы полигонов расположены в порядке возрастания.

Первый треугольник будет таким: 0, 1, 2, второй: 3, 4, 5, третий: 6, 7, 8 и т.д.

Участник: Pavel

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