IPB

Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

 
>

Разбор форматов

, Тема для обсуждения различных форматов игровых файлов

 
 Pavel_Blend
сообщение 28.06.2018, 19:30
Сообщение #21


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



andreyholkin, спасибо за ссылку на плагины к блендеру. Где ты их нашёл? Там и два моих аддона есть. Мне просто год назад надоел сталкер и я с дуру удалил репозитории с гитхаба со своими импортёрами. А потом у меня жесткий диск сломался и я утерял локальные копии импортёров (среди которых были и те, что в твоём архиве). Теперь хоть что-то сохранилось и я перезалью на гитхаб. Правда я не рекомендую пользоваться этими импортёрами, так как в них нету экспорта. Они дороги для меня как память. На них я учился писать импорты для блендера.

Зато есть более полноценный плагин от igelbox: https://github.com/igelbox/blender-xray
Перейти в начало страницы
 
 
 Expropriator
сообщение 28.06.2018, 19:42
Сообщение #22


Опытный Геймер
*******

Группа: Участник
Сообщений: 172
Регистрация: 07.08.2015
Пользователь №: 22230



Pavel_Blend, я Плюшкин. У меня тема в ВК основана на подобном контенте.
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 28.06.2018, 21:44
Сообщение #23


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



Цитата(Pavel_Blend @ 28.06.2018, 17:01) *
Как это реализовано в конвертере бардака? В каком файле исходников xray_re_tools код, который фильтрует двойные полигоны?

Нашёл где это выполняется. Это файл xray_re\xr_mesh_builder.cxx в функции remove_back_faces Кто нибудь может перевести эту функцию в псевдо код? Или там всё сложно?
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 01.07.2018, 18:49
Сообщение #24


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



Я не могу понять одной вещи в ogf. В ogf есть чанк 0xf, который хранит Bone Parts. Если конвертером Бардака перегнать в object модели npc из ТЧ, то у них будет три Bone Parts: legs, torso, head. Но если эти же ogf модели npc я импортирую в blender, то у них нету даже чанка 0xf. Откуда конвертер Бардака берёт информацию о Bone Parts, если данные ogf не имеют чанка 0xf? Примером такой модели может служить meshes\actors\hero\stalker_exoskeleton.ogf

Кстати, только что возникло предположение, что чанк 0xf может существовать только тогда, когда ogf имеет анимации. Иначе (если используются motion reference) данный чанк хранится в omf файле, который использует данная модель.

Хотя если это так, то не пойму, как конвертер находит omf файл, если я перемещаю converter.exe и ogf файл в произвольную папку и не копирую в неё fsconverter.ltx?
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 01.07.2018, 20:39
Сообщение #25


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



Какие-то чудеса происходят. Такое ощущение, что конвертер из воздуха эти bone parts сохраняет. Удалил все omf анимации из сдк. По идее они хранят всю информацию о bone parts. Потом сконвертировал ogf с npc и в открываю в СДК, а у этого object файла есть три bone parts: head, legs, torso. Как так они сохранились? Я даже открывал ogf в Notepad++ и искал по ключевым словам head, legs, torso и ничего не нашлось.
Перейти в начало страницы
 
 
 -StalkMen-
сообщение 02.07.2018, 23:43
Сообщение #26


Продвинутый геймер
********

Группа: Участник
Сообщений: 217
Регистрация: 27.10.2010
Пользователь №: 14152



Pavel_Blend,
Бон парты могут быть взяты из "нулевой" (те индекс 0) анимации.

Пора изучить С++ (IMG:style_emoticons/default/wink.gif) будет в разы проще ковырять форматы.

Сообщение отредактировал -StalkMen- - 02.07.2018, 23:45
Перейти в начало страницы
 
 
 Орхетектор
сообщение 03.07.2018, 09:12
Сообщение #27


Почти Мастер
***********

Группа: Модератор
Сообщений: 1065
Регистрация: 05.05.2012
Пользователь №: 14751



Цитата(Pavel_Blend @ 01.07.2018, 22:39) *
Какие-то чудеса происходят. Такое ощущение, что конвертер из воздуха эти bone parts сохраняет.

Надо смотреть исходники конвертера, возможно эти данные откуда-то из другого места берутся или захардкожены.

Цитата(-StalkMen- @ 03.07.2018, 01:43) *
Пора изучить С++

Для того чтобы разобрать семантику программы не обязательно изучать язык на котором она написана. Изучать исходники сталкера можно и так, достаточно запомнить некоторые ключевые слова и базовые конструкции языка.
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 08.07.2018, 11:37
Сообщение #28


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



Кто нибудь подскажет про формат level.geom? В нём хранятся вершинные буферы. И вопрос: как устроено вертексное освещение? Я пока знаю, что оно представляет из себя 4 байта. Но не могу понять, за что отвечает каждый байт. В каком формате хранится это освещение: rgbx, gbrx, brgx, ... (где x - неизвестный байт)?
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 08.07.2018, 12:12
Сообщение #29


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



Кое в чём разобрался. Существует два вида вершинного освещения: цветное и не цветное. С цветным разобрался. Оно хранится в виде BGRX, где X не используется. А не цветное вертексное освещение хранится в 4 байтах, где последние два байта не используются. Вопрос: что нужно сделать с первыми двумя байтами, чтобы получить значение освещённости в диапазоне 0.0 - 1.0? Если разделить на 2^16 - 1, то получается слишком тёмное освещение, почти чёрное.
Перейти в начало страницы
 
 
 SkyLoader
сообщение 08.07.2018, 12:13
Сообщение #30


Продвинутый геймер
********

Группа: Участник
Сообщений: 479
Регистрация: 03.05.2012
Пользователь №: 14742



Pavel_Blend, RGB освещение и в альфе sun компонент - это состав тех 4-х байтов для геометрии с вертексным освещением.

Сообщение отредактировал SkyLoader - 08.07.2018, 12:43
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 08.07.2018, 12:45
Сообщение #31


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



SkyLoader, не получается так. Я в блендер импортирую и получается совсем левое освещение. То вертексное освещение, которое я не могу разобрать имеет тип D3DDECLTYPE_SHORT4. Первые два SHORT - это текстурные координаты, а вторые два SHORT - это вертексное освещение. Вот не могу понять как освещение устроено.
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 08.07.2018, 13:07
Сообщение #32


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



D3DDECLTYPE_SHORT4 используется для MU объектов.

Сообщение отредактировал Pavel_Blend - 08.07.2018, 13:07
Перейти в начало страницы
 
 
 SkyLoader
сообщение 08.07.2018, 13:20
Сообщение #33


Продвинутый геймер
********

Группа: Участник
Сообщений: 479
Регистрация: 03.05.2012
Пользователь №: 14742



Цитата(Pavel_Blend @ 08.07.2018, 12:45) *
То вертексное освещение, которое я не могу разобрать имеет тип D3DDECLTYPE_SHORT4.

А, так бы и сказал. Я думал, ты с обычной статикой разбираешься, а ты про MU. Да, сначала идут текстурные координаты. Затем следующие два байта - это рассчитанное short число для шейдера деревьев, чтобы оно двигалось при ветре, другие два байта не юзаются.

Сообщение отредактировал SkyLoader - 08.07.2018, 13:26
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 08.07.2018, 13:37
Сообщение #34


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



Цитата(SkyLoader @ 08.07.2018, 14:20) *
это рассчитанное short число для шейдера деревьев, чтобы оно двигалось при ветре

а за что именно это число отвечает? Степень колыхания от ветра? Чем выше к верхушке дерева, тем больше значение short?

П. С. я сделал для себя открытие: удалил все лайт мапы с уровня и заметил, что у MU моделей на статике освещение генерируется в реалтайме в зависимости от позиции солнца. Как бы динамическое освещение (sun и hemi коэффициенты динамические, не запечённые).
Перейти в начало страницы
 
 
 SkyLoader
сообщение 08.07.2018, 14:00
Сообщение #35


Продвинутый геймер
********

Группа: Участник
Сообщений: 479
Регистрация: 03.05.2012
Пользователь №: 14742



Цитата(Pavel_Blend @ 08.07.2018, 13:37) *
а за что именно это число отвечает? Степень колыхания от ветра? Чем выше к верхушке дерева, тем больше значение short?

Да

Цитата(Pavel_Blend @ 08.07.2018, 13:37) *
П. С. я сделал для себя открытие: удалил все лайт мапы с уровня и заметил, что у MU моделей на статике освещение генерируется в реалтайме в зависимости от позиции солнца. Как бы динамическое освещение (sun и hemi коэффициенты динамические, не запечённые).

Было бы странно применять для MU объектов лайтмапы, здесь бы больше подошло вертексное, а не лайтмап освещение. А так, для MU рассчитывается общее освещение для модели и сохраняется в отдельном чанке. Потом оно применяется при освещении.
Перейти в начало страницы
 
 
 buffy
сообщение 08.07.2018, 14:23
Сообщение #36


Ветеран
*****

Группа: Участник
Сообщений: 90
Регистрация: 05.11.2017
Пользователь №: 28310



Цитата(Pavel_Blend @ 08.07.2018, 13:37) *
MU моделей

А что это вообще? Типа модель для которой нужно создание лод текстуры?
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 08.07.2018, 15:06
Сообщение #37


Геймер
******

Группа: Участник
Сообщений: 118
Регистрация: 12.11.2012
Пользователь №: 15200



buffy, MU - Multiple Usage объект. То есть деревья, транспорт, камни и т. д. Это те объекты, меши которых будут использоваться многократно для разных визуалов. Например, тополей на кордоне много, но они используют один MU объект. Для них создаются лоды.
Перейти в начало страницы
 
 
 buffy
сообщение 08.07.2018, 16:09
Сообщение #38


Ветеран
*****

Группа: Участник
Сообщений: 90
Регистрация: 05.11.2017
Пользователь №: 28310



Цитата(Pavel_Blend @ 08.07.2018, 15:06) *
меши которых будут использоваться многократно для разных визуалов

Разве это не одно и тоже?
Перейти в начало страницы
 
 
 
 

 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 17.07.2018, 06:27